Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
caosy
/
fun-admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
1db73949
authored
Nov 07, 2018
by
chongli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改开单人信息
parent
69138115
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
305 additions
and
2 deletions
src/main/java/com/ctrip/fun/admin/controller/JsonController.java
src/main/java/com/ctrip/fun/admin/service/market/CommuneExtService.java
src/main/java/com/ctrip/fun/admin/service/order/OpVoucherOrderService.java
src/main/resources/properties/service.properties
src/main/webapp/WEB-INF/templates/market/communeExt/activeCustomerList.ftl
src/main/webapp/WEB-INF/templates/voucherOrder/list/voucherOrderListAll.ftl
src/main/java/com/ctrip/fun/admin/controller/JsonController.java
View file @
1db73949
...
@@ -55,6 +55,7 @@ import com.ctrip.fun.admin.service.golf.CourseProductService;
...
@@ -55,6 +55,7 @@ import com.ctrip.fun.admin.service.golf.CourseProductService;
import
com.ctrip.fun.admin.service.golf.CourseResourceService
;
import
com.ctrip.fun.admin.service.golf.CourseResourceService
;
import
com.ctrip.fun.admin.service.golf.CourseService
;
import
com.ctrip.fun.admin.service.golf.CourseService
;
import
com.ctrip.fun.admin.service.golf.GameService
;
import
com.ctrip.fun.admin.service.golf.GameService
;
import
com.ctrip.fun.admin.service.market.CommuneExtService
;
import
com.ctrip.fun.admin.service.market.EventGameGroupService
;
import
com.ctrip.fun.admin.service.market.EventGameGroupService
;
import
com.ctrip.fun.admin.service.market.EventGamePlayerService
;
import
com.ctrip.fun.admin.service.market.EventGamePlayerService
;
import
com.ctrip.fun.admin.service.membership.CardTypeService
;
import
com.ctrip.fun.admin.service.membership.CardTypeService
;
...
@@ -64,6 +65,7 @@ import com.ctrip.fun.admin.service.notification.FollowingService;
...
@@ -64,6 +65,7 @@ import com.ctrip.fun.admin.service.notification.FollowingService;
import
com.ctrip.fun.admin.service.operation.SupplierService
;
import
com.ctrip.fun.admin.service.operation.SupplierService
;
import
com.ctrip.fun.admin.service.order.OpCourseOrderService
;
import
com.ctrip.fun.admin.service.order.OpCourseOrderService
;
import
com.ctrip.fun.admin.service.order.OpTourOrderService
;
import
com.ctrip.fun.admin.service.order.OpTourOrderService
;
import
com.ctrip.fun.admin.service.order.OpVoucherOrderService
;
import
com.ctrip.fun.admin.service.order.OrderCustomerService
;
import
com.ctrip.fun.admin.service.order.OrderCustomerService
;
import
com.ctrip.fun.admin.service.order.market.AdvertiserService
;
import
com.ctrip.fun.admin.service.order.market.AdvertiserService
;
import
com.ctrip.fun.admin.service.order.market.CampaignService
;
import
com.ctrip.fun.admin.service.order.market.CampaignService
;
...
@@ -126,6 +128,7 @@ import com.ctrip.fun.common.vo.order.CustomerBean;
...
@@ -126,6 +128,7 @@ import com.ctrip.fun.common.vo.order.CustomerBean;
import
com.ctrip.fun.common.vo.order.EventActivityOrderProcessBean
;
import
com.ctrip.fun.common.vo.order.EventActivityOrderProcessBean
;
import
com.ctrip.fun.common.vo.order.EventCustomerInfoBean
;
import
com.ctrip.fun.common.vo.order.EventCustomerInfoBean
;
import
com.ctrip.fun.common.vo.order.EventCustomerInfoQuery
;
import
com.ctrip.fun.common.vo.order.EventCustomerInfoQuery
;
import
com.ctrip.fun.common.vo.order.OpOrderQuery
;
import
com.ctrip.fun.common.vo.order.OrderProcessEnum
;
import
com.ctrip.fun.common.vo.order.OrderProcessEnum
;
import
com.ctrip.fun.common.vo.order.OrderProcessLogBean
;
import
com.ctrip.fun.common.vo.order.OrderProcessLogBean
;
import
com.ctrip.fun.common.vo.order.TourOrderListBean
;
import
com.ctrip.fun.common.vo.order.TourOrderListBean
;
...
@@ -163,6 +166,7 @@ import com.ctrip.fun.common.vo.statistics.query.OrderStatisticsByCourseIdQuery;
...
@@ -163,6 +166,7 @@ import com.ctrip.fun.common.vo.statistics.query.OrderStatisticsByCourseIdQuery;
import
com.ctrip.fun.common.vo.statistics.query.OrderStatisticsQuery
;
import
com.ctrip.fun.common.vo.statistics.query.OrderStatisticsQuery
;
import
com.ctrip.fun.common.vo.tour.TourBasicBean
;
import
com.ctrip.fun.common.vo.tour.TourBasicBean
;
import
com.ctrip.fun.common.vo.tour.TourBasicQuery
;
import
com.ctrip.fun.common.vo.tour.TourBasicQuery
;
import
com.ctrip.fun.common.vo.user.ActiveCustomerQuery
;
import
com.ctrip.fun.common.vo.user.OutsideUserBean
;
import
com.ctrip.fun.common.vo.user.OutsideUserBean
;
import
com.ctrip.fun.common.vo.user.TransferOutsideUserAmtBean
;
import
com.ctrip.fun.common.vo.user.TransferOutsideUserAmtBean
;
import
com.ctrip.fun.common.vo.user.UserBean
;
import
com.ctrip.fun.common.vo.user.UserBean
;
...
@@ -254,6 +258,12 @@ public class JsonController {
...
@@ -254,6 +258,12 @@ public class JsonController {
@Autowired
@Autowired
private
VoucherShareLogService
voucherShareLogService
=
null
;
private
VoucherShareLogService
voucherShareLogService
=
null
;
@Autowired
private
CommuneExtService
communeExtService
=
null
;
@Autowired
private
OpVoucherOrderService
opVoucherOrderService
=
null
;
@Value
(
"${imageEndpoint}"
)
@Value
(
"${imageEndpoint}"
)
private
String
imageEndpoint
;
private
String
imageEndpoint
;
...
@@ -1459,6 +1469,39 @@ public class JsonController {
...
@@ -1459,6 +1469,39 @@ public class JsonController {
}
}
return
response
;
return
response
;
}
}
@RequestMapping
(
value
=
"/activeCustomer/{activeCustomerId}/updateOpenOrderPerson"
,
method
=
RequestMethod
.
POST
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ResponseBody
public
Response
<
UserExtBean
>
updateActiveCustomerSales
(
HttpServletRequest
request
,
@PathVariable
Integer
activeCustomerId
,
@RequestParam
String
recommendPhone
)
{
Response
<
UserExtBean
>
response
=
new
Response
<
UserExtBean
>();
response
.
setStatus
(
ResponseStatusEnum
.
SUCCESS
.
getValue
());
response
.
setMessage
(
ResponseStatusEnum
.
SUCCESS
.
getMsg
());
ActiveCustomerQuery
query
=
new
ActiveCustomerQuery
();
query
.
setId
(
activeCustomerId
);
query
.
setSaleMobile
(
recommendPhone
);
communeExtService
.
updateOpenOrderPerson
(
request
.
getAttribute
(
"userName"
).
toString
(),
query
);
response
.
setBody
(
null
);
return
response
;
}
@RequestMapping
(
value
=
"/voucherOrder/{voucherOrderId}/updateOpenOrderPerson"
,
method
=
RequestMethod
.
POST
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ResponseBody
public
Response
<
UserExtBean
>
updateVoucherOrderSales
(
HttpServletRequest
request
,
@PathVariable
Integer
voucherOrderId
,
@RequestParam
String
recommendPhone
)
{
Response
<
UserExtBean
>
response
=
new
Response
<
UserExtBean
>();
response
.
setStatus
(
ResponseStatusEnum
.
SUCCESS
.
getValue
());
response
.
setMessage
(
ResponseStatusEnum
.
SUCCESS
.
getMsg
());
OpOrderQuery
query
=
new
OpOrderQuery
();
query
.
setOrderId
(
voucherOrderId
);
query
.
setRecommendPhone
(
recommendPhone
);
opVoucherOrderService
.
updateOpenOrderPerson
(
request
.
getAttribute
(
"userName"
).
toString
(),
query
);
response
.
setBody
(
null
);
return
response
;
}
@RequestMapping
(
value
=
"/advertisement/{pageId}"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/advertisement/{pageId}"
,
method
=
RequestMethod
.
GET
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ResponseBody
@ResponseBody
...
...
src/main/java/com/ctrip/fun/admin/service/market/CommuneExtService.java
View file @
1db73949
...
@@ -508,4 +508,20 @@ public class CommuneExtService extends BaseService {
...
@@ -508,4 +508,20 @@ public class CommuneExtService extends BaseService {
}
}
public
Response
<
Object
>
updateOpenOrderPerson
(
String
userId
,
ActiveCustomerQuery
params
)
{
String
uri
=
super
.
getServiceUri
(
"uri.communeExt.activeCustomer.updateOpenOrderPerson"
);
Request
<
ActiveCustomerQuery
>
request
=
new
Request
<
ActiveCustomerQuery
>(
userId
,
params
);
HttpEntity
<
Request
<
ActiveCustomerQuery
>>
entity
=
new
HttpEntity
<
Request
<
ActiveCustomerQuery
>>(
request
);
Response
<
Object
>
response
=
super
.
exchange
(
uri
,
HttpMethod
.
POST
,
entity
,
new
ParameterizedTypeReference
<
Response
<
Object
>>()
{
}).
getBody
();
return
response
;
}
}
}
src/main/java/com/ctrip/fun/admin/service/order/OpVoucherOrderService.java
View file @
1db73949
...
@@ -45,6 +45,24 @@ public class OpVoucherOrderService extends AbstractOpOrderService<VoucherOrderPr
...
@@ -45,6 +45,24 @@ public class OpVoucherOrderService extends AbstractOpOrderService<VoucherOrderPr
}
}
return
responseBean
;
return
responseBean
;
}
}
public
Integer
updateOpenOrderPerson
(
String
userId
,
OpOrderQuery
query
)
{
String
uri
=
super
.
getServiceUri
(
"uri.voucherOrder.updateOpenOrderPerson"
);
Integer
result
=
null
;
Request
<
OpOrderQuery
>
request
=
new
Request
<
OpOrderQuery
>(
userId
,
query
);
HttpEntity
<
Request
<
OpOrderQuery
>>
entity
=
new
HttpEntity
<
Request
<
OpOrderQuery
>>(
request
);
Response
<
Integer
>
response
=
super
.
exchange
(
uri
,
HttpMethod
.
POST
,
entity
,
new
ParameterizedTypeReference
<
Response
<
Integer
>>()
{
}).
getBody
();
if
(
response
.
getStatus
()
==
0
)
{
result
=
response
.
getBody
();
}
else
{
logger
.
error
(
String
.
format
(
"[获取订单列表] status: %d, msg: %s"
,
response
.
getStatus
(),
response
.
getMessage
()));
}
return
result
;
}
@Override
@Override
public
OpVoucherOrderBean
getDetail
(
String
userId
,
Integer
orderId
)
{
public
OpVoucherOrderBean
getDetail
(
String
userId
,
Integer
orderId
)
{
...
...
src/main/resources/properties/service.properties
View file @
1db73949
...
@@ -67,6 +67,8 @@ uri.order.getOrderStatusFromCtrip=/fun-golf-service/{orderType}/getOrderStatusFr
...
@@ -67,6 +67,8 @@ uri.order.getOrderStatusFromCtrip=/fun-golf-service/{orderType}/getOrderStatusFr
uri.order.updateOnlineOrderFlag
=
/fun-golf-service/{orderType}/updateOnlineOrderFlag
uri.order.updateOnlineOrderFlag
=
/fun-golf-service/{orderType}/updateOnlineOrderFlag
uri.order.updateOrderItemSupplier
=
/fun-golf-service/{orderType}/updateOrderItemSupplier
uri.order.updateOrderItemSupplier
=
/fun-golf-service/{orderType}/updateOrderItemSupplier
# tourOrder
uri.voucherOrder.updateOpenOrderPerson
=
/fun-golf-service/voucherOrder/updateOpenOrderPerson
# tourOrder
# tourOrder
uri.tourOrder.changeCustomerInfo
=
/fun-golf-service/tourOrder/changeCustomerInfo
uri.tourOrder.changeCustomerInfo
=
/fun-golf-service/tourOrder/changeCustomerInfo
...
@@ -489,6 +491,7 @@ uri.communeExt.importCommuneExts=/fun-golf-service/communeExt/importCommuneExts
...
@@ -489,6 +491,7 @@ uri.communeExt.importCommuneExts=/fun-golf-service/communeExt/importCommuneExts
uri.communeExt.activeCustomer.list
=
/fun-golf-service/activeCustomer/list
uri.communeExt.activeCustomer.list
=
/fun-golf-service/activeCustomer/list
uri.communeExt.activeCustomer.updateState
=
/fun-golf-service/activeCustomer/updateState
uri.communeExt.activeCustomer.updateState
=
/fun-golf-service/activeCustomer/updateState
uri.communeExt.activeCustomer.updateOpenOrderPerson
=
/fun-golf-service/activeCustomer/updateOpenOrderPerson
...
...
src/main/webapp/WEB-INF/templates/market/communeExt/activeCustomerList.ftl
View file @
1db73949
...
@@ -13,6 +13,69 @@ $("#communeBtn").click(function(){
...
@@ -13,6 +13,69 @@ $("#communeBtn").click(function(){
sendRequest(params);
sendRequest(params);
});
});
function changeMobilePhoneToEdit(orderId){
$("#activeCustomerId").val(orderId);
$("#tableList").empty();
$("#changeMobilePhoneToEdit").modal('show');
}
function queryMobilePhoneInModal(){
var recommendPhone = $("#courseSelector").find("input[name=recommendPhone]").val();
if(recommendPhone==""){
alert("请输入开单人手机号");
return
}
$.ajax({
url: "/j/getUserInfoByPhone",
type: "get",
data: {
mobilePhone: recommendPhone
},
success: function (obj) {
var source = $("#table_course").html();
var template = Handlebars.compile(source);
$('#tableList').html(template(obj.body))
}
});
}
function updateMobilePhone(){
var activeCustomerId = $("#activeCustomerId").val();
var recommendPhone = $("#courseSelector").find("input[name=recommendPhone]").val();
$('#changeMobilePhoneToEdit').modal('hide');
jQuery.ajax({
type:"POST",
contentType:"application/x-www-form-urlencoded",
url:"/j/activeCustomer/" + activeCustomerId + "/updateOpenOrderPerson",
data:{
recommendPhone:recommendPhone.trim()
},
success:function(data){
data = eval(data);
if(data.status == 0){
alert("修改成功");
}else{
alert("修改失败!" + data.message);
}
},
error:function(){
alert("修改失败!");
}
});
}
var openInNewTab = function(url) {
var openInNewTab = function(url) {
var a = document.createElement("a");
var a = document.createElement("a");
a.setAttribute("href", url);
a.setAttribute("href", url);
...
@@ -131,7 +194,7 @@ $('#communeNoModal').on('hidden.bs.modal', function (e) {
...
@@ -131,7 +194,7 @@ $('#communeNoModal').on('hidden.bs.modal', function (e) {
</td>
</td>
<td>${item.auditUser!}</td>
<td>${item.auditUser!}</td>
<td>
<td>
<a href="${item.picUrl!}" target="_blank">凭据</a>
<a href="${item.picUrl!}" target="_blank">凭据</a>
<a href="javascript:void(0);" target="_blank" onclick="changeMobilePhoneToEdit('${item.id!}')">修改开单人</a>
<#if (((item.auditState/128)?floor) %2) == 1>
<#if (((item.auditState/128)?floor) %2) == 1>
<#elseif item.auditState == 1>
<#elseif item.auditState == 1>
<a href="#" onclick="updateState('${item.id!}',2);">确认收款</a>
<a href="#" onclick="updateState('${item.id!}',2);">确认收款</a>
...
@@ -196,4 +259,49 @@ $('#communeNoModal').on('hidden.bs.modal', function (e) {
...
@@ -196,4 +259,49 @@ $('#communeNoModal').on('hidden.bs.modal', function (e) {
</button>
</button>
</div>
</div>
</div>
</div>
<div class="modal hide fade" id="changeMobilePhoneToEdit">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h3>修改开单人</h3>
</div>
<div class="modal-body" id='courseSelector'>
<div class="input-append">
<input type="hidden" id="activeCustomerId" value="111111111111111111" />
<input type="text" name="recommendPhone" value="" placeholder="开单人手机号" class="input-medium" autocomplete="off"/>
<button class="btn" data-toggle="modal" onclick="queryMobilePhoneInModal()">开单人信息确认</button> <button style="margin-left:50px;" class="btn" data-toggle="modal" onclick="updateMobilePhone()">确认修改</button>
</div>
<table class="table table-bordered table-striped">
<tbody id="tableList">
</tbody>
</table>
<div class="pagination pagination-mini">
<p style="color:red;">
1. 请先核实开单人信息再确认
</p>
</div>
</div>
</div>
<script id="table_course" type="text/x-handlebars-template">
<tr>
<td>用户名:{{userName}}</td> <td>性别:{{gender}}</td>
</tr>
<tr>
<td>生日:{{birth}}</td> <td>手机号归属地:{{city}} {{province}}</td>
</tr>
<tr>
<td>UID:<a href="/system/user/{{uid}}/detailByUid" target="_Blank" >{{uid}}</a></td> <td>余额:{{prePayCardAmount}}</td>
</tr>
<tr>
<td>注册时间:{{registerTime}}</td> <td>昵称:{{umNickName}}</td>
</tr>
<tr>
<td>邮箱:{{email}}</td> <td>最后登录时间:{{lastLoginTime}}</td>
</tr>
</script>
</@com.layout>
</@com.layout>
\ No newline at end of file
src/main/webapp/WEB-INF/templates/voucherOrder/list/voucherOrderListAll.ftl
View file @
1db73949
<#include "../common/pageJsContent.ftl"/>
<#assign pageJsContent>
<script>
function changeMobilePhoneToEdit(voucherOrderId){
$("#voucherOrderId").val(voucherOrderId);
$("#tableList").empty();
$("#changeMobilePhoneToEdit").modal('show');
}
function queryMobilePhoneInModal(){
var recommendPhone = $("#courseSelector").find("input[name=recommendPhone]").val();
if(recommendPhone==""){
alert("请输入开单人手机号");
return
}
$.ajax({
url: "/j/getUserInfoByPhone",
type: "get",
data: {
mobilePhone: recommendPhone
},
success: function (obj) {
var source = $("#table_course").html();
var template = Handlebars.compile(source);
$('#tableList').html(template(obj.body))
}
});
}
function updateMobilePhone(){
var voucherOrderId = $("#voucherOrderId").val();
var recommendPhone = $("#courseSelector").find("input[name=recommendPhone]").val();
$('#changeMobilePhoneToEdit').modal('hide');
jQuery.ajax({
type:"POST",
contentType:"application/x-www-form-urlencoded",
url:"/j/voucherOrder/" + voucherOrderId + "/updateOpenOrderPerson",
data:{
recommendPhone:recommendPhone.trim()
},
success:function(data){
data = eval(data);
if(data.status == 0){
alert("修改成功");
}else{
alert("修改失败!" + data.message);
}
},
error:function(){
alert("修改失败!");
}
});
}
</script>
</#assign>
<#assign pageCssContent>
<style>
.table th, .table td{ text-align:center;vertical-align:middle;}
.widthShow {
width: 1100px;
}
</style>
</#assign>
<@com.layout title="全部订单" module="voucherOrder" current="list_all" pageJs=pageJsContent>
<@com.layout title="全部订单" module="voucherOrder" current="list_all" pageJs=pageJsContent>
<#include "../common/voucherOrderSearchForm.ftl"/>
<#include "../common/voucherOrderSearchForm.ftl"/>
<table class="table table-bordered table-striped table-font">
<table class="table table-bordered table-striped table-font">
...
@@ -12,6 +79,7 @@
...
@@ -12,6 +79,7 @@
<th>订单来源</th>
<th>订单来源</th>
<th>推荐人</th>
<th>推荐人</th>
<th>推荐人手机号</th>
<th>推荐人手机号</th>
<th colspan=1>操作</th>
</tr>
</tr>
<#list list as item>
<#list list as item>
...
@@ -25,6 +93,7 @@
...
@@ -25,6 +93,7 @@
<td>${item.platform!}</td>
<td>${item.platform!}</td>
<td>${item.recommendUserName!}</td>
<td>${item.recommendUserName!}</td>
<td>${item.recommendPhone!}</td>
<td>${item.recommendPhone!}</td>
<td><a href="javascript:void(0);" target="_blank" onclick="changeMobilePhoneToEdit('${item.orderId!}')">修改开单人</a> </td>
</tr>
</tr>
</#list>
</#list>
...
@@ -44,4 +113,49 @@
...
@@ -44,4 +113,49 @@
<@paginator.statistics />
<@paginator.statistics />
</div>
</div>
</div>
</div>
<div class="modal hide fade" id="changeMobilePhoneToEdit">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h3>修改开单人</h3>
</div>
<div class="modal-body" id='courseSelector'>
<div class="input-append">
<input type="hidden" id="voucherOrderId" value="111111111111111111" />
<input type="text" name="recommendPhone" value="" placeholder="开单人手机号" class="input-medium" autocomplete="off"/>
<button class="btn" data-toggle="modal" onclick="queryMobilePhoneInModal()">开单人信息确认</button> <button style="margin-left:50px;" class="btn" data-toggle="modal" onclick="updateMobilePhone()">确认修改</button>
</div>
<table class="table table-bordered table-striped">
<tbody id="tableList">
</tbody>
</table>
<div class="pagination pagination-mini">
<p style="color:red;">
1. 请先核实开单人信息再确认
</p>
</div>
</div>
</div>
<script id="table_course" type="text/x-handlebars-template">
<tr>
<td>用户名:{{userName}}</td> <td>性别:{{gender}}</td>
</tr>
<tr>
<td>生日:{{birth}}</td> <td>手机号归属地:{{city}} {{province}}</td>
</tr>
<tr>
<td>UID:<a href="/system/user/{{uid}}/detailByUid" target="_Blank" >{{uid}}</a></td> <td>余额:{{prePayCardAmount}}</td>
</tr>
<tr>
<td>注册时间:{{registerTime}}</td> <td>昵称:{{umNickName}}</td>
</tr>
<tr>
<td>邮箱:{{email}}</td> <td>最后登录时间:{{lastLoginTime}}</td>
</tr>
</script>
</@com.layout>
</@com.layout>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment