记得上下班打卡 | git大法好,push需谨慎

Commit 6fd9689a authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/new_member' into new_member

parents 0a14e5c0 bea44164
...@@ -61,7 +61,7 @@ create index idx_amember_code_id on adam_member_code (code); ...@@ -61,7 +61,7 @@ create index idx_amember_code_id on adam_member_code (code);
alter table adam_member_code add validity int null comment '有效期(单位天)' after state; alter table adam_member_code add validity int null comment '有效期(单位天)' after state;
alter table adam_member_code add effect_at datetime(3) null comment '生效时间' after validity; alter table adam_member_code add effect_at datetime(3) null comment '生效时间' after validity;
alter table adam_member_code add expire_at datetime(3) null comment '过期时间' after effect_at; alter table adam_member_code add expire_at datetime(3) null comment '过期时间' after effect_at;
alter table adam_member_code add operator varchar(64) null comment 'type=2时记录创建人' after expire_at; alter table adam_member_code add operator varchar(64) null comment '管理操作人' after expire_at;
# 订单 # 订单
alter table adam_member_order modify state tinyint null comment '订单状态:0-未支付,1-已支付,2-已关闭,3-超时付,4-退款中,5-已退款'; alter table adam_member_order modify state tinyint null comment '订单状态:0-未支付,1-已支付,2-已关闭,3-超时付,4-退款中,5-已退款';
......
...@@ -31,6 +31,9 @@ public interface IKylinOrderTicketsService { ...@@ -31,6 +31,9 @@ public interface IKylinOrderTicketsService {
//订单未支付数量 //订单未支付数量
ResponseDto<Integer> orderUnPayCount(); ResponseDto<Integer> orderUnPayCount();
//补充入场人
ResponseDto<Boolean> supplementEnter(String orderId, String enterList);
//发起转赠订单 //发起转赠订单
ResponseDto<String> orderTransfer(String orderId, String transferUid, String transferMobile); ResponseDto<String> orderTransfer(String orderId, String transferUid, String transferMobile);
......
...@@ -23,4 +23,7 @@ public interface IKylinOrderTicketsAdminService { ...@@ -23,4 +23,7 @@ public interface IKylinOrderTicketsAdminService {
//订单详情 //订单详情
OrderDetailsAdminVo orderDetails(String orderId); OrderDetailsAdminVo orderDetails(String orderId);
//初始化订单转赠 [只支持退回订单 transferStatus = 5]
String initTransfer(String orderId);
} }
...@@ -27,8 +27,7 @@ import java.util.List; ...@@ -27,8 +27,7 @@ import java.util.List;
*/ */
@Controller @Controller
@RequestMapping("/kylin/order") @RequestMapping("/kylin/order")
public class KylinOrderTicketsController extends BaseController public class KylinOrderTicketsController extends BaseController {
{
private String prefix = "zhengzai/kylin/order"; private String prefix = "zhengzai/kylin/order";
@Autowired @Autowired
...@@ -39,8 +38,7 @@ public class KylinOrderTicketsController extends BaseController ...@@ -39,8 +38,7 @@ public class KylinOrderTicketsController extends BaseController
@RequiresPermissions("kylin:order:orderlist:view") @RequiresPermissions("kylin:order:orderlist:view")
@GetMapping("/orderList") @GetMapping("/orderList")
public String tickets() public String tickets() {
{
return prefix + "/orderList/orderList"; return prefix + "/orderList/orderList";
} }
...@@ -51,8 +49,7 @@ public class KylinOrderTicketsController extends BaseController ...@@ -51,8 +49,7 @@ public class KylinOrderTicketsController extends BaseController
@RequiresPermissions("kylin:order:orderlist:list") @RequiresPermissions("kylin:order:orderlist:list")
@PostMapping("/orderList/list") @PostMapping("/orderList/list")
@ResponseBody @ResponseBody
public TableDataInfo list(OrderListReq orderListReq) public TableDataInfo list(OrderListReq orderListReq) {
{
startPage(); startPage();
List<OrderTicketsListDao> list = iKylinOrderTicketsAdminService.orderList(orderListReq); List<OrderTicketsListDao> list = iKylinOrderTicketsAdminService.orderList(orderListReq);
return getDataTable(list); return getDataTable(list);
...@@ -84,4 +81,15 @@ public class KylinOrderTicketsController extends BaseController ...@@ -84,4 +81,15 @@ public class KylinOrderTicketsController extends BaseController
ajax.put("value", performanceSponsorList); ajax.put("value", performanceSponsorList);
return ajax; return ajax;
} }
/**
* 获取第三方列表
*/
@Log(title = "演出订单-初始化转赠 [只支持 transferStatus = 5]]", businessType = BusinessType.LIST)
@GetMapping("/orderList/initTransfer")
@ResponseBody
public AjaxResult initTransfer(@RequestParam("orderId") String orderId) {
String result = iKylinOrderTicketsAdminService.initTransfer(orderId);
return this.success(result);
}
} }
...@@ -224,6 +224,7 @@ var refreshItem = function(){ ...@@ -224,6 +224,7 @@ var refreshItem = function(){
/** 关闭选项卡 */ /** 关闭选项卡 */
var closeItem = function(dataId){ var closeItem = function(dataId){
console.log(dataId, '这个科技')
var topWindow = $(window.parent.document); var topWindow = $(window.parent.document);
if($.common.isNotEmpty(dataId)){ if($.common.isNotEmpty(dataId)){
window.parent.$.modal.closeLoading(); window.parent.$.modal.closeLoading();
......
...@@ -929,6 +929,7 @@ var table = { ...@@ -929,6 +929,7 @@ var table = {
}, },
// 关闭选项卡 // 关闭选项卡
closeTab: function (dataId) { closeTab: function (dataId) {
console.log(dataId, '看看这个是啥')
closeItem(dataId); closeItem(dataId);
}, },
// 禁用按钮 // 禁用按钮
......
...@@ -183,7 +183,7 @@ ...@@ -183,7 +183,7 @@
<div class="dataOne"> <div class="dataOne">
<span class="labelName"><i class="required">*</i>数量:</span> <span class="labelName"><i class="required">*</i>数量:</span>
<input type="text" id="num" required /> <input type="text" id="num" required />
<span id="unit"></span>
</div> </div>
<div class="dataOne"> <div class="dataOne">
<span class="labelName"><i class="required">*</i>券的有效期:</span> <span class="labelName"><i class="required">*</i>券的有效期:</span>
...@@ -216,7 +216,7 @@ ...@@ -216,7 +216,7 @@
<div class="main_bottom"> <div class="main_bottom">
<div class="describe"> <div class="describe">
<span class="labelName"> <span class="labelName">
描述说明: <i class="required">*</i>描述说明:
</span> </span>
<textarea id="describeTxt" class="form-control" rows="4"></textarea> <textarea id="describeTxt" class="form-control" rows="4"></textarea>
</div> </div>
...@@ -361,7 +361,12 @@ ...@@ -361,7 +361,12 @@
}); });
$("input[name=typeOne]").change(function(e){ $("input[name=typeOne]").change(function(e){
typeOne = e.target.value; typeOne = e.target.value;
if (typeOne == 1) {
$("#searchIpt").val('');
$("#searchIpt").attr('placeholder', '全部');
}
if (typeOne != 0) { if (typeOne != 0) {
console.log('???')
showId = ''; // 选中演出id showId = ''; // 选中演出id
selectTwoId = ''; // 选中演出下级的ID selectTwoId = ''; // 选中演出下级的ID
selectThreeId = ''; // 选中演出三级的ID selectThreeId = ''; // 选中演出三级的ID
...@@ -383,7 +388,8 @@ ...@@ -383,7 +388,8 @@
$('#selectThree').empty(); $('#selectThree').empty();
$('#dataList').empty(); $('#dataList').empty();
if (typeOne == 2) { if (typeOne == 2) {
$("#searchIpt").val('全部商品'); $("#searchIpt").val('');
$("#searchIpt").attr('placeholder', '全部商品');
} }
} else { } else {
$('#selectTwo').show(); $('#selectTwo').show();
...@@ -401,6 +407,7 @@ ...@@ -401,6 +407,7 @@
$("input[name=typeTwo]").change(function(e){ $("input[name=typeTwo]").change(function(e){
typeTwo = e.target.value; typeTwo = e.target.value;
if (typeTwo == 1) { if (typeTwo == 1) {
$('#unit').text('张/账户')
$('#iptModal').show(); $('#iptModal').show();
$('.sendType').show(); $('.sendType').show();
$('#exchangeTime').val('') $('#exchangeTime').val('')
...@@ -409,6 +416,7 @@ ...@@ -409,6 +416,7 @@
$('.phoneNumber').show(); $('.phoneNumber').show();
} }
} else { } else {
$('#unit').text('张')
$('#iptModal').hide(); $('#iptModal').hide();
$('#exchange').show(); $('#exchange').show();
$('.sendType').hide(); $('.sendType').hide();
...@@ -451,7 +459,7 @@ ...@@ -451,7 +459,7 @@
}); });
function create() { function create() {
if (!$('#valFace').val() || !$('#title').val() || !$('#num').val() || !$('#ticketTime').val()) { if (!$('#valFace').val() || !$('#title').val() || !$('#num').val() || !$('#ticketTime').val() || !$('#describeTxt').val()) {
return layer.msg('请将必填项输入完整~!'); return layer.msg('请将必填项输入完整~!');
if (typeTwo != 1) { if (typeTwo != 1) {
if (!$('#exchangeTime').val()) { if (!$('#exchangeTime').val()) {
...@@ -532,7 +540,8 @@ ...@@ -532,7 +540,8 @@
} }
console.log(data,'data') console.log(data,'data')
promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{ promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{
console.log(res) layer.msg('创建成功!');
closeItem();
}) })
} }
function promiseMethods(url,type,data,contentType) { function promiseMethods(url,type,data,contentType) {
......
...@@ -186,7 +186,7 @@ ...@@ -186,7 +186,7 @@
<div class="dataOne"> <div class="dataOne">
<span class="labelName"><i class="required">*</i>数量:</span> <span class="labelName"><i class="required">*</i>数量:</span>
<input type="text" id="num" required /> <input type="text" id="num" required />
<span id="unit"></span>
</div> </div>
<div class="dataOne"> <div class="dataOne">
<span class="labelName"><i class="required">*</i>券的有效期:</span> <span class="labelName"><i class="required">*</i>券的有效期:</span>
...@@ -219,7 +219,7 @@ ...@@ -219,7 +219,7 @@
<div class="main_bottom"> <div class="main_bottom">
<div class="describe"> <div class="describe">
<span class="labelName"> <span class="labelName">
描述说明: <i class="required">*</i>描述说明:
</span> </span>
<textarea id="describeTxt" class="form-control" rows="4"></textarea> <textarea id="describeTxt" class="form-control" rows="4"></textarea>
</div> </div>
...@@ -363,6 +363,10 @@ ...@@ -363,6 +363,10 @@
}); });
$("input[name=typeOne]").change(function(e){ $("input[name=typeOne]").change(function(e){
typeOne = e.target.value; typeOne = e.target.value;
if (typeOne == 1) {
$("#searchIpt").val('');
$("#searchIpt").attr('placeholder', '全部');
}
if (typeOne != 0) { if (typeOne != 0) {
showId = ''; // 选中演出id showId = ''; // 选中演出id
selectTwoId = ''; // 选中演出下级的ID selectTwoId = ''; // 选中演出下级的ID
...@@ -385,7 +389,8 @@ ...@@ -385,7 +389,8 @@
$('#selectThree').empty(); $('#selectThree').empty();
$('#dataList').empty(); $('#dataList').empty();
if (typeOne == 2) { if (typeOne == 2) {
$("#searchIpt").val('全部商品'); $("#searchIpt").val('');
$("#searchIpt").attr('placeholder', '全部商品');
} }
} else { } else {
$('#selectTwo').show(); $('#selectTwo').show();
...@@ -403,6 +408,7 @@ ...@@ -403,6 +408,7 @@
$("input[name=typeTwo]").change(function(e){ $("input[name=typeTwo]").change(function(e){
typeTwo = e.target.value; typeTwo = e.target.value;
if (typeTwo == 1) { if (typeTwo == 1) {
$('#unit').text('张/账户')
$('#iptModal').show(); $('#iptModal').show();
$('.sendType').show(); $('.sendType').show();
$('#exchangeTime').val('') $('#exchangeTime').val('')
...@@ -411,6 +417,7 @@ ...@@ -411,6 +417,7 @@
$('.phoneNumber').show(); $('.phoneNumber').show();
} }
} else { } else {
$('#unit').text('张')
$('#iptModal').hide(); $('#iptModal').hide();
$('#exchange').show(); $('#exchange').show();
$('.sendType').hide(); $('.sendType').hide();
...@@ -453,7 +460,7 @@ ...@@ -453,7 +460,7 @@
}); });
function create() { function create() {
if (!$('#title').val() || !$('#num').val() || !$('#ticketTime').val() || !$('#valOver').val() || !$('#valMinus').val()) { if (!$('#title').val() || !$('#num').val() || !$('#ticketTime').val() || !$('#valOver').val() || !$('#valMinus').val() || !$('#describeTxt').val()) {
return layer.msg('请将必填项输入完整~!'); return layer.msg('请将必填项输入完整~!');
if (typeTwo != 1) { if (typeTwo != 1) {
if (!$('#exchangeTime').val()) { if (!$('#exchangeTime').val()) {
...@@ -534,9 +541,9 @@ ...@@ -534,9 +541,9 @@
if (sendType != 2) { if (sendType != 2) {
delete data.eventLimit; delete data.eventLimit;
} }
console.log(data,'data')
promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{ promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{
console.log(res) layer.msg('创建成功!');
closeItem();
}) })
} }
function promiseMethods(url,type,data,contentType) { function promiseMethods(url,type,data,contentType) {
......
...@@ -185,7 +185,7 @@ ...@@ -185,7 +185,7 @@
<div class="main_bottom"> <div class="main_bottom">
<div class="describe"> <div class="describe">
<span class="labelName"> <span class="labelName">
描述说明: <i class="required">*</i>描述说明:
</span> </span>
<textarea id="describeTxt" class="form-control" rows="4"></textarea> <textarea id="describeTxt" class="form-control" rows="4"></textarea>
</div> </div>
...@@ -243,7 +243,7 @@ ...@@ -243,7 +243,7 @@
selectTwoId = ''; // 选中演出下级的ID selectTwoId = ''; // 选中演出下级的ID
selectThreeId = ''; // 选中演出三级的ID selectThreeId = ''; // 选中演出三级的ID
$('#selectTwo').empty().append(str); $('#selectTwo').empty().append(str);
$('#selectThree').empty(); $('#selectThree').empty().append('<option value="0" label="">所有</option>');
}; };
$("#searchIpt").focus(function(){ $("#searchIpt").focus(function(){
search() search()
...@@ -281,7 +281,7 @@ ...@@ -281,7 +281,7 @@
selectThreeName = $('#selectThree').find('option:selected').attr('label'); selectThreeName = $('#selectThree').find('option:selected').attr('label');
}); });
function create() { function create() {
if (!$('#title').val() || !$('#num').val() || !$('#ticketTime').val()) { if (!$('#title').val() || !$('#num').val() || !$('#ticketTime').val() || !$('#describeTxt').val()) {
return layer.msg('请将必填项输入完整~!'); return layer.msg('请将必填项输入完整~!');
} }
let useScope = 100; let useScope = 100;
...@@ -323,9 +323,9 @@ ...@@ -323,9 +323,9 @@
"validity": Number($('#ticketTime').val()), "validity": Number($('#ticketTime').val()),
"redeemValidity": Number($('#ticketTime').val()) // 兑换有效期 "redeemValidity": Number($('#ticketTime').val()) // 兑换有效期
} }
console.log(data,'data')
promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{ promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{
console.log(res) layer.msg('创建成功!');
closeItem();
}) })
} }
function promiseMethods(url,type,data,contentType) { function promiseMethods(url,type,data,contentType) {
......
...@@ -209,7 +209,7 @@ ...@@ -209,7 +209,7 @@
<div class="main_bottom"> <div class="main_bottom">
<div class="describe"> <div class="describe">
<span class="labelName"> <span class="labelName">
描述说明: <i class="required">*</i>描述说明:
</span> </span>
<textarea id="describeTxt" class="form-control" rows="4"></textarea> <textarea id="describeTxt" class="form-control" rows="4"></textarea>
</div> </div>
...@@ -259,6 +259,7 @@ ...@@ -259,6 +259,7 @@
$("input[name=typeTwo]").change(function(e){ $("input[name=typeTwo]").change(function(e){
typeTwo = e.target.value; typeTwo = e.target.value;
if (typeTwo == 1) { if (typeTwo == 1) {
$('#unit').text('张/账户')
$('.sendType').show(); $('.sendType').show();
$('#exchangeTime').val('') $('#exchangeTime').val('')
$('#exchange').hide(); $('#exchange').hide();
...@@ -266,6 +267,7 @@ ...@@ -266,6 +267,7 @@
$('.phoneNumber').show(); $('.phoneNumber').show();
} }
} else { } else {
$('#unit').text('张')
$('#exchange').show(); $('#exchange').show();
$('.sendType').hide(); $('.sendType').hide();
$('.phoneNumber').hide(); $('.phoneNumber').hide();
...@@ -294,7 +296,7 @@ ...@@ -294,7 +296,7 @@
} }
}); });
function create() { function create() {
if (!$('#title').val() || !$('#num').val() || !$('#ticketTime').val() || !$('#discount').val()) { if (!$('#title').val() || !$('#num').val() || !$('#ticketTime').val() || !$('#discount').val() || !$('#describeTxt').val()) {
return layer.msg('请将必填项输入完整~!'); return layer.msg('请将必填项输入完整~!');
if (typeTwo != 1) { if (typeTwo != 1) {
if (!$('#exchangeTime').val()) { if (!$('#exchangeTime').val()) {
...@@ -349,9 +351,9 @@ ...@@ -349,9 +351,9 @@
if (sendType != 2) { if (sendType != 2) {
delete data.eventLimit; delete data.eventLimit;
} }
console.log(data,'data')
promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{ promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{
console.log(res) layer.msg('创建成功!');
closeItem();
}) })
} }
function promiseMethods(url,type,data,contentType) { function promiseMethods(url,type,data,contentType) {
......
...@@ -116,6 +116,7 @@ ...@@ -116,6 +116,7 @@
<th:block th:include="include :: bootstrap-typeahead-js" /> <th:block th:include="include :: bootstrap-typeahead-js" />
<script th:inline="javascript"> <script th:inline="javascript">
var detailFlag = [[${@permission.hasPermi('kylin:order:orderlist:detail')}]]; var detailFlag = [[${@permission.hasPermi('kylin:order:orderlist:detail')}]];
var transferFlag = [[${@permission.hasPermi('kylin:order:orderlist:transferInit')}]];
var prefix = ctx + "kylin/order/orderList"; var prefix = ctx + "kylin/order/orderList";
var orderStatusDic = [[${@dict.getType('zhengzai_order_status')}]]; var orderStatusDic = [[${@dict.getType('zhengzai_order_status')}]];
var getTicketTypeDic = [[${@dict.getType('zhengzai_get_ticket_type')}]]; var getTicketTypeDic = [[${@dict.getType('zhengzai_get_ticket_type')}]];
...@@ -201,6 +202,7 @@ ...@@ -201,6 +202,7 @@
formatter: function(value, row, index) { formatter: function(value, row, index) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-warning btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.orderTicketsId + '\')"><i class="fa fa-search"></i>详细</a>'); actions.push('<a class="btn btn-warning btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.orderTicketsId + '\')"><i class="fa fa-search"></i>详细</a>');
actions.push('<a class="btn btn-warning btn-xs ' + transferFlag + '" href="javascript:void(0)" onclick="f(\'' + row.orderTicketsId + '\')"><i class="fa fa-search"></i>初始化</a>');
return actions.join(''); return actions.join('');
} }
}] }]
...@@ -219,6 +221,12 @@ ...@@ -219,6 +221,12 @@
}).on('onUnsetSelectValue', function (e) { }).on('onUnsetSelectValue', function (e) {
console.log("onUnsetSelectValue"); console.log("onUnsetSelectValue");
}); });
function f(id) {
$.post(prefix + "/kylin/initTransfer",{orderId:id},function (res) {
alert(res.msg)
});
}
</script> </script>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
</div> </div>
</div> </div>
</div> </div>
<table class="col-sm-12 select-table table-bordered"> <table class="col-sm-12 select-table table-bordered table table-stripped small m-t-md">
<thead> <thead>
<tr> <tr>
<th> <th>
......
...@@ -140,6 +140,7 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa ...@@ -140,6 +140,7 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa
case 1:// 编辑 case 1:// 编辑
// CandyCoupon updateCoupon = new CandyCoupon(); // CandyCoupon updateCoupon = new CandyCoupon();
updateCoupon.setCouponId(couponId); updateCoupon.setCouponId(couponId);
updateCoupon.setState(1);
updateCoupon.setTitle(parameter.getTitle()); updateCoupon.setTitle(parameter.getTitle());
updateCoupon.setExclusive(1); updateCoupon.setExclusive(1);
......
...@@ -80,8 +80,8 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -80,8 +80,8 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
obj1.setSystemId(taobaoTicketUtils.getSystemId()); obj1.setSystemId(taobaoTicketUtils.getSystemId());
req.setPushProjectParam(obj1); req.setPushProjectParam(obj1);
log.info("[同步演出] 演出名称 = " + performanceData.getTitle() + " 大麦演出id =" + performanceKey);
AlibabaDamaiMevOpenPushprojectResponse rsp = client.execute(req); AlibabaDamaiMevOpenPushprojectResponse rsp = client.execute(req);
log.info("performance=" + rsp.getBody());
if (rsp.getResult().getSuccess()) { if (rsp.getResult().getSuccess()) {
List<KylinTicketTimeRelation> timeRelation = ticketTimeRelationMapper.selectList(new UpdateWrapper<KylinTicketTimeRelation>().eq("performance_id", performanceId)); List<KylinTicketTimeRelation> timeRelation = ticketTimeRelationMapper.selectList(new UpdateWrapper<KylinTicketTimeRelation>().eq("performance_id", performanceId));
for (int i = 0; i < timeRelation.size(); i++) { for (int i = 0; i < timeRelation.size(); i++) {
...@@ -117,8 +117,8 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -117,8 +117,8 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
obj1.setSupplierSecret(taobaoTicketUtils.getSupplierSecret()); obj1.setSupplierSecret(taobaoTicketUtils.getSupplierSecret());
obj1.setSystemId(taobaoTicketUtils.getSystemId()); obj1.setSystemId(taobaoTicketUtils.getSystemId());
req.setPushPerformParam(obj1); req.setPushPerformParam(obj1);
log.info("[同步场次] 场次名称 = " + timesData.getTitle() + " 大麦场次id =" + ticketTimesKey);
AlibabaDamaiMevOpenPushperformResponse rsp = client.execute(req); AlibabaDamaiMevOpenPushperformResponse rsp = client.execute(req);
log.info("times = " + rsp.getBody());
if (rsp.getResult().getSuccess()) { if (rsp.getResult().getSuccess()) {
List<KylinTicketRelations> ticketRelation = ticketRelationsMapper.selectList(new UpdateWrapper<KylinTicketRelations>().eq("times_id", timesData.getTicketTimesId())); List<KylinTicketRelations> ticketRelation = ticketRelationsMapper.selectList(new UpdateWrapper<KylinTicketRelations>().eq("times_id", timesData.getTicketTimesId()));
for (int i = 0; i < ticketRelation.size(); i++) { for (int i = 0; i < ticketRelation.size(); i++) {
...@@ -155,8 +155,8 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -155,8 +155,8 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
obj1.setSystemId(taobaoTicketUtils.getSystemId()); obj1.setSystemId(taobaoTicketUtils.getSystemId());
// obj1.setRemark("0"); // obj1.setRemark("0");
req.setPushItemParam(obj1); req.setPushItemParam(obj1);
log.info("[同步票种] 票种名称 = " + ticketsData.getTitle() + " 大麦票种id =" + ticketIdKey);
AlibabaDamaiMevOpenPushitemResponse rsp = client.execute(req); AlibabaDamaiMevOpenPushitemResponse rsp = client.execute(req);
log.info("ticket = " + rsp.getBody());
if (rsp.getResult().getSuccess()) { if (rsp.getResult().getSuccess()) {
return sycOrder(timemId, ticketsData.getTicketsId(), ticketIdKey); return sycOrder(timemId, ticketsData.getTicketsId(), ticketIdKey);
// return true; // return true;
...@@ -175,7 +175,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -175,7 +175,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
TaobaoClient client = taobaoTicketUtils.initTaobaoClient(); TaobaoClient client = taobaoTicketUtils.initTaobaoClient();
AlibabaDamaiMevOpenBatchpushticketRequest req = new AlibabaDamaiMevOpenBatchpushticketRequest(); AlibabaDamaiMevOpenBatchpushticketRequest req = new AlibabaDamaiMevOpenBatchpushticketRequest();
List<OrderPushDamaiDto> data = orderTicketsMapper.pushDamaiDetailsList(ticketsId); List<OrderPushDamaiDto> data = orderTicketsMapper.pushDamaiDetailsList(ticketsId);
log.info("data = " + data.size() + " ticketsId=" + ticketsId); log.info("[同步订单] 票种张数 = " + data.size() + " 票种id =" + ticketsId);
int forSize = 100; int forSize = 100;
int forCount = data.size() % forSize == 0 ? data.size() / forSize : (data.size() / forSize) + 1; int forCount = data.size() % forSize == 0 ? data.size() / forSize : (data.size() / forSize) + 1;
for (int i = 0; i < forCount; i++) { for (int i = 0; i < forCount; i++) {
...@@ -196,7 +196,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -196,7 +196,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
long orderIdKey = IDGenerator.getDamaiCode(item.getOrderTicketsId()); long orderIdKey = IDGenerator.getDamaiCode(item.getOrderTicketsId());
if (item.getIsPayment() == 3) { if (item.getIsPayment() == 3) {
taobaoTicketUtils.withdrawDamaiOrder(timemId, orderTicketEntitiesKey); taobaoTicketUtils.withdrawDamaiOrder(timemId, orderTicketEntitiesKey);
} else if (item.getTransferStatus() == 2) { } else if (item.getTransferStatus() == 2 || item.getTransferStatus() == 6) {
taobaoTicketUtils.withdrawDamaiOrder(timemId, orderTicketEntitiesKey); taobaoTicketUtils.withdrawDamaiOrder(timemId, orderTicketEntitiesKey);
} else { } else {
list2.add(obj3); list2.add(obj3);
...@@ -217,7 +217,6 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -217,7 +217,6 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
} }
} }
req.setThirdTicketSetOpenParamList(list2); req.setThirdTicketSetOpenParamList(list2);
log.info("list2 = " + list2.size());
if (list2.size() == 0) { if (list2.size() == 0) {
return true; return true;
} else { } else {
......
package com.liquidnet.client.admin.zhengzai.kylin.service.impl; package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.common.utils.StringUtils; import com.liquidnet.client.admin.common.utils.StringUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils;
import com.liquidnet.commons.lang.util.BeanUtil; import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.StringUtil; import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst; import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
...@@ -18,8 +21,13 @@ import com.liquidnet.service.kylin.entity.*; ...@@ -18,8 +21,13 @@ import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*; import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.IKylinOrderTicketStatusService; import com.liquidnet.service.kylin.service.IKylinOrderTicketStatusService;
import com.liquidnet.service.kylin.service.admin.IKylinOrderTicketsAdminService; import com.liquidnet.service.kylin.service.admin.IKylinOrderTicketsAdminService;
import com.mongodb.BasicDBObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.beans.IntrospectionException; import java.beans.IntrospectionException;
...@@ -60,11 +68,18 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic ...@@ -60,11 +68,18 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic
@Autowired @Autowired
private KylinOrderTicketEntitiesMapper kylinOrderTicketEntitiesMapper; private KylinOrderTicketEntitiesMapper kylinOrderTicketEntitiesMapper;
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
@Autowired
private DataUtils dataUtils;
@Override @Override
public List<OrderTicketsListDao> orderList(OrderListReq orderListReq) { public List<OrderTicketsListDao> orderList(OrderListReq orderListReq) {
Map<String, Object> reqParamMap = new HashMap<>(); Map<String, Object> reqParamMap = new HashMap<>();
try { try {
reqParamMap = BeanUtil.convertBeanToMap(orderListReq,false); reqParamMap = BeanUtil.convertBeanToMap(orderListReq, false);
} catch (IntrospectionException e) { } catch (IntrospectionException e) {
e.printStackTrace(); e.printStackTrace();
} catch (IllegalAccessException e) { } catch (IllegalAccessException e) {
...@@ -83,26 +98,26 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic ...@@ -83,26 +98,26 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic
//查询条件 //查询条件
LambdaQueryWrapper<KylinOrderTickets> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<KylinOrderTickets> wrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotNull(orderId)) { if (StringUtils.isNotNull(orderId)) {
wrapper.eq(KylinOrderTickets::getOrderTicketsId,orderId); wrapper.eq(KylinOrderTickets::getOrderTicketsId, orderId);
} }
KylinOrderTicketVo orderTicketVo = new KylinOrderTicketVo(); KylinOrderTicketVo orderTicketVo = new KylinOrderTicketVo();
KylinOrderTickets kylinOrderTickets = kylinOrderTicketsMapper.selectOne(wrapper); KylinOrderTickets kylinOrderTickets = kylinOrderTicketsMapper.selectOne(wrapper);
//获取订单关联关系 //获取订单关联关系
LambdaQueryWrapper<KylinOrderTicketRelations> relWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<KylinOrderTicketRelations> relWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotNull(orderId)) { if (StringUtils.isNotNull(orderId)) {
relWrapper.eq(KylinOrderTicketRelations::getOrderId,orderId); relWrapper.eq(KylinOrderTicketRelations::getOrderId, orderId);
} }
KylinOrderTicketRelations kylinOrderTicketRelations = kylinOrderTicketRelationsMapper.selectOne(relWrapper); KylinOrderTicketRelations kylinOrderTicketRelations = kylinOrderTicketRelationsMapper.selectOne(relWrapper);
BeanUtil.copy(kylinOrderTickets,orderTicketVo); BeanUtil.copy(kylinOrderTickets, orderTicketVo);
orderTicketVo.setPerformanceId(kylinOrderTicketRelations.getPerformanceId()); orderTicketVo.setPerformanceId(kylinOrderTicketRelations.getPerformanceId());
orderTicketVo.setTicketId(kylinOrderTicketRelations.getTicketId()); orderTicketVo.setTicketId(kylinOrderTicketRelations.getTicketId());
//获取订单状态 //获取订单状态
LambdaQueryWrapper<KylinOrderTicketStatus> orderStatusWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<KylinOrderTicketStatus> orderStatusWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotNull(orderId)) { if (StringUtils.isNotNull(orderId)) {
orderStatusWrapper.eq(KylinOrderTicketStatus::getOrderId,orderId); orderStatusWrapper.eq(KylinOrderTicketStatus::getOrderId, orderId);
} }
KylinOrderTicketStatus kylinOrderTicketStatus = kylinOrderTicketStatusMapper.selectOne(orderStatusWrapper); KylinOrderTicketStatus kylinOrderTicketStatus = kylinOrderTicketStatusMapper.selectOne(orderStatusWrapper);
BeanUtil.copy(kylinOrderTickets,orderTicketVo); BeanUtil.copy(kylinOrderTickets, orderTicketVo);
orderTicketVo.setPerformanceId(kylinOrderTicketRelations.getPerformanceId()); orderTicketVo.setPerformanceId(kylinOrderTicketRelations.getPerformanceId());
orderTicketVo.setTicketId(kylinOrderTicketRelations.getTicketId()); orderTicketVo.setTicketId(kylinOrderTicketRelations.getTicketId());
orderTicketVo.setStatus(kylinOrderTicketStatus.getStatus()); orderTicketVo.setStatus(kylinOrderTicketStatus.getStatus());
...@@ -111,10 +126,10 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic ...@@ -111,10 +126,10 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic
orderTicketVo.setCreatedAt(""); orderTicketVo.setCreatedAt("");
orderTicketVo.setTimePay(""); orderTicketVo.setTimePay("");
orderTicketVo.setUseStart(""); orderTicketVo.setUseStart("");
if(StringUtils.isNotNull(kylinOrderTickets.getCreatedAt())){ if (StringUtils.isNotNull(kylinOrderTickets.getCreatedAt())) {
orderTicketVo.setCreatedAt(DateUtil.format(kylinOrderTickets.getCreatedAt(),DateUtil.Formatter.yyyyMMddHHmmss)); orderTicketVo.setCreatedAt(DateUtil.format(kylinOrderTickets.getCreatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
} }
if(StringUtils.isNotNull(kylinOrderTickets.getTimePay())){ if (StringUtils.isNotNull(kylinOrderTickets.getTimePay())) {
orderTicketVo.setTimePay(kylinOrderTickets.getTimePay()); orderTicketVo.setTimePay(kylinOrderTickets.getTimePay());
} }
...@@ -123,33 +138,33 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic ...@@ -123,33 +138,33 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic
//获取演出信息 //获取演出信息
LambdaQueryWrapper<KylinPerformances> perWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<KylinPerformances> perWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotNull(orderTicketVo.getPerformanceId())) { if (StringUtils.isNotNull(orderTicketVo.getPerformanceId())) {
perWrapper.eq(KylinPerformances::getPerformancesId,orderTicketVo.getPerformanceId()); perWrapper.eq(KylinPerformances::getPerformancesId, orderTicketVo.getPerformanceId());
} }
KylinPerformances kylinPerformances = kylinPerformancesMapper.selectOne(perWrapper); KylinPerformances kylinPerformances = kylinPerformancesMapper.selectOne(perWrapper);
KylinPerformanceVo performanceVo = new KylinPerformanceVo(); KylinPerformanceVo performanceVo = new KylinPerformanceVo();
BeanUtil.copy(kylinPerformances,performanceVo); BeanUtil.copy(kylinPerformances, performanceVo);
//获取票种信息 //获取票种信息
LambdaQueryWrapper<KylinTickets> ticketsWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<KylinTickets> ticketsWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotNull(orderTicketVo.getTicketId())) { if (StringUtils.isNotNull(orderTicketVo.getTicketId())) {
ticketsWrapper.eq(KylinTickets::getTicketsId,orderTicketVo.getTicketId()); ticketsWrapper.eq(KylinTickets::getTicketsId, orderTicketVo.getTicketId());
} }
KylinTickets kylinTickets = kylinTicketsMapper.selectOne(ticketsWrapper); KylinTickets kylinTickets = kylinTicketsMapper.selectOne(ticketsWrapper);
KylinTicketVo ticketVo = new KylinTicketVo(); KylinTicketVo ticketVo = new KylinTicketVo();
BeanUtil.copy(kylinTickets,ticketVo); BeanUtil.copy(kylinTickets, ticketVo);
if(StringUtils.isNotNull(kylinTickets.getUseStart())){ if (StringUtils.isNotNull(kylinTickets.getUseStart())) {
orderTicketVo.setUseStart(DateUtil.format(kylinTickets.getUseStart(),DateUtil.Formatter.yyyyMMddHHmmss)); orderTicketVo.setUseStart(DateUtil.format(kylinTickets.getUseStart(), DateUtil.Formatter.yyyyMMddHHmmss));
} }
//获取订单持票实体信息 //获取订单持票实体信息
LambdaQueryWrapper<KylinOrderTicketEntities> ticketsEntitiesWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<KylinOrderTicketEntities> ticketsEntitiesWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotNull(orderTicketVo.getOrderTicketsId())) { if (StringUtils.isNotNull(orderTicketVo.getOrderTicketsId())) {
ticketsEntitiesWrapper.eq(KylinOrderTicketEntities::getOrderId,orderTicketVo.getOrderTicketsId()); ticketsEntitiesWrapper.eq(KylinOrderTicketEntities::getOrderId, orderTicketVo.getOrderTicketsId());
} }
List<KylinOrderTicketEntitiesVo> kylinOrderTicketEntitiesVoList = new ArrayList<>(); List<KylinOrderTicketEntitiesVo> kylinOrderTicketEntitiesVoList = new ArrayList<>();
List<KylinOrderTicketEntities> ticketEntitiesList = kylinOrderTicketEntitiesMapper.selectList(ticketsEntitiesWrapper); List<KylinOrderTicketEntities> ticketEntitiesList = kylinOrderTicketEntitiesMapper.selectList(ticketsEntitiesWrapper);
for (KylinOrderTicketEntities kylinOrderTicketEntities : ticketEntitiesList) { for (KylinOrderTicketEntities kylinOrderTicketEntities : ticketEntitiesList) {
KylinOrderTicketEntitiesVo ticketEntitiesVo = new KylinOrderTicketEntitiesVo(); KylinOrderTicketEntitiesVo ticketEntitiesVo = new KylinOrderTicketEntitiesVo();
BeanUtil.copy(kylinOrderTicketEntities,ticketEntitiesVo); BeanUtil.copy(kylinOrderTicketEntities, ticketEntitiesVo);
kylinOrderTicketEntitiesVoList.add(ticketEntitiesVo); kylinOrderTicketEntitiesVoList.add(ticketEntitiesVo);
} }
...@@ -186,4 +201,30 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic ...@@ -186,4 +201,30 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic
return vo; return vo;
} }
} }
@Override
public String initTransfer(String orderId) {
Integer canChangeStatus = 5;
Integer targetStatus = 0;
//查询 数据库
KylinOrderTicketStatus findStatus = kylinOrderTicketStatusMapper.selectOne(Wrappers.lambdaQuery(KylinOrderTicketStatus.class).eq(KylinOrderTicketStatus::getOrderId, orderId));
if (!findStatus.getTransferStatus().equals(canChangeStatus)) {
return "该订单不属于被退回状态";
}
//修改 数据库
KylinOrderTicketStatus status = KylinOrderTicketStatus.getNew();
status.setTransferStatus(targetStatus);
kylinOrderTicketStatusMapper.update(status, Wrappers.lambdaUpdate(KylinOrderTicketStatus.class)
.eq(KylinOrderTicketStatus::getOrderId, orderId).eq(KylinOrderTicketStatus::getTransferStatus, canChangeStatus));
//修改 mongo
HashMap<String, Object> map = CollectionUtil.mapStringObject();
map.put("transferStatus", targetStatus);
BasicDBObject obj = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketsId").is(orderId)).getQueryObject(),
obj);
//删除 redis
dataUtils.delOrderTicketRedis(orderId);
return "订单转赠状态初始化成功";
}
} }
...@@ -255,8 +255,7 @@ ...@@ -255,8 +255,7 @@
LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id = ot.order_tickets_id LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id = ot.order_tickets_id
LEFT JOIN kylin_order_ticket_entities AS ote ON ote.order_id = ot.order_tickets_id LEFT JOIN kylin_order_ticket_entities AS ote ON ote.order_id = ot.order_tickets_id
LEFT JOIN kylin_ticket_status AS kys ON kys.ticket_id = otr.ticket_id LEFT JOIN kylin_ticket_status AS kys ON kys.ticket_id = otr.ticket_id
WHERE (ots.status = 1 or ots.status = 3) WHERE (ots.status = 1 or ots.status = 3 or ots.status = 4 or ots.status = 6)
AND kys.sync_damai = 1
AND ote.ticket_id = ${ticketsId} AND ote.ticket_id = ${ticketsId}
</select> </select>
......
...@@ -359,7 +359,7 @@ create index idx_amember_code_id on adam_member_code (code); ...@@ -359,7 +359,7 @@ create index idx_amember_code_id on adam_member_code (code);
alter table adam_member_code add validity int null comment '有效期(单位天)' after state; alter table adam_member_code add validity int null comment '有效期(单位天)' after state;
alter table adam_member_code add effect_at datetime(3) null comment '生效时间' after validity; alter table adam_member_code add effect_at datetime(3) null comment '生效时间' after validity;
alter table adam_member_code add expire_at datetime(3) null comment '过期时间' after effect_at; alter table adam_member_code add expire_at datetime(3) null comment '过期时间' after effect_at;
alter table adam_member_code add operator varchar(64) null comment 'type=2时记录创建人' after expire_at; alter table adam_member_code add operator varchar(64) null comment '管理操作人' after expire_at;
# 订单 # 订单
alter table adam_member_order modify state tinyint null comment '订单状态:0-未支付,1-已支付,2-已关闭,3-超时付,4-退款中,5-已退款'; alter table adam_member_order modify state tinyint null comment '订单状态:0-未支付,1-已支付,2-已关闭,3-超时付,4-退款中,5-已退款';
......
...@@ -5,13 +5,20 @@ import com.github.pagehelper.PageInfo; ...@@ -5,13 +5,20 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.PayAgainParam;
import com.liquidnet.service.kylin.dto.param.PayOrderParam;
import com.liquidnet.service.kylin.dto.param.SyncOrderParam;
import com.liquidnet.service.kylin.dto.vo.returns.*; import com.liquidnet.service.kylin.dto.vo.returns.*;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsService; import com.liquidnet.service.kylin.service.IKylinOrderTicketsService;
import com.liquidnet.service.kylin.service.impl.KylinOrderTicketsServiceImpl;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.HashMap; import java.util.HashMap;
...@@ -79,6 +86,14 @@ public class KylinOrderTicketsController { ...@@ -79,6 +86,14 @@ public class KylinOrderTicketsController {
} }
} }
@GetMapping("supplementEnter")
@ApiOperation("补充入场人")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<Boolean> supplementEnter(@RequestParam(value = "orderId", required = true) @NotNull(message = "订单ID不能为空") String orderId,
@RequestParam(value = "enterList", required = true) @NotNull(message = "入场人id(逗号隔开)") String enterList) {
return orderTicketsService.supplementEnter(orderId, enterList);
}
@GetMapping("orderUnPayCount") @GetMapping("orderUnPayCount")
@ApiOperation("待支付演出订单数量") @ApiOperation("待支付演出订单数量")
@ApiResponse(code = 200, message = "接口返回对象参数") @ApiResponse(code = 200, message = "接口返回对象参数")
...@@ -104,6 +119,7 @@ public class KylinOrderTicketsController { ...@@ -104,6 +119,7 @@ public class KylinOrderTicketsController {
return orderTicketsService.orderTransfer(orderId, transferUid, transferMobile); return orderTicketsService.orderTransfer(orderId, transferUid, transferMobile);
} }
@PostMapping("transferWithDraw") @PostMapping("transferWithDraw")
@ApiOperation("转赠订单撤回") @ApiOperation("转赠订单撤回")
@ApiResponse(code = 200, message = "接口返回对象参数") @ApiResponse(code = 200, message = "接口返回对象参数")
......
package com.liquidnet.service.kylin.service.impl; package com.liquidnet.service.kylin.service.impl;
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.commons.lang.util.*; import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo; import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
...@@ -11,13 +13,18 @@ import com.liquidnet.service.base.constant.MQConst; ...@@ -11,13 +13,18 @@ import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst; import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo; import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo; import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderRefundEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.returns.*; import com.liquidnet.service.kylin.dto.vo.returns.*;
import com.liquidnet.service.kylin.entity.*; import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsService; import com.liquidnet.service.kylin.service.IKylinOrderTicketsService;
import com.liquidnet.service.kylin.utils.*; import com.liquidnet.service.kylin.utils.DataUtils;
import com.liquidnet.service.kylin.utils.ObjectUtil;
import com.liquidnet.service.kylin.utils.OrderUtils;
import com.liquidnet.service.kylin.utils.QueueUtils;
import com.mongodb.BasicDBObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.bson.Document; import org.bson.Document;
...@@ -54,6 +61,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -54,6 +61,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
private MongoTemplate mongoTemplate; private MongoTemplate mongoTemplate;
@Autowired @Autowired
private QueueUtils queueUtils; private QueueUtils queueUtils;
@Autowired
private KylinRefundsStatusServiceImpl refundsStatusService;
@Override @Override
public PageInfo<List<KylinOrderListVo>> orderList() { public PageInfo<List<KylinOrderListVo>> orderList() {
...@@ -223,7 +232,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -223,7 +232,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
if (null != performanceVo.getIsCanRefund() && performanceVo.getIsCanRefund() == 1) { if (null != performanceVo.getIsCanRefund() && performanceVo.getIsCanRefund() == 1) {
LocalDateTime refundOpenDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundOpenTime()); LocalDateTime refundOpenDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundOpenTime());
LocalDateTime refundCloseDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundCloseTime()); LocalDateTime refundCloseDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundCloseTime());
if (LocalDateTime.now().isAfter(refundOpenDate) && LocalDateTime.now().isBefore(refundCloseDate) if (LocalDateTime.now().isAfter(refundOpenDate) && LocalDateTime.now().isBefore(refundCloseDate) && orderTicketVo.getExpressAddress().trim().equals("")
&& ticketVo.getCounts() == 1 && lockPrice.compareTo(orderTicketVo.getPriceActual()) != 0 && ticketVo.getCounts() == 1 && lockPrice.compareTo(orderTicketVo.getPriceActual()) != 0
&& (orderTicketVo.getStatus().equals(1) || orderTicketVo.getStatus().equals(3) || orderTicketVo.getStatus().equals(6)) && (orderTicketVo.getStatus().equals(1) || orderTicketVo.getStatus().equals(3) || orderTicketVo.getStatus().equals(6))
&& (orderTicketVo.getTransferStatus().equals(0) || orderTicketVo.getTransferStatus().equals(5))) { && (orderTicketVo.getTransferStatus().equals(0) || orderTicketVo.getTransferStatus().equals(5))) {
...@@ -249,18 +258,23 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -249,18 +258,23 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
vo.setIsCanTransfer(0); vo.setIsCanTransfer(0);
} }
//是否可回退 //是否可回退
if (null != performanceVo.getIsCanRefund() && performanceVo.getIsCanRefund() == 1) { // if (null != performanceVo.getIsCanRefund() && performanceVo.getIsCanRefund() == 1) {
LocalDateTime refundOpenDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundOpenTime()); // LocalDateTime refundOpenDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundOpenTime());
LocalDateTime refundCloseDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundCloseTime()); // LocalDateTime refundCloseDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundCloseTime());
if (LocalDateTime.now().isAfter(refundOpenDate) && LocalDateTime.now().isBefore(refundCloseDate) // if (LocalDateTime.now().isAfter(refundOpenDate) && LocalDateTime.now().isBefore(refundCloseDate)
&& orderTicketVo.getTransferStatus().equals(3)) { // && orderTicketVo.getTransferStatus().equals(3)) {
// vo.setIsCanBack(1);
// } else {
// vo.setIsCanBack(0);
// }
// } else {
// vo.setIsCanBack(0);
// }
if (orderTicketVo.getTransferStatus().equals(3) && LocalDateTime.now().isBefore(DateUtil.Formatter.yyyyMMddHHmmss.parse(orderTicketVo.getUseStart()))) {
vo.setIsCanBack(1); vo.setIsCanBack(1);
} else { } else {
vo.setIsCanBack(0); vo.setIsCanBack(0);
} }
} else {
vo.setIsCanBack(0);
}
// 快递票不可退 // 快递票不可退
if (orderTicketVo.getGetTicketType().equals("express")) { if (orderTicketVo.getGetTicketType().equals("express")) {
vo.setIsCanBack(0); vo.setIsCanBack(0);
...@@ -307,6 +321,74 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -307,6 +321,74 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
return ResponseDto.success(unPayCount); return ResponseDto.success(unPayCount);
} }
@Override
public ResponseDto<Boolean> supplementEnter(String orderId, String enterList) {
String uid = CurrentUtil.getCurrentUid();
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
if (uid.equals("809406") || uid.equals("773650")) {
} else {
if (!orderTicketVo.getUserId().equals(uid)) {
return ResponseDto.failure(ErrorMapping.get("20003"));
}
}
KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId());
List<KylinOrderTicketEntitiesVo> kylinOrderTicketEntitiesVoList = orderTicketVo.getEntitiesVoList();
KylinTicketVo ticketVo = null;
//获取购票数据
for (int x = 0; x < performanceVo.getTicketTimeList().size(); x++) {
KylinTicketTimesVo timeItem = performanceVo.getTicketTimeList().get(x);
for (int y = 0; y < timeItem.getTicketList().size(); y++) {
KylinTicketVo ticketItem = timeItem.getTicketList().get(y);
if (ticketItem.getTicketsId().equals(orderTicketVo.getTicketId())) {
ticketVo = ticketItem;
break;
}
}
}
if (ticketVo == null || ticketVo.getIsTrueName() == 0) {
return ResponseDto.failure("错误请求");
}
List<AdamEntersVo> adamEnters = orderUtils.getEnters(enterList, uid);
if (adamEnters == null) {
return ResponseDto.failure("入场人数据异常");//乱七八糟异常
}
if (adamEnters.size() != kylinOrderTicketEntitiesVoList.size()) {
return ResponseDto.failure("入场人数量错误");
}
LinkedList<String> sqls = CollectionUtil.linkedListString();
LinkedList<Object[]> sqlsData = CollectionUtil.linkedListObjectArr();
sqls.add(SqlMapping.get("kylin_order_refund_entities.supplementEnter"));
for (int i = 0; i < kylinOrderTicketEntitiesVoList.size(); i++) {
KylinOrderTicketEntitiesVo data = kylinOrderTicketEntitiesVoList.get(i);
String orderTicketEntitiesId = data.getOrderTicketEntitiesId();
if(data.getEnterName().trim().length()>0){
return ResponseDto.failure("订单已实名不可更改");
}
AdamEntersVo adamEntersData = adamEnters.get(i);
mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketEntitiesId").is(orderTicketEntitiesId)).getQueryObject(),
new Document("$set", new Document("enterType", adamEntersData.getType())
.append("enterName", adamEntersData.getName())
.append("enterMobile", adamEntersData.getMobile())
.append("enterIdCode", adamEntersData.getIdCard())
.append("updatedAt", DateUtil.Formatter.yyyyMMddHHmmss.format(LocalDateTime.now())))
);
sqlsData.add(new Object[]{
adamEntersData.getType(), adamEntersData.getName(), adamEntersData.getMobile(), adamEntersData.getIdCard(), LocalDateTime.now(), orderTicketEntitiesId
});
}
//入库
queueUtils.sendMsgByRedis(MQConst.KylinQueue.SQL_PERFORMANCE_LACK.getKey(),
SqlMapping.gets(sqls, sqlsData));
dataUtils.delOrderTicketRedis(orderId);
return ResponseDto.success();
}
@Override @Override
public ResponseDto<String> orderTransfer(String orderId, String transferUid, String transferMobile) { public ResponseDto<String> orderTransfer(String orderId, String transferUid, String transferMobile) {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
...@@ -327,6 +409,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -327,6 +409,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
LocalDateTime transferStartTime = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getTransferStartTime()); LocalDateTime transferStartTime = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getTransferStartTime());
LocalDateTime transferEndTime = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getTransferEndTime()); LocalDateTime transferEndTime = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getTransferEndTime());
if (LocalDateTime.now().isAfter(transferStartTime) && LocalDateTime.now().isBefore(transferEndTime) if (LocalDateTime.now().isAfter(transferStartTime) && LocalDateTime.now().isBefore(transferEndTime)
&& orderTicketVo.getExpressAddress().trim().equals("")
&& orderTicketVo.getStatus().equals(1) && orderTicketVo.getTransferStatus().equals(0)) { && orderTicketVo.getStatus().equals(1) && orderTicketVo.getTransferStatus().equals(0)) {
isCanTransfer = true; isCanTransfer = true;
} else { } else {
...@@ -777,11 +860,11 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -777,11 +860,11 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
//必须开启退款 //必须开启退款
String performanceId = vo.getPerformanceId(); String performanceId = vo.getPerformanceId();
KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(performanceId); KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(performanceId);
LocalDateTime refundOpenDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundOpenTime()); // LocalDateTime refundOpenDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundOpenTime());
LocalDateTime refundCloseDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundCloseTime()); // LocalDateTime refundCloseDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundCloseTime());
if (!(performanceVo.getIsCanRefund().equals(1) && LocalDateTime.now().isAfter(refundOpenDate) && LocalDateTime.now().isBefore(refundCloseDate))) { // if (!(performanceVo.getIsCanRefund().equals(1) && LocalDateTime.now().isAfter(refundOpenDate) && LocalDateTime.now().isBefore(refundCloseDate))) {
return ResponseDto.failure("未开启退款,不支持回退"); // return ResponseDto.failure("未开启退款,不支持回退");
} // }
if (!vo.getTransferStatus().equals(3)) { if (!vo.getTransferStatus().equals(3)) {
return ResponseDto.failure("无法退回"); return ResponseDto.failure("无法退回");
} }
......
...@@ -184,7 +184,7 @@ public class OrderUtils { ...@@ -184,7 +184,7 @@ public class OrderUtils {
public List<AdamEntersVo> getEnters(String entersIds, String uid) { public List<AdamEntersVo> getEnters(String entersIds, String uid) {
MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString(); MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString();
headers.add("Accept", "application/json;charset=UTF-8"); headers.add("Accept", "application/json;charset=UTF-8");
String returnVo = HttpUtil.get(adamUrl + "/adam/rsc/inquire/enters?entersIds=" + entersIds + "&uid=" + uid, null, headers); String returnVo = HttpUtil.get( adamUrl+ "/adam/rsc/inquire/enters?entersIds=" + entersIds + "&uid=" + uid, null, headers);
ResponseDto<List<AdamEntersVo>> ResponseVo = JsonUtils.fromJson(returnVo, new TypeReference<ResponseDto<List<AdamEntersVo>>>() { ResponseDto<List<AdamEntersVo>> ResponseVo = JsonUtils.fromJson(returnVo, new TypeReference<ResponseDto<List<AdamEntersVo>>>() {
}); });
return ResponseVo.getData(); return ResponseVo.getData();
......
...@@ -44,3 +44,5 @@ kylin_order_task.delete = DELETE FROM kylin_order_task WHERE order_id = ?; ...@@ -44,3 +44,5 @@ kylin_order_task.delete = DELETE FROM kylin_order_task WHERE order_id = ?;
kylin_order_ticket_status.transfer.update = UPDATE kylin_order_ticket_status SET transfer_status = ? ,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null) kylin_order_ticket_status.transfer.update = UPDATE kylin_order_ticket_status SET transfer_status = ? ,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
kylin_order_ticket_relation.transfer.update = UPDATE kylin_order_ticket_relations SET transfer_uid = ?, transfer_id = ? ,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null) kylin_order_ticket_relation.transfer.update = UPDATE kylin_order_ticket_relations SET transfer_uid = ?, transfer_id = ? ,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
# ------------------------ 订单补充入场人 ----------------------------
kylin_order_refund_entities.supplementEnter = UPDATE kylin_order_ticket_entities SET enter_type = ?,enter_name = ?,enter_mobile = ?,enter_id_code = ?,updated_at = ? WHERE order_ticket_entities_id = ?
...@@ -72,11 +72,11 @@ public class OrderRefundOvertimeServiceImpl implements IKylinOrderRefundsService ...@@ -72,11 +72,11 @@ public class OrderRefundOvertimeServiceImpl implements IKylinOrderRefundsService
); );
if (res) { if (res) {
// 超时直接退还库存 // 超时直接退还库存
for (KylinOrderTicketEntitiesVo entitiesInfo : entitiesList) { // for (KylinOrderTicketEntitiesVo entitiesInfo : entitiesList) {
// 因固定状态为未支付 所以无需判断 entitiesInfo.getIsPayment() == KylinTableStatusConst.ENTITIES_IS_PAYMENT3 // // 因固定状态为未支付 所以无需判断 entitiesInfo.getIsPayment() == KylinTableStatusConst.ENTITIES_IS_PAYMENT3
dataUtils.changeSurplusGeneral(entitiesInfo.getTicketId(), 1); // dataUtils.changeSurplusGeneral(entitiesInfo.getTicketId(), 1);
dataUtils.changeBuyInfo(orderInfo.getUserId(), entitiesInfo.getEnterIdCode(), orderInfo.getPerformanceId(), entitiesInfo.getTicketId(), -1); // dataUtils.changeBuyInfo(orderInfo.getUserId(), entitiesInfo.getEnterIdCode(), orderInfo.getPerformanceId(), entitiesInfo.getTicketId(), -1);
} // }
// 退所有优惠券 // 退所有优惠券
ArrayList<KylinOrderCoupons> orderCoupon = dataUtils.getOrderCoupon(orderTicketsId); ArrayList<KylinOrderCoupons> orderCoupon = dataUtils.getOrderCoupon(orderTicketsId);
if (!CollectionUtil.isEmpty(orderCoupon)) { if (!CollectionUtil.isEmpty(orderCoupon)) {
......
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 to comment