Commit 2d97dcce by Huang Linyu

Merge branch 'f-6.6.5' into release

parents 87ea927d ad6d33c1
......@@ -67,6 +67,7 @@ import com.ctrip.fun.admin.service.system.UserService;
import com.ctrip.fun.admin.service.tag.TagService;
import com.ctrip.fun.admin.service.tools.ToolsService;
import com.ctrip.fun.admin.service.tour.TourBasicService;
import com.ctrip.fun.admin.utility.SpringSecurityUtil;
import com.ctrip.fun.admin.utility.Util;
import com.ctrip.fun.admin.vo.product.AsmCourseResourceBeanv1;
import com.ctrip.fun.admin.vo.product.InventoryResizeBean;
......@@ -1153,11 +1154,13 @@ public class JsonController {
for (String id : ids) {
if (!StringUtils.isEmpty(id)) {
bean.setResourceId(Integer.parseInt(id));
bean.setUpdateUser(SpringSecurityUtil.getCurrentUserName());
if (!courseResourceService.setPrice(request.getAttribute("userName").toString(), bean)) {
throw new Exception("批量设置定价异常");
}
inventoryBean.setResourceId(Integer.parseInt(id));
inventoryBean.setUpdateUser(SpringSecurityUtil.getCurrentUserName());
inventoryBean.setResourceCategory(ResourceCategoryEnum.COURSE.getValue());
courseResourceService.setInventory(request.getAttribute("userName").toString(), inventoryBean);
......@@ -1222,6 +1225,7 @@ public class JsonController {
CourseResourceStatusBean bean = new CourseResourceStatusBean();
bean.setResourceStatus(resourceStatus);
bean.setResourceIds(rids);
bean.setUpdateUser(SpringSecurityUtil.getCurrentUserName());
if (!courseResourceService.setStatus(request.getAttribute("userName").toString(), bean)) {
throw new Exception("批量设置资源状态异常");
}
......
......@@ -38,6 +38,7 @@ import com.ctrip.fun.admin.service.golf.CourseResourceService;
import com.ctrip.fun.admin.service.golf.CourseService;
import com.ctrip.fun.admin.service.operation.ResourceOpInfoService;
import com.ctrip.fun.admin.service.system.UserService;
import com.ctrip.fun.admin.utility.SpringSecurityUtil;
import com.ctrip.fun.admin.validator.IntegerEditor;
import com.ctrip.fun.admin.validator.InventoryValidator;
import com.ctrip.fun.admin.vo.product.TeeTimeSelectBean;
......@@ -338,7 +339,8 @@ public class CourseResourceController {
form.setStartTeeTime(form.getStartTeeTimeDisplay());
form.setEndTeeTime(form.getEndTeeTimeDisplay());
BeanConverter.copyProperties(bean, form);
String currentUserName = SpringSecurityUtil.getCurrentUserName();
bean.setUpdateUser(currentUserName);
service.update(request.getAttribute("userName").toString(), bean);
if (returnPage == null){
returnPage = "0";
......@@ -441,13 +443,16 @@ public class CourseResourceController {
if (null != priceId) {
ResourcePriceBean bean = service.getPrice("", priceId);
BeanConverter.copyProperties(form, bean);
Date[] theDate = new Date[1];
theDate[0]=bean.getPriceDate();
form.setTheDate(theDate);
// Date[] theDate = new Date[1];
// theDate[0]=bean.getPriceDate();
// form.setTheDate(theDate);
model.put("theDate", bean.getPriceDate());
}
CourseResourceBean bean = service.get("", resourceId);
int paymentType = bean.getPaymentType();
model.put("form", form);
model.put("paymentType", paymentType);
model.put("id", priceId);
model.put("action", "/golf/course-resource/price/edit");
......@@ -463,6 +468,8 @@ public class CourseResourceController {
ResourcePriceBean bean = new ResourcePriceBean();
BeanConverter.copyProperties(bean, form);
bean.setResourceCategory(ResourceCategoryEnum.COURSE.getValue());
String currentUserName = SpringSecurityUtil.getCurrentUserName();
bean.setUpdateUser(currentUserName);
service.setPrice(request.getAttribute("userName").toString(), bean);
return String.format("redirect:/golf/course-resource/price?resourceId=%d", bean.getResourceId());
}
......@@ -478,7 +485,8 @@ public class CourseResourceController {
ResourceInventoryBean bean = service.getInventory("", inventoryId);
BeanConverter.copyProperties(form, bean);
form.setTheDate(bean.getTheDate());
// form.setTheDate(bean.getTheDate());
model.put("theDate", bean.getTheDate()[0]);
}
......@@ -498,6 +506,8 @@ public class CourseResourceController {
ModelMap model) {
ResourceInventoryBean bean = new ResourceInventoryBean();
BeanConverter.copyProperties(bean, form);
String currentUserName = SpringSecurityUtil.getCurrentUserName();
bean.setUpdateUser(currentUserName);
bean.setResourceCategory(ResourceCategoryEnum.COURSE.getValue());
service.setInventory(request.getAttribute("userName").toString(), bean);
return String.format("redirect:/golf/course-resource/price?resourceId=%d", resourceId);
......
package com.ctrip.fun.admin.controller.order;
import java.io.IOException;
import java.io.Serializable;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.ParseException;
......@@ -33,6 +34,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
import com.ctrip.fun.admin.exception.CommonException;
import com.ctrip.fun.admin.form.PaginationForm;
import com.ctrip.fun.admin.form.operation.SupplierForm;
import com.ctrip.fun.admin.form.order.CourseOrderQueryForm;
import com.ctrip.fun.admin.form.order.OrderPayForm;
import com.ctrip.fun.admin.form.order.OrderPlayer;
......@@ -46,7 +48,9 @@ import com.ctrip.fun.common.core.util.BeanConverter;
import com.ctrip.fun.common.core.util.DateUtil;
import com.ctrip.fun.common.vo.CurrencyTypeEnum;
import com.ctrip.fun.common.vo.PagedResponseBean;
import com.ctrip.fun.common.vo.Response;
import com.ctrip.fun.common.vo.basic.VoucherBean;
import com.ctrip.fun.common.vo.operation.SupplierBean;
import com.ctrip.fun.common.vo.order.CourseOrderBean;
import com.ctrip.fun.common.vo.order.CourseOrderListBean;
import com.ctrip.fun.common.vo.order.CourseOrderListExcelBean;
......@@ -57,11 +61,13 @@ import com.ctrip.fun.common.vo.order.OfflinePayTypeEnum;
import com.ctrip.fun.common.vo.order.OpCourseOrderBean;
import com.ctrip.fun.common.vo.order.OpOrderQuery;
import com.ctrip.fun.common.vo.order.OrderCategoryEnum;
import com.ctrip.fun.common.vo.order.OrderItemSupplierBean;
import com.ctrip.fun.common.vo.order.OrderMenuEnum;
import com.ctrip.fun.common.vo.order.OrderNotifyEnum;
import com.ctrip.fun.common.vo.order.OrderPayinfoBean;
import com.ctrip.fun.common.vo.order.OrderProcessEnum;
import com.ctrip.fun.common.vo.order.OrderProcessLogBean;
import com.ctrip.fun.common.vo.order.OrderQuery;
import com.ctrip.fun.common.vo.order.OrderResourceBean;
import com.ctrip.fun.common.vo.order.OrderResourceQuery;
import com.ctrip.fun.common.vo.order.OrderSourceEnum;
......@@ -72,6 +78,7 @@ import com.ctrip.fun.common.vo.product.CourseTeeTimeQuery;
import com.ctrip.fun.common.vo.product.GetAsmResourcePriceRequestQuery;
import com.ctrip.fun.common.vo.product.GetAsmResourcePriceResponseBean;
import com.ctrip.fun.common.vo.product.ProductPaymentTypeEnum;
import com.ctrip.fun.common.vo.riskcontrol.OrderItemParameterDTO;
import com.ctrip.fun.common.vo.user.UserExtBean;
import freemarker.ext.beans.BeansWrapper;
......@@ -912,6 +919,8 @@ public class OpCourseOrderController extends AbstractOpOrderController<CourseOrd
List<CourseTeeTimeBean> courseTeeTimeList = orderResourceService.getTeeTime(userId, courseTeeTimeQuery);
return courseTeeTimeList;
}
/**
*
......@@ -1005,6 +1014,14 @@ public class OpCourseOrderController extends AbstractOpOrderController<CourseOrd
list.add(status);
return list;
}
@RequestMapping(value = "/updateOrderSupplier", method = RequestMethod.POST)
public @ResponseBody Response<Integer> updateOrderItemSupplier(OrderItemSupplierBean supplierBean) throws Exception {
Response<Integer> response = opCourseOrderService.updateOrderItemSupplier(supplierBean);
return response;
}
/**
* 暂存订单(无需支付,直接下单或走继续支付订单).
......@@ -1162,7 +1179,7 @@ public class OpCourseOrderController extends AbstractOpOrderController<CourseOrd
orderResource.setResourceName(resource.getResourceName());
orderResource.setSalePrice(salePrice);
orderResource.setTeeTime(resource.getTeeTime().toString());
orderResource.setCashRebate(BigDecimal.valueOf(resource.getCashRebate()));
List<CourseOrderResourceBean> orderResourceList = new ArrayList<CourseOrderResourceBean>();
orderResourceList.add(orderResource);
......@@ -1200,7 +1217,7 @@ public class OpCourseOrderController extends AbstractOpOrderController<CourseOrd
}
// offline支付不支持返现
placeOrder.setCashRebate(null);
placeOrder.setCashRebate(BigDecimal.valueOf(resource.getCashRebate()*playerList.size()));
switch (resource.getPaymentType()) {
case 1: // 预付
......
package com.ctrip.fun.admin.service.order;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
......@@ -21,6 +22,8 @@ import com.ctrip.fun.common.vo.order.CourseOrderListExcelBean;
import com.ctrip.fun.common.vo.order.CourseOrderProcessBean;
import com.ctrip.fun.common.vo.order.OpCourseOrderBean;
import com.ctrip.fun.common.vo.order.OpOrderQuery;
import com.ctrip.fun.common.vo.order.OrderItemSupplierBean;
import com.ctrip.fun.common.vo.order.OrderProcessBean;
import com.ctrip.fun.common.vo.order.OrderResourceBean;
import com.ctrip.fun.common.vo.order.OrderResourceQuery;
import com.ctrip.fun.common.vo.order.PlaceOrderResponseBean;
......@@ -210,5 +213,23 @@ public class OpCourseOrderService extends AbstractOpOrderService<CourseOrderProc
throw new Exception(response.getMessage());
}
}
/**
* 更新订单中的供应商
* @param supplierBean
* @throws Exception
*/
public Response<Integer> updateOrderItemSupplier(OrderItemSupplierBean supplierBean) throws Exception {
String uri = super.getServiceUri("uri.order.updateOrderItemSupplier");
uri = uri.replace("{orderType}", this.getOrderType());
Request<OrderItemSupplierBean> request = new Request<OrderItemSupplierBean>("", supplierBean);
HttpEntity<Request<OrderItemSupplierBean>> entity = new HttpEntity<Request<OrderItemSupplierBean>>(request);
Response<Integer> response = super.exchange(uri, HttpMethod.POST, entity, new ParameterizedTypeReference<Response<Integer>>() {
}).getBody();
return response;
}
}
......@@ -57,6 +57,7 @@ uri.order.changeCustomerInfo=/fun-golf-service/courseOrder/changeCustomerInfo
uri.order.settle=/fun-golf-service/{orderType}/settle
uri.order.getOrderStatusFromCtrip=/fun-golf-service/{orderType}/getOrderStatusFromCtrip
uri.order.updateOnlineOrderFlag=/fun-golf-service/{orderType}/updateOnlineOrderFlag
uri.order.updateOrderItemSupplier=/fun-golf-service/{orderType}/updateOrderItemSupplier
# tourOrder
uri.tourOrder.changeCustomerInfo=/fun-golf-service/tourOrder/changeCustomerInfo
......
......@@ -70,7 +70,7 @@
url: "/j/supplier/list",
type: "get",
data: {
supplierName: $("#modalSupplierName1").val()
supplierName: $("#modalSupplierName").val()
},
success: function (obj) {
var template = Handlebars.compile($("#table_template_supplier").html());
......
......@@ -55,8 +55,17 @@
<div class="long_content_div control-group ">
<label class="control-label" for="theDate">时间</label>
<div class="controls" style="">
<input id="theDate" name="theDate" value="" placeholder="时间" class="datepicker input-medium" required="" type="text" />
<#if id??>
<input id="theDate" name="theDate" value='${(theDate?string("yyyy-MM-dd"))!}' placeholder="时间" title="时间" class="datepicker input-medium" required="" type="text" />
<div class="pp" style="background-image:url(${staticServer}/pic/calendar.jpg);width: 40px;height: 30px;">
<#else>
<input id="theDate" name="theDate" value='' placeholder="时间" title="时间" class="datepicker input-medium" required="" type="text" />
<div class="pp" style="background-image:url(${staticServer}/pic/calendar.jpg);width: 40px;height: 30px;">
</#if>
<!--
<input id="theDate" name="theDate" value="${(theDate?string("yyyy-MM-dd"))!}" placeholder="时间" class="datepicker input-medium" required="" type="text" />
<div class="pp" style="background-image:url(${staticServer}/pic/calendar.jpg);width: 40px;height: 30px;"> -->
</div>
</div>
</div>
......
......@@ -82,9 +82,10 @@ $(function () {
<label class="control-label" for="theDate">时间</label>
<div class="controls" style="">
<#if id??>
<input id="theDate" name="theDate" value="${form.theDate??}" placeholder="时间" class="datepicker input-medium" required="" type="text" />
<input id="theDate" name="theDate" value='${(theDate?string("yyyy-MM-dd"))!}' placeholder="时间" title="时间" class="datepicker input-medium" required="" type="text" />
<div class="pp" style="background-image:url(${staticServer}/pic/calendar.jpg);width: 40px;height: 30px;">
<#else>
<input id="theDate" name="theDate" value="" placeholder="时间" class="datepicker input-medium" required="" type="text" />
<input id="theDate" name="theDate" value='' placeholder="时间" title="时间" class="datepicker input-medium" required="" type="text" />
<div class="pp" style="background-image:url(${staticServer}/pic/calendar.jpg);width: 40px;height: 30px;">
</#if>
......
......@@ -3,12 +3,12 @@
<div class = "div-contact">
<table class="table-font table table-bordered table-striped">
<tr>
<th colspan=3>球场联系人</th>
<th colspan=3>球场联系人 <button class="btn" onclick="openSupplierModel();">编辑</button></th>
</tr>
<tr>
<td>Num</td><td>联系人姓名</td><td>联系人电话 / 工作时间</td>
</tr>
<tr>
<tr id="courseContactor">
<td>1</td><td>${orderBean.courseContactName}</td><td>${orderBean.courseContactPhone} / ${(orderBean.courseWorkTime)!}</td>
</tr>
</table>
......@@ -61,6 +61,44 @@
<div class = "div-detail-right">
<#include "../common/orderProcessLog.ftl">
</div>
<div class="modal hide fade bs-example-modal-lg" id="supplierModal" style="width:800px;">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h3>查询供应商</h3>
</div>
<div class="modal-body">
<div class="input-append">
<input type="text" name="supplierName" id="modalSupplierName" value="" placeholder="供应商名称" class="input-medium" />
<button id="J_query_supplier_Btn" class="btn" data-toggle="modal" >查询</button>
</div>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>供应商名称</th>
<th>联系人</th>
<th>联系人电话</th>
<th style="text-align: center;"><i class="icon-wrench"></i></th>
</tr>
</thead>
<tbody id="supplierList">
</tbody>
</table>
<div class="pagination pagination-mini">
<ul>
</ul>
</div>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
</div>
</div>
<script src="${staticServer}/js/lib/jquery-1.9.1.min.js">
</script>
<script>
......@@ -140,5 +178,52 @@
}
function openSupplierModel(){
$("#supplierModal").modal('show');
}
$(function(){
$('#J_query_supplier_Btn').click(function () {
$.ajax({
url: "/j/supplier/list",
type: "get",
data: {
supplierName: $("#modalSupplierName").val()
},
success: function (obj) {
var template = Handlebars.compile($("#table_template_supplier").html());
$('#supplierList').html(template(obj));
}
});
});
$("#supplierList").on("click", "#J_supplierSelctorBtn", function () {
var contact = $(this).data('contact');
var contactPhone = $(this).data('contactPhone');
var workTime = $(this).data('workTime');
//将供应商信息保存到订单数据中
var orderId = $("#orderId").val();
$.post("/order/updateOrderSupplier",{"orderId":orderId,"supplierId":$(this).data('id'),"supplierName":$(this).data('supplierName')},function(data){
if(data.status==0){
var contactorHtml="<td>1</td><td>"+contact+"</td><td>"+contactPhone +" / "+ workTime +"</td>";
$('#courseContactor').html(contactorHtml);
$('#supplierModal').modal('hide');
}
});
})
});
</script>
<script id="table_template_supplier" type="text/x-handlebars-template">
{{#each body}}
<tr>
<td><a href="/golf/supplier/edit?id={{id}}" target="_blank">{{name}}</a></td>
<td>{{contact}}</td><td>{{contactPhone}}</td>
<td style="padding:3px;"><a id="J_supplierSelctorBtn" data-id="{{id}}" data-contact="{{contact}}" data-contact-phone="{{contactPhone}}" data-work-time="{{workTime}}"
data-supplier-name="{{name}}" >选择</a></td>
</tr>
{{/each}}
</script>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment