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

Commit 5eb8a51c authored by qinshuangshuang's avatar qinshuangshuang

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

parents 55391639 468e6e71
package com.liquidnet.service.adam.dto.param.admin;
import lombok.Data;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: MemberOrderListReq
* @Package com.liquidnet.service.adam.dto.param.admin
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/6/20 18:18
*/
@Data
public class MemberOrderListReq {
/**
* 订单号
*/
private String orderNo;
/**
* 电话
*/
private String mobile;
/**
* 支付方式:alipay,wepay,vipcode,giftcode
*/
private String payType;
/**
* 订单状态:0未支付 1已支付 2已超时 5已退款
*/
private Integer state;
/**
* 购买方式:0-购买会员 1-购买会员码,2-使用会员码
*/
private String mode;
/**
* 购买来源 Android iOS h5
*/
private String source;
/**
* 支付开始时间
*/
private String paymentAtStart;
/**
* 支付结束时间
*/
private String paymentAtEnd;
}
package com.liquidnet.service.adam.dto.vo.admin;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.entity.AdamUser;
import lombok.Data;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: MemberOrderDetailAdminVo
* @Package com.liquidnet.service.adam.dto.vo.admin
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/6/20 14:37
*/
@Data
public class MemberOrderDetailAdminVo {
private AdamMemberOrderVo adamMemberOrderVo;
private AdamUser adamUser;
private AdamUserInfoVo adamUserInfoVo;
private AdamUserMemberVo adamUserMemberVo;
}
package com.liquidnet.service.adam.service.admin; package com.liquidnet.service.adam.service.admin;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.MemberOrderDto;
import com.liquidnet.service.adam.dto.param.admin.MemberOrderListReq;
import com.liquidnet.service.adam.dto.vo.admin.MemberOrderDetailAdminVo;
import com.liquidnet.service.adam.entity.AdamMemberOrder; import com.liquidnet.service.adam.entity.AdamMemberOrder;
import java.util.List;
/** /**
* @author AnJiabin <anjiabin@zhengzai.tv> * @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0 * @version V1.0
...@@ -13,5 +18,7 @@ import com.liquidnet.service.adam.entity.AdamMemberOrder; ...@@ -13,5 +18,7 @@ import com.liquidnet.service.adam.entity.AdamMemberOrder;
* @date 2021/6/6 16:23 * @date 2021/6/6 16:23
*/ */
public interface IAdamMemberOrderAdminService extends IService<AdamMemberOrder> { public interface IAdamMemberOrderAdminService extends IService<AdamMemberOrder> {
List<MemberOrderDto> getMemberOrderList(MemberOrderListReq memberOrderListReq);
MemberOrderDetailAdminVo getMemberOrderDetail(String orderNo);
} }
...@@ -114,6 +114,6 @@ public class KylinTicketPartnerVo implements Serializable { ...@@ -114,6 +114,6 @@ public class KylinTicketPartnerVo implements Serializable {
this.setIsTransfer(0); this.setIsTransfer(0);
this.setIsExclusive(0); this.setIsExclusive(0);
this.setSurplusExchange(this.getTotalExchange()); this.setSurplusExchange(this.getTotalExchange());
this.setSurplusGeneral(this.getTotalExchange()); this.setSurplusGeneral(this.getTotalGeneral());
} }
} }
\ No newline at end of file
package com.liquidnet.client.admin.web.controller.zhengzai.adam; package com.liquidnet.client.admin.web.controller.zhengzai.adam;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.liquidnet.client.admin.common.core.controller.BaseController; import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.service.adam.entity.AdamMemberOrder; import com.liquidnet.service.adam.dto.MemberOrderDto;
import com.liquidnet.service.adam.dto.param.admin.MemberOrderListReq;
import com.liquidnet.service.adam.dto.vo.admin.MemberOrderDetailAdminVo;
import com.liquidnet.service.adam.service.admin.IAdamMemberOrderAdminService; import com.liquidnet.service.adam.service.admin.IAdamMemberOrderAdminService;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -44,10 +45,10 @@ public class AdamMemberOrderController extends BaseController ...@@ -44,10 +45,10 @@ public class AdamMemberOrderController extends BaseController
@RequiresPermissions("adam:order:orderlist:list") @RequiresPermissions("adam:order:orderlist:list")
@PostMapping("/orderList/list") @PostMapping("/orderList/list")
@ResponseBody @ResponseBody
public TableDataInfo list(AdamMemberOrder adamMemberOrder) public TableDataInfo list(MemberOrderListReq memberOrderListReq)
{ {
startPage(); startPage();
List<AdamMemberOrder> list = adamMemberOrderAdminService.list(); List<MemberOrderDto> list = adamMemberOrderAdminService.getMemberOrderList(memberOrderListReq);
return getDataTable(list); return getDataTable(list);
} }
...@@ -57,9 +58,7 @@ public class AdamMemberOrderController extends BaseController ...@@ -57,9 +58,7 @@ public class AdamMemberOrderController extends BaseController
@RequiresPermissions("adam:order:orderlist:detail") @RequiresPermissions("adam:order:orderlist:detail")
@GetMapping("/orderList/detail/{orderId}") @GetMapping("/orderList/detail/{orderId}")
public String orderDetail(@PathVariable("orderId") String orderId, ModelMap mmap) { public String orderDetail(@PathVariable("orderId") String orderId, ModelMap mmap) {
LambdaQueryWrapper<AdamMemberOrder> queryWrapper = new LambdaQueryWrapper(); MemberOrderDetailAdminVo orderDetailsVo = adamMemberOrderAdminService.getMemberOrderDetail(orderId);
queryWrapper.eq(AdamMemberOrder::getOrderNo,orderId);
AdamMemberOrder orderDetailsVo = adamMemberOrderAdminService.getOne(queryWrapper);
mmap.put("orderDetailsVo", orderDetailsVo); mmap.put("orderDetailsVo", orderDetailsVo);
return prefix + "/orderList/detail"; return prefix + "/orderList/detail";
} }
......
<!DOCTYPE html> <!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head> <head>
<th:block th:include="include :: header('修改【请填写功能名称】')" /> <th:block th:include="include :: header('会员订单详情')" />
<th:block th:include="include :: datetimepicker-css" /> <th:block th:include="include :: datetimepicker-css" />
</head> </head>
<body class="white-bg"> <body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-order-edit" th:object="${adamMemberOrder}"> <form class="form-horizontal m" id="form-order-edit" th:object="${orderDetailsVo}">
<input name="mid" th:field="*{mid}" type="hidden">
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">支付时间:</label> <label class="col-sm-3 control-label">订单状态:</label>
<div class="col-sm-8"> <div class="col-sm-8" th:text="*{@dict.getLabel('zhengzai_member_order_status',adamMemberOrderVo.state)}">
<input name="orderNo" th:field="*{orderNo}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">支付时间</label> <label class="col-sm-3 control-label">价格</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="uid" th:field="*{uid}" class="form-control" type="text"> <input name="pricePaid" th:field="*{adamMemberOrderVo.price}" class="form-control" type="text" readonly>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">购买方式:0-购买会员 1-购买会员码,2-使用会员码</label> <label class="col-sm-3 control-label">可用时间(天)</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="mode" th:field="*{mode}" class="form-control" type="text"> <input name="days" th:field="*{adamMemberOrderVo.days}" class="form-control" type="text" readonly>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">原价</label> <label class="col-sm-3 control-label">订单号</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="price" th:field="*{price}" class="form-control" type="text"> <input name="orderNo" th:field="*{adamMemberOrderVo.orderNo}" class="form-control" type="text" readonly>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">实际支付</label> <label class="col-sm-3 control-label">生成时间</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="pricePaid" th:field="*{pricePaid}" class="form-control" type="text"> <input name="createdAt" th:field="*{adamMemberOrderVo.createdAt}" class="form-control" type="text" readonly>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">实际支付</label> <label class="col-sm-3 control-label">购买人手机号</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="memberName" th:field="*{memberName}" class="form-control" type="text"> <input name="memberName" th:field="*{adamMemberOrderVo.memberName}" class="form-control" type="text" readonly>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">会员id</label> <label class="col-sm-3 control-label">版本</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="memberId" th:field="*{memberId}" class="form-control" type="text"> <input name="version" th:field="*{adamMemberOrderVo.version}" class="form-control" type="text" readonly>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">会员价格id</label> <label class="col-sm-3 control-label">客户端</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="memberPriceId" th:field="*{memberPriceId}" class="form-control" type="text"> <input name="source" th:field="*{adamMemberOrderVo.source}" class="form-control" type="text" readonly>
</div> </div>
</div> </div>
<div class="form-group"> <!-- &lt;!&ndash; 会员卡信息&ndash;&gt;-->
<label class="col-sm-3 control-label">购买天数:</label> <div class="form-group">
<label class="col-sm-3 control-label">会员卡ID:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="days" th:field="*{days}" class="form-control" type="text"> <input name="memberNo" th:field="*{adamMemberOrderVo.memberId}" class="form-control" type="text" readonly>
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-sm-3 control-label">订单状态:</label> <div class="form-group">
<div class="col-sm-8"> <label class="col-sm-3 control-label">会员卡名称:</label>
<input name="state" th:field="*{state}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">会员号:</label>
<div class="col-sm-8">
<input name="memberNo" th:field="*{memberNo}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">支付渠道:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="payChannel" th:field="*{payChannel}" class="form-control" type="text"> <input name="state" th:field="*{adamMemberOrderVo.memberName}" class="form-control" type="text" readonly>
</div> </div>
</div> </div>
<div class="form-group"> <!-- <div class="form-group">-->
<label class="col-sm-3 control-label">支付订单:</label> <!-- <label class="col-sm-3 control-label">会员勋章:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="memberNo" th:field="*{adamMemberOrderVo.memberNo}" class="form-control" type="text">-->
<!-- </div>-->
<!-- </div>-->
<div class="form-group">
<label class="col-sm-3 control-label">会员头像:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="payNo" th:field="*{payNo}" class="form-control" type="text"> <img class="img-circle img-lg" th:src="(*{#strings.isEmpty(adamUserInfoVo.avatar)}) ? @{/img/profile.jpg} : @{*{adamUserInfoVo.avatar}}" th:onerror="'this.src=\'' + @{'/img/profile.jpg'} + '\''">
</div> </div>
</div> </div>
<div class="form-group"> <!-- &lt;!&ndash; 套餐信息&ndash;&gt;-->
<div class="form-group">
<label class="col-sm-3 control-label">用户生日:</label> <label class="col-sm-3 control-label">用户生日:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<div class="input-group date"> <div class="input-group">
<input name="birthday" th:value="${#dates.format(adamMemberOrder.birthday, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text"> <input th:value="*{adamMemberOrderVo.birthday}" class="form-control" type="text" readonly>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">支付时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="paymentAt" th:value="${#dates.format(adamMemberOrder.paymentAt, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">支付时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="createdAt" th:value="${#dates.format(adamMemberOrder.createdAt, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">支付时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="updatedAt" th:value="${#dates.format(adamMemberOrder.updatedAt, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div> </div>
</div> </div>
</div> </div>
<div class="form-group"> <!-- <div class="form-group">-->
<label class="col-sm-3 control-label">支付时间:</label> <!-- <label class="col-sm-3 control-label">喜欢的音乐人:</label>-->
<div class="col-sm-8"> <!-- <div class="col-sm-8">-->
<input name="clientIp" th:field="*{clientIp}" class="form-control" type="text"> <!-- <input name="version" th:field="*{version}" class="form-control" type="text">-->
</div> <!-- </div>-->
</div> <!-- </div>-->
<div class="form-group">
<label class="col-sm-3 control-label">支付时间:</label>
<div class="col-sm-8">
<input name="source" th:field="*{source}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">支付时间:</label>
<div class="col-sm-8">
<input name="version" th:field="*{version}" class="form-control" type="text">
</div>
</div>
</form> </form>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
......
...@@ -20,36 +20,36 @@ ...@@ -20,36 +20,36 @@
</li> </li>
<li> <li>
<label>支付方式:</label> <label>支付方式:</label>
<select name="paymentType" th:with="type=${@dict.getType('zhengzai_pay_type')}"> <select name="payType" th:with="type=${@dict.getType('zhengzai_pay_type')}">
<option value="">所有</option> <option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select> </select>
</li> </li>
<li> <li>
<label>订单状态:</label> <label>订单状态:</label>
<select name="orderStatus" th:with="type=${@dict.getType('zhengzai_order_status')}"> <select name="state" th:with="type=${@dict.getType('zhengzai_member_order_status')}">
<option value="">所有</option> <option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select> </select>
</li> </li>
<li> <li>
<label>购买方式:</label> <label>购买方式:</label>
<select name="buyMode" th:with="type=${@dict.getType('zhengzai_buy_mode')}"> <select name="mode" th:with="type=${@dict.getType('zhengzai_buy_mode')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select> </select>
</li> </li>
<li> <li>
<label>客户端:</label> <label>客户端:</label>
<select name="orderSource" th:with="type=${@dict.getType('zhengzai_order_source')}"> <select name="source" th:with="type=${@dict.getType('zhengzai_order_source')}">
<option value="">所有</option> <option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select> </select>
</li> </li>
<li class="select-time"> <li class="select-time">
<label>支付时间: </label> <label>支付时间: </label>
<input type="text" class="time-input" id="timePayStart" placeholder="开始日期" name="params[beginTime]"/> <input type="text" class="time-input" id="timeStart" placeholder="开始日期" name="paymentAtStart"/>
<span>-</span> <span>-</span>
<input type="text" class="time-input" id="timePayEnd" placeholder="结束日期" name="params[endTime]"/> <input type="text" class="time-input" id="timeEnd" placeholder="结束日期" name="paymentAtEnd"/>
</li> </li>
<li> <li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
...@@ -83,6 +83,7 @@ ...@@ -83,6 +83,7 @@
<script th:inline="javascript"> <script th:inline="javascript">
var detailFlag = [[${@permission.hasPermi('adam:order:orderList')}]]; var detailFlag = [[${@permission.hasPermi('adam:order:orderList')}]];
var prefix = ctx + "adam/order/orderList"; var prefix = ctx + "adam/order/orderList";
var orderStatusDic = [[${@dict.getType('zhengzai_member_order_status')}]];
$(function() { $(function() {
var options = { var options = {
...@@ -91,6 +92,7 @@ ...@@ -91,6 +92,7 @@
updateUrl: prefix + "/edit/{id}", updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove", removeUrl: prefix + "/remove",
exportUrl: prefix + "/export", exportUrl: prefix + "/export",
detailUrl: prefix + "/detail/{id}",
modalName: "【请填写功能名称】", modalName: "【请填写功能名称】",
columns: [{ columns: [{
checkbox: true checkbox: true
...@@ -101,7 +103,10 @@ ...@@ -101,7 +103,10 @@
}, },
{ {
field: 'state', field: 'state',
title: '订单状态' title: '订单状态',
formatter: function(value, row, index) {
return $.table.selectDictLabel(orderStatusDic, value);
}
}, },
{ {
field: 'payType', field: 'payType',
...@@ -114,6 +119,9 @@ ...@@ -114,6 +119,9 @@
{ {
field: 'paymentAt', field: 'paymentAt',
title: '支付时间' title: '支付时间'
// formatter: function(value, row, index) {
// return [[${#dates.format(value, 'yyyy-MM-dd')}]];
// }
}, },
{ {
field: 'createdAt', field: 'createdAt',
...@@ -124,17 +132,17 @@ ...@@ -124,17 +132,17 @@
title: '用户ID' title: '用户ID'
}, },
{ {
field: 'memberPriceId', field: 'mobile',
title: '手机号' title: '手机号'
}, },
{ {
field: 'source', field: 'source',
title: '客户端' title: '客户端'
}, },
{ // {
field: 'state', // field: 'state',
title: '快递状态' // title: '快递状态'
}, // },
{ {
title: '操作', title: '操作',
align: 'center', align: 'center',
......
...@@ -129,9 +129,16 @@ ...@@ -129,9 +129,16 @@
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
$.operate.save(prefix + "/save", $('#form-member-audit').serialize()); const auditStatus = document.getElementsByName("status")[0].checked ? 3 : 4;
if (4 === auditStatus) {
auditRejectTxt = document.getElementsByName("rejectTxt")[0].value;
}if (4 === auditStatus && auditRejectTxt === "") {
alert("请填写拒绝理由");
} else {
$.operate.save(prefix + "/save", $('#form-member-audit').serialize());
}
} }
} }
</script> </script>
</body> </body>
</html> </html>
\ No newline at end of file
package com.liquidnet.client.admin.zhengzai.adam.service.impl; package com.liquidnet.client.admin.zhengzai.adam.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.service.adam.dto.MemberOrderDto;
import com.liquidnet.service.adam.dto.param.admin.MemberOrderListReq;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.dto.vo.admin.MemberOrderDetailAdminVo;
import com.liquidnet.service.adam.entity.AdamMemberOrder; import com.liquidnet.service.adam.entity.AdamMemberOrder;
import com.liquidnet.service.adam.entity.AdamUser;
import com.liquidnet.service.adam.entity.AdamUserInfo;
import com.liquidnet.service.adam.entity.AdamUserMember;
import com.liquidnet.service.adam.mapper.AdamMemberOrderMapper; import com.liquidnet.service.adam.mapper.AdamMemberOrderMapper;
import com.liquidnet.service.adam.mapper.AdamUserInfoMapper;
import com.liquidnet.service.adam.mapper.AdamUserMapper;
import com.liquidnet.service.adam.mapper.AdamUserMemberMapper;
import com.liquidnet.service.adam.service.admin.IAdamMemberOrderAdminService; import com.liquidnet.service.adam.service.admin.IAdamMemberOrderAdminService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.beans.IntrospectionException;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* @author AnJiabin <anjiabin@zhengzai.tv> * @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0 * @version V1.0
...@@ -17,4 +38,63 @@ import org.springframework.stereotype.Service; ...@@ -17,4 +38,63 @@ import org.springframework.stereotype.Service;
*/ */
@Service @Service
public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrderMapper, AdamMemberOrder> implements IAdamMemberOrderAdminService { public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrderMapper, AdamMemberOrder> implements IAdamMemberOrderAdminService {
@Autowired
private AdamMemberOrderMapper adamMemberOrderMapper;
@Autowired
private AdamUserMemberMapper adamUserMemberMapper;
@Autowired
private AdamUserInfoMapper adamUserInfoMapper;
@Autowired
private AdamUserMapper adamUserMapper;
@Override
public List<MemberOrderDto> getMemberOrderList(MemberOrderListReq memberOrderListReq) {
Map<String, Object> reqParamMap = new HashMap<>();
try {
reqParamMap = BeanUtil.convertBeanToMap(memberOrderListReq,false);
} catch (IntrospectionException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
List<MemberOrderDto> list = adamMemberOrderMapper.getMemberOrderList(reqParamMap);
return list;
}
@Override
public MemberOrderDetailAdminVo getMemberOrderDetail(String orderNo) {
MemberOrderDetailAdminVo detailAdminVo = new MemberOrderDetailAdminVo();
AdamMemberOrderVo adamMemberOrderVo = new AdamMemberOrderVo();
AdamUser adamUser = new AdamUser();
AdamUserInfoVo adamUserInfoVo = new AdamUserInfoVo();
AdamUserMemberVo adamUserMemberVo = new AdamUserMemberVo();
LambdaQueryWrapper<AdamMemberOrder> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(AdamMemberOrder::getOrderNo,orderNo);
AdamMemberOrder adamMemberOrder = adamMemberOrderMapper.selectOne(queryWrapper);
BeanUtil.copy(adamMemberOrder,adamMemberOrderVo);
//获取用户会员信息
LambdaQueryWrapper<AdamUserMember> adamUserMemberWrapper = new LambdaQueryWrapper();
adamUserMemberWrapper.eq(AdamUserMember::getUid,adamMemberOrderVo.getUid());
AdamUserMember adamUserMember = adamUserMemberMapper.selectOne(adamUserMemberWrapper);
BeanUtil.copy(adamUserMember,adamUserMemberVo);
//获取用户信息表
LambdaQueryWrapper<AdamUserInfo> adamUserInfoWrapper = new LambdaQueryWrapper();
adamUserInfoWrapper.eq(AdamUserInfo::getUid,adamMemberOrderVo.getUid());
AdamUserInfo adamUserInfo = adamUserInfoMapper.selectOne(adamUserInfoWrapper);
BeanUtil.copy(adamUserInfo,adamUserInfoVo);
//获取用户表信息
LambdaQueryWrapper<AdamUser> adamUserWrapper = new LambdaQueryWrapper();
adamUserWrapper.eq(AdamUser::getUid,adamMemberOrderVo.getUid());
adamUser = adamUserMapper.selectOne(adamUserWrapper);
detailAdminVo.setAdamMemberOrderVo(adamMemberOrderVo);
detailAdminVo.setAdamUserMemberVo(adamUserMemberVo);
detailAdminVo.setAdamUserInfoVo(adamUserInfoVo);
detailAdminVo.setAdamUser(adamUser);
return detailAdminVo;
}
} }
...@@ -156,7 +156,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -156,7 +156,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
mapSql.put("status", 9); mapSql.put("status", 9);
mapSql.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); mapSql.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
performanceVoUtils.updatePerformanceMySql(performancesId, mapSql, performanceVoUtils.getPerformanceMisVo(performancesId), updatedAt, auditStatus); performanceVoUtils.updatePerformanceMySql(performancesId, mapSql, performanceVoUtils.getPerformanceMisVo(performancesId), updatedAt, auditStatus);
if (sqlStatus.getStatus() >= 6 && sqlStatus.getStatus()!=7) {//若 演出上 则 线判断状态 if (sqlStatus.getStatus() >= 6 && sqlStatus.getStatus() != 7) {//若 演出上 则 线判断状态
performanceVoUtils.performanceVoStatus(performancesId); performanceVoUtils.performanceVoStatus(performancesId);
} }
} }
...@@ -202,7 +202,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -202,7 +202,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
public List<PerformanceAdminListDao> getList(PerformanceAdminListParam performanceAdminListParam) { public List<PerformanceAdminListDao> getList(PerformanceAdminListParam performanceAdminListParam) {
List<PerformanceAdminListDao> newList = new ArrayList(); List<PerformanceAdminListDao> newList = new ArrayList();
try { try {
Map<String ,Object> map = BeanUtil.convertBeanToMap(performanceAdminListParam); Map<String, Object> map = BeanUtil.convertBeanToMap(performanceAdminListParam);
List<PerformanceAdminListDao> voList = performancesMapper.misPerformanceList(map); List<PerformanceAdminListDao> voList = performancesMapper.misPerformanceList(map);
for (PerformanceAdminListDao item : voList) { for (PerformanceAdminListDao item : voList) {
item.setStatus(item.getStatus()); item.setStatus(item.getStatus());
...@@ -331,13 +331,9 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -331,13 +331,9 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
performanceMemberAuditDao.setIsExclusive(1); performanceMemberAuditDao.setIsExclusive(1);
} }
} }
PerformanceMemberAuditParam memberAuditVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), PerformanceMemberAuditParam.class, PerformanceMemberAuditParam.class.getSimpleName()); boolean isExists = mongoTemplate.exists(Query.query(Criteria.where("status").is(1).and("performancesId").is(performanceId)), PerformanceMemberAuditParam.class, PerformanceMemberAuditParam.class.getSimpleName());
if (memberAuditVo != null) { if (isExists) {
if (memberAuditVo.getStatus() == 1) {
performanceMemberAuditDao.setIsSubmit(1); performanceMemberAuditDao.setIsSubmit(1);
} else {
performanceMemberAuditDao.setIsSubmit(0);
}
} else { } else {
performanceMemberAuditDao.setIsSubmit(0); performanceMemberAuditDao.setIsSubmit(0);
} }
...@@ -347,9 +343,14 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -347,9 +343,14 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
@Override @Override
public boolean performanceMemberChange(PerformanceMemberAuditParam performanceMemberAuditParam) { public boolean performanceMemberChange(PerformanceMemberAuditParam performanceMemberAuditParam) {
try { try {
performanceMemberAuditParam.setStatus(1); boolean isExists = mongoTemplate.exists(Query.query(Criteria.where("status").is(1).and("performancesId").is(performanceMemberAuditParam.getPerformancesId())), PerformanceMemberAuditParam.class, PerformanceMemberAuditParam.class.getSimpleName());
mongoTemplate.insert(performanceMemberAuditParam, PerformanceMemberAuditParam.class.getSimpleName()); if (isExists) {
return true; return false;
} else {
performanceMemberAuditParam.setStatus(1);
mongoTemplate.insert(performanceMemberAuditParam, PerformanceMemberAuditParam.class.getSimpleName());
return true;
}
} catch (Exception e) { } catch (Exception e) {
return false; return false;
} }
...@@ -525,7 +526,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -525,7 +526,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
public boolean changeSysDamai(List<SysDamaiParam> params) { public boolean changeSysDamai(List<SysDamaiParam> params) {
try { try {
LocalDateTime updatedAt = LocalDateTime.now(); LocalDateTime updatedAt = LocalDateTime.now();
String performancesId=""; String performancesId = "";
for (SysDamaiParam item : params) { for (SysDamaiParam item : params) {
if (item.getStatus() != 0 && item.getStatus() != 1) { if (item.getStatus() != 0 && item.getStatus() != 1) {
return false; return false;
...@@ -537,7 +538,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -537,7 +538,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
ticketStatus.setSyncDamai(item.getStatus()); ticketStatus.setSyncDamai(item.getStatus());
ticketStatusMapper.update(ticketStatus, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", item.getId())); ticketStatusMapper.update(ticketStatus, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", item.getId()));
} else if (item.getType().equals("performance")) { } else if (item.getType().equals("performance")) {
performancesId=item.getId(); performancesId = item.getId();
KylinPerformanceStatus performanceStatus = new KylinPerformanceStatus(); KylinPerformanceStatus performanceStatus = new KylinPerformanceStatus();
performanceStatus.setUpdatedAt(updatedAt); performanceStatus.setUpdatedAt(updatedAt);
performanceStatus.setSyncDamai(item.getStatus()); performanceStatus.setSyncDamai(item.getStatus());
......
...@@ -92,11 +92,11 @@ public class MongoVoUtils { ...@@ -92,11 +92,11 @@ public class MongoVoUtils {
kylinTicketVo.setTicketStatus(t2); kylinTicketVo.setTicketStatus(t2);
ticketList.add(kylinTicketVo); ticketList.add(kylinTicketVo);
// //票种 库存redis //票种 库存redis
// if (!redisUtil.hHasKey(KylinRedisConst.PERFORMANCES_INVENTORY + kylinTicketVo.getTicketsId(), KylinRedisConst.SURPLUS_GENERAL)) { if (!redisUtil.hHasKey(KylinRedisConst.PERFORMANCES_INVENTORY + kylinTicketVo.getTicketsId(), KylinRedisConst.SURPLUS_GENERAL)) {
// dataUtils.setSurplusGeneral(kylinTicketVo.getTicketsId(), t2.getTotalGeneral()); dataUtils.setSurplusGeneral(kylinTicketVo.getTicketsId(), t2.getTotalGeneral());
// dataUtils.setSurplusExchange(kylinTicketVo.getTicketsId(), t2.getSurplusExchange()); dataUtils.setSurplusExchange(kylinTicketVo.getTicketsId(), t2.getSurplusExchange());
// } }
if (kylinTicketVo.getIsMember() == 1) { if (kylinTicketVo.getIsMember() == 1) {
if (kylinTicketVo.getMemberPrice().compareTo(kylinTicketVo.getPrice()) != 0) { if (kylinTicketVo.getMemberPrice().compareTo(kylinTicketVo.getPrice()) != 0) {
......
...@@ -356,7 +356,6 @@ public class PerformanceVoUtils { ...@@ -356,7 +356,6 @@ public class PerformanceVoUtils {
dataUtils.setSurplusExchange(tickets.getTicketsId(), ticketStatus.getSurplusExchange()); dataUtils.setSurplusExchange(tickets.getTicketsId(), ticketStatus.getSurplusExchange());
dataUtils.setSurplusGeneral(tickets.getTicketsId(), ticketStatus.getSurplusGeneral()); dataUtils.setSurplusGeneral(tickets.getTicketsId(), ticketStatus.getSurplusGeneral());
BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map)); BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(KylinTicketPartnerVo.class.getSimpleName()).updateOne( mongoTemplate.getCollection(KylinTicketPartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("ticketsId").is(ticketItem.getTicketsId())).getQueryObject(), Query.query(Criteria.where("ticketsId").is(ticketItem.getTicketsId())).getQueryObject(),
......
package com.liquidnet.service.adam.dto;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: MemberOrderDto
* @Package com.liquidnet.service.adam.dto
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/6/20 17:59
*/
@Data
public class MemberOrderDto {
private String uid;
private String orderNo;
private String state;
private String payType;
private BigDecimal price;
private BigDecimal pricePaid;
private String paymentAt;
private String createdAt;
private String mobile;
private String source;
private String mode;
}
package com.liquidnet.service.adam.mapper; package com.liquidnet.service.adam.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.adam.dto.MemberOrderDto;
import com.liquidnet.service.adam.entity.AdamMemberOrder; import com.liquidnet.service.adam.entity.AdamMemberOrder;
import java.util.List;
import java.util.Map;
public interface AdamMemberOrderMapper extends BaseMapper<AdamMemberOrder> { public interface AdamMemberOrderMapper extends BaseMapper<AdamMemberOrder> {
List<MemberOrderDto> getMemberOrderList(Map<String, Object> map);
} }
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
<result column="created_at" property="createdAt" /> <result column="created_at" property="createdAt" />
<result column="updated_at" property="updatedAt" /> <result column="updated_at" property="updatedAt" />
</resultMap> </resultMap>
<!-- sql --> <!-- sql -->
<select id="getFirstMember" resultMap="MemberResult"> <select id="getFirstMember" resultMap="MemberResult">
SELECT SELECT
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.adam.mapper.AdamMemberOrderMapper">
<resultMap id="orderListResult" type="com.liquidnet.service.adam.dto.MemberOrderDto" >
<result column="uid" property="uid" />
<result column="order_no" property="orderNo" />
<result column="state" property="state" />
<result column="pay_type" property="payType" />
<result column="price" property="price" />
<result column="price_paid" property="pricePaid" />
<result column="payment_at" property="paymentAt" />
<result column="created_at" property="createdAt" />
<result column="mobile" property="mobile" />
<result column="source" property="source" />
<result column="mode" property="mode" />
</resultMap>
<select id="getMemberOrderList" resultMap="orderListResult">
select amo.uid,
amo.order_no,
amo.state,
amo.pay_type,
amo.price,
amo.price_paid,
amo.payment_at,
amo.created_at,
au.mobile,
amo.source,
amo.mode
from adam_member_order amo
inner join adam_user_member aum
on amo.uid = aum.uid
inner join adam_user au on aum.uid = au.uid
<where>
<if test="orderNo != null and orderNo != ''">
and amo.order_no = #{orderNo}
</if>
<if test="mobile != null and mobile != ''">
and au.mobile = #{mobile}
</if>
<if test="payType != null and payType != ''">
and amo.pay_type = #{payType}
</if>
<if test="state != null and state != ''">
and amo.state = #{state}
</if>
<if test="mode != null and mode != ''">
and amo.mode = #{mode}
</if>
<if test="source != null and source != ''">
and amo.source = #{source}
</if>
<if test="paymentAtStart != null and paymentAtStart != ''">
and amo.payment_at &gt; #{paymentAtStart}
</if>
<if test="paymentAtEnd != null and paymentAtEnd != ''">
and amo.payment_at &lt; #{paymentAtEnd}
</if>
</where>
</select>
</mapper>
...@@ -98,9 +98,9 @@ public class KylinOrderTicketStatus implements Serializable { ...@@ -98,9 +98,9 @@ public class KylinOrderTicketStatus implements Serializable {
* *
* @return * @return
*/ */
public Object[] getCloseOrderObject(LocalDateTime updateTime,LocalDateTime createTime) { public Object[] getCloseOrderObject() {
return new Object[]{ return new Object[]{
status, updatedAt, orderId,updateTime,createTime status, updatedAt, orderId
}; };
} }
} }
...@@ -234,9 +234,9 @@ public class KylinOrderTickets implements Serializable { ...@@ -234,9 +234,9 @@ public class KylinOrderTickets implements Serializable {
* *
* @return * @return
*/ */
public Object[] getCloseOrderObject(LocalDateTime updateTime,LocalDateTime createTime) { public Object[] getCloseOrderObject() {
return new Object[]{ return new Object[]{
updatedAt, orderTicketsId,updateTime,createTime updatedAt, orderTicketsId
}; };
} }
} }
...@@ -118,8 +118,6 @@ public class ConsumerProcessor { ...@@ -118,8 +118,6 @@ public class ConsumerProcessor {
log.info("=== CONSUMER_ORDER_CREATE ==="); log.info("=== CONSUMER_ORDER_CREATE ===");
this.consumerSqlDaoHandler(msg, channel); this.consumerSqlDaoHandler(msg, channel);
} }
// 订单创建
@RabbitListener(bindings = @QueueBinding( @RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE), key = MQConst.ROUTING_KEY_SQL_ORDER_CREATE, exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE), key = MQConst.ROUTING_KEY_SQL_ORDER_CREATE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CREATE) value = @Queue(MQConst.QUEUES_SQL_ORDER_CREATE)
...@@ -128,8 +126,6 @@ public class ConsumerProcessor { ...@@ -128,8 +126,6 @@ public class ConsumerProcessor {
log.info("=== CONSUMER_ORDER_CREATE ==="); log.info("=== CONSUMER_ORDER_CREATE ===");
this.consumerSqlDaoHandler(msg, channel); this.consumerSqlDaoHandler(msg, channel);
} }
// 订单创建
@RabbitListener(bindings = @QueueBinding( @RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE), key = MQConst.ROUTING_KEY_SQL_ORDER_CREATE, exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE), key = MQConst.ROUTING_KEY_SQL_ORDER_CREATE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CREATE) value = @Queue(MQConst.QUEUES_SQL_ORDER_CREATE)
...@@ -138,8 +134,6 @@ public class ConsumerProcessor { ...@@ -138,8 +134,6 @@ public class ConsumerProcessor {
log.info("=== CONSUMER_ORDER_CREATE ==="); log.info("=== CONSUMER_ORDER_CREATE ===");
this.consumerSqlDaoHandler(msg, channel); this.consumerSqlDaoHandler(msg, channel);
} }
// 订单创建
@RabbitListener(bindings = @QueueBinding( @RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE), key = MQConst.ROUTING_KEY_SQL_ORDER_CREATE, exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE), key = MQConst.ROUTING_KEY_SQL_ORDER_CREATE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CREATE) value = @Queue(MQConst.QUEUES_SQL_ORDER_CREATE)
...@@ -148,8 +142,6 @@ public class ConsumerProcessor { ...@@ -148,8 +142,6 @@ public class ConsumerProcessor {
log.info("=== CONSUMER_ORDER_CREATE ==="); log.info("=== CONSUMER_ORDER_CREATE ===");
this.consumerSqlDaoHandler(msg, channel); this.consumerSqlDaoHandler(msg, channel);
} }
// 订单创建
@RabbitListener(bindings = @QueueBinding( @RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE), key = MQConst.ROUTING_KEY_SQL_ORDER_CREATE, exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE), key = MQConst.ROUTING_KEY_SQL_ORDER_CREATE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CREATE) value = @Queue(MQConst.QUEUES_SQL_ORDER_CREATE)
...@@ -158,6 +150,46 @@ public class ConsumerProcessor { ...@@ -158,6 +150,46 @@ public class ConsumerProcessor {
log.info("=== CONSUMER_ORDER_CREATE ==="); log.info("=== CONSUMER_ORDER_CREATE ===");
this.consumerSqlDaoHandler(msg, channel); this.consumerSqlDaoHandler(msg, channel);
} }
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE), key = MQConst.ROUTING_KEY_SQL_ORDER_CREATE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CREATE)
))
public void consumerOrderCreate5(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_CREATE ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE), key = MQConst.ROUTING_KEY_SQL_ORDER_CREATE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CREATE)
))
public void consumerOrderCreate6(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_CREATE ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE), key = MQConst.ROUTING_KEY_SQL_ORDER_CREATE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CREATE)
))
public void consumerOrderCreate7(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_CREATE ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE), key = MQConst.ROUTING_KEY_SQL_ORDER_CREATE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CREATE)
))
public void consumerOrderCreate8(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_CREATE ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE), key = MQConst.ROUTING_KEY_SQL_ORDER_CREATE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CREATE)
))
public void consumerOrderCreate9(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_CREATE ===");
this.consumerSqlDaoHandler(msg, channel);
}
// 订单再次支付 // 订单再次支付
@RabbitListener(bindings = @QueueBinding( @RabbitListener(bindings = @QueueBinding(
...@@ -178,7 +210,6 @@ public class ConsumerProcessor { ...@@ -178,7 +210,6 @@ public class ConsumerProcessor {
log.info("=== CONSUMER_ORDER_CLOSE ==="); log.info("=== CONSUMER_ORDER_CLOSE ===");
this.consumerSqlDaoHandler(msg, channel); this.consumerSqlDaoHandler(msg, channel);
} }
// 订单关闭
@RabbitListener(bindings = @QueueBinding( @RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE), key = MQConst.ROUTING_KEY_SQL_ORDER_CLOSE, exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE), key = MQConst.ROUTING_KEY_SQL_ORDER_CLOSE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CLOSE) value = @Queue(MQConst.QUEUES_SQL_ORDER_CLOSE)
...@@ -187,7 +218,6 @@ public class ConsumerProcessor { ...@@ -187,7 +218,6 @@ public class ConsumerProcessor {
log.info("=== CONSUMER_ORDER_CLOSE ==="); log.info("=== CONSUMER_ORDER_CLOSE ===");
this.consumerSqlDaoHandler(msg, channel); this.consumerSqlDaoHandler(msg, channel);
} }
// 订单关闭
@RabbitListener(bindings = @QueueBinding( @RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE), key = MQConst.ROUTING_KEY_SQL_ORDER_CLOSE, exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE), key = MQConst.ROUTING_KEY_SQL_ORDER_CLOSE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CLOSE) value = @Queue(MQConst.QUEUES_SQL_ORDER_CLOSE)
...@@ -196,7 +226,6 @@ public class ConsumerProcessor { ...@@ -196,7 +226,6 @@ public class ConsumerProcessor {
log.info("=== CONSUMER_ORDER_CLOSE ==="); log.info("=== CONSUMER_ORDER_CLOSE ===");
this.consumerSqlDaoHandler(msg, channel); this.consumerSqlDaoHandler(msg, channel);
} }
// 订单关闭
@RabbitListener(bindings = @QueueBinding( @RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE), key = MQConst.ROUTING_KEY_SQL_ORDER_CLOSE, exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE), key = MQConst.ROUTING_KEY_SQL_ORDER_CLOSE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CLOSE) value = @Queue(MQConst.QUEUES_SQL_ORDER_CLOSE)
...@@ -205,7 +234,6 @@ public class ConsumerProcessor { ...@@ -205,7 +234,6 @@ public class ConsumerProcessor {
log.info("=== CONSUMER_ORDER_CLOSE ==="); log.info("=== CONSUMER_ORDER_CLOSE ===");
this.consumerSqlDaoHandler(msg, channel); this.consumerSqlDaoHandler(msg, channel);
} }
// 订单关闭
@RabbitListener(bindings = @QueueBinding( @RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE), key = MQConst.ROUTING_KEY_SQL_ORDER_CLOSE, exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE), key = MQConst.ROUTING_KEY_SQL_ORDER_CLOSE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CLOSE) value = @Queue(MQConst.QUEUES_SQL_ORDER_CLOSE)
...@@ -213,7 +241,7 @@ public class ConsumerProcessor { ...@@ -213,7 +241,7 @@ public class ConsumerProcessor {
public void consumerOrderClose4(Message msg, Channel channel) { public void consumerOrderClose4(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_CLOSE ==="); log.info("=== CONSUMER_ORDER_CLOSE ===");
this.consumerSqlDaoHandler(msg, channel); this.consumerSqlDaoHandler(msg, channel);
}// 订单关闭 }
@RabbitListener(bindings = @QueueBinding( @RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE), key = MQConst.ROUTING_KEY_SQL_ORDER_CLOSE, exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE), key = MQConst.ROUTING_KEY_SQL_ORDER_CLOSE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CLOSE) value = @Queue(MQConst.QUEUES_SQL_ORDER_CLOSE)
...@@ -222,6 +250,38 @@ public class ConsumerProcessor { ...@@ -222,6 +250,38 @@ public class ConsumerProcessor {
log.info("=== CONSUMER_ORDER_CLOSE ==="); log.info("=== CONSUMER_ORDER_CLOSE ===");
this.consumerSqlDaoHandler(msg, channel); this.consumerSqlDaoHandler(msg, channel);
} }
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE), key = MQConst.ROUTING_KEY_SQL_ORDER_CLOSE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CLOSE)
))
public void consumerOrderClose6(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_CLOSE ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE), key = MQConst.ROUTING_KEY_SQL_ORDER_CLOSE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CLOSE)
))
public void consumerOrderClose7(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_CLOSE ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE), key = MQConst.ROUTING_KEY_SQL_ORDER_CLOSE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CLOSE)
))
public void consumerOrderClose8(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_CLOSE ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE), key = MQConst.ROUTING_KEY_SQL_ORDER_CLOSE,
value = @Queue(MQConst.QUEUES_SQL_ORDER_CLOSE)
))
public void consumerOrderClose9(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_CLOSE ===");
this.consumerSqlDaoHandler(msg, channel);
}
// 订单支付 // 订单支付
...@@ -233,6 +293,81 @@ public class ConsumerProcessor { ...@@ -233,6 +293,81 @@ public class ConsumerProcessor {
log.info("=== CONSUMER_ORDER_PAY ==="); log.info("=== CONSUMER_ORDER_PAY ===");
this.consumerSqlDaoHandler(msg, channel); this.consumerSqlDaoHandler(msg, channel);
} }
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY), key = MQConst.ROUTING_KEY_SQL_ORDER_PAY,
value = @Queue(MQConst.QUEUES_SQL_ORDER_PAY)
))
public void consumerOrderPay1(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_PAY ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY), key = MQConst.ROUTING_KEY_SQL_ORDER_PAY,
value = @Queue(MQConst.QUEUES_SQL_ORDER_PAY)
))
public void consumerOrderPay2(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_PAY ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY), key = MQConst.ROUTING_KEY_SQL_ORDER_PAY,
value = @Queue(MQConst.QUEUES_SQL_ORDER_PAY)
))
public void consumerOrderPay3(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_PAY ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY), key = MQConst.ROUTING_KEY_SQL_ORDER_PAY,
value = @Queue(MQConst.QUEUES_SQL_ORDER_PAY)
))
public void consumerOrderPay4(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_PAY ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY), key = MQConst.ROUTING_KEY_SQL_ORDER_PAY,
value = @Queue(MQConst.QUEUES_SQL_ORDER_PAY)
))
public void consumerOrderPay5(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_PAY ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY), key = MQConst.ROUTING_KEY_SQL_ORDER_PAY,
value = @Queue(MQConst.QUEUES_SQL_ORDER_PAY)
))
public void consumerOrderPay6(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_PAY ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY), key = MQConst.ROUTING_KEY_SQL_ORDER_PAY,
value = @Queue(MQConst.QUEUES_SQL_ORDER_PAY)
))
public void consumerOrderPay7(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_PAY ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY), key = MQConst.ROUTING_KEY_SQL_ORDER_PAY,
value = @Queue(MQConst.QUEUES_SQL_ORDER_PAY)
))
public void consumerOrderPay8(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_PAY ===");
this.consumerSqlDaoHandler(msg, channel);
}@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY), key = MQConst.ROUTING_KEY_SQL_ORDER_PAY,
value = @Queue(MQConst.QUEUES_SQL_ORDER_PAY)
))
public void consumerOrderPay9(Message msg, Channel channel) {
log.info("=== CONSUMER_ORDER_PAY ===");
this.consumerSqlDaoHandler(msg, channel);
}
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY), key = MQConst.ROUTING_KEY_SQL_ORDER_PAY,
value = @Queue(MQConst.QUEUES_SQL_ORDER_PAY)
))
// 缺票登记 // 缺票登记
@RabbitListener(bindings = @QueueBinding( @RabbitListener(bindings = @QueueBinding(
......
...@@ -346,7 +346,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -346,7 +346,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
//生成订单 order_ticket //生成订单 order_ticket
KylinOrderTickets orderTickets = new KylinOrderTickets(); KylinOrderTickets orderTickets = new KylinOrderTickets();
String orderTicketId = IDGenerator.nextSnowId().toString(); String orderTicketId = IDGenerator.nextSnowId().toString();
log.debug("\n ORDER_TICKET_ID = "+ orderTicketId +" \n TIME = "+System.currentTimeMillis()); log.debug("\n ORDER_TICKET_ID = " + orderTicketId + " \n TIME = " + System.currentTimeMillis());
orderTickets.setOrderTicketsId(orderTicketId); orderTickets.setOrderTicketsId(orderTicketId);
orderTickets.setUserId(uid); orderTickets.setUserId(uid);
Map token = CurrentUtil.getTokenClaims(); Map token = CurrentUtil.getTokenClaims();
...@@ -549,7 +549,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -549,7 +549,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
httpData.add("client_ip", CurrentUtil.getCliIpAddr()); httpData.add("client_ip", CurrentUtil.getCliIpAddr());
httpData.add("notify_url", synUrl); httpData.add("notify_url", synUrl);
httpData.add("create_date", orderTickets.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); httpData.add("create_date", orderTickets.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
httpData.add("expire_time", orderTickets.getPayCountdownMinute().toString()); httpData.add("expire_time", (orderTickets.getPayCountdownMinute() + 1) + "");
if (payOrderParam.getDeviceFrom().equals("js") || payOrderParam.getDeviceFrom().equals("applet")) { if (payOrderParam.getDeviceFrom().equals("js") || payOrderParam.getDeviceFrom().equals("applet")) {
httpData.add("open_id", payOrderParam.getOpenId()); httpData.add("open_id", payOrderParam.getOpenId());
...@@ -1016,97 +1016,116 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -1016,97 +1016,116 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
@Override @Override
public boolean checkOrderTime(String userId) { public boolean checkOrderTime(String userId) {
String lock = "order_lock:checkOrderTime:" + userId; String lock = "orders_lock:checkOrderTime:" + userId;
if (redisLockUtil.tryLock(lock, 1, 3600)) { if (redisLockUtil.tryLock(lock, 1, 3600)) {
try { try {
List<OrderScriptDto> dtoData = orderTicketsMapper.orderScriptDto(userId); List<OrderScriptDto> dtoData = orderTicketsMapper.orderScriptDto(userId);
HashMap<String, Integer> map2 = new HashMap<>(); LocalDateTime now = LocalDateTime.now();
Integer count = 0; Long currentTime = System.currentTimeMillis();
Integer mqCount = 0; HashMap<String, Integer> mapSurplusGeneral = new HashMap<>();
Integer Acount = 0; ArrayList<String> orderIdList = new ArrayList<>();
Integer Ecount = 0; HashMap<String, Object> mapMongo = new HashMap<>();
for (OrderScriptDto item : dtoData) { for (OrderScriptDto item : dtoData) {
count += 1;
LinkedList<String> sqls = new LinkedList<>();
if (item.getStatus().equals(KylinTableStatusConst.ORDER_STATUS0)) { if (item.getStatus().equals(KylinTableStatusConst.ORDER_STATUS0)) {
LocalDateTime now = LocalDateTime.now();
try { try {
KylinOrderTicketVo vo = dataUtils.getOrderTicketVo(item.getOrderTicketsId()); // KylinOrderTicketVo vo = dataUtils.getOrderTicketVo(item.getOrderTicketsId());
if (vo.getStatus() != 0) { // if (vo.getStatus() != 0) {
continue; // continue;
} // }//mysql
// KylinOrderTickets orderTickets = new KylinOrderTickets();
//mysql // orderTickets.setOrderTicketsId(item.getOrderTicketsId());
KylinOrderTickets orderTickets = new KylinOrderTickets(); // orderTickets.setUpdatedAt(now);
orderTickets.setOrderTicketsId(item.getOrderTicketsId()); //
orderTickets.setUpdatedAt(now); // KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus();
// orderTicketStatus.setOrderId(item.getOrderTicketsId());
KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus(); // orderTicketStatus.setStatus(KylinTableStatusConst.ORDER_STATUS2);
orderTicketStatus.setOrderId(item.getOrderTicketsId()); // orderTicketStatus.setUpdatedAt(now);
orderTicketStatus.setStatus(KylinTableStatusConst.ORDER_STATUS2);
orderTicketStatus.setUpdatedAt(now);
//vo //vo
HashMap<String, Object> map = new HashMap<>(); mapMongo.put("status", KylinTableStatusConst.ORDER_STATUS2);
map.put("status", KylinTableStatusConst.ORDER_STATUS2); mapMongo.put("updatedAt", DateUtil.Formatter.yyyyMMddHHmmssSSS.format(now));
map.put("updatedAt", DateUtil.Formatter.yyyyMMddHHmmssSSS.format(now)); mapMongo.put("changeDate", now);
map.put("changeDate", now); orderIdList.add(item.getOrderTicketsId() + "," + item.getUserId());
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne( // mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketsId").is(orderTickets.getOrderTicketsId())).getQueryObject(), // Query.query(Criteria.where("orderTicketsId").is(orderTickets.getOrderTicketsId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(map)) // new BasicDBObject("$set", mongoConverter.convertToMongoType(map))
); // );
// vo.setChangeDate(now);
LocalDateTime strTime = vo.getChangeDate(); // vo.setStatus(KylinTableStatusConst.ORDER_STATUS2);
// vo.setUpdatedAt(DateUtil.Formatter.yyyyMMddHHmmssSSS.format(now));
vo.setChangeDate(now); // redisUtil.set(KylinRedisConst.ORDER + orderTickets.getOrderTicketsId(), vo);
vo.setStatus(KylinTableStatusConst.ORDER_STATUS2); mapSurplusGeneral.put(item.getTicketId(), mapSurplusGeneral.get(item.getTicketId()) == null ? item.getNumber() : mapSurplusGeneral.get(item.getTicketId()) + item.getNumber());
vo.setUpdatedAt(DateUtil.Formatter.yyyyMMddHHmmssSSS.format(now)); // mongoVoUtils.resetOrderListVo(item.getUserId(), 2, item.getOrderTicketsId(), vo);
redisUtil.set(KylinRedisConst.ORDER + vo.getOrderTicketsId(), vo); // List<KylinOrderTicketEntitiesVo> entities = vo.getEntitiesVoList();
// for (int i = 0; i < entities.size(); i++) {
map2.put(vo.getTicketId(), map2.get(vo.getTicketId()) == null ? vo.getNumber() : map2.get(vo.getTicketId()) + vo.getNumber()); // KylinOrderTicketEntitiesVo items = entities.get(i);
mongoVoUtils.resetOrderListVo(item.getUserId(), 2, item.getOrderTicketsId(), vo); // dataUtils.changeBuyInfo(items.getUserId(), items.getEnterIdCode(), items.getPerformanceId(), items.getTicketId(), -1);
Acount += 1; // }
List<KylinOrderTicketEntitiesVo> entities = vo.getEntitiesVoList();
for (int i = 0; i < entities.size(); i++) {
KylinOrderTicketEntitiesVo items = entities.get(i);
dataUtils.changeBuyInfo(items.getUserId(), items.getEnterIdCode(), items.getPerformanceId(), items.getTicketId(), -1);
}
sqls.add(SqlMapping.get("kylin_order_ticket.close"));
LinkedList<Object[]> sqlsDataA = new LinkedList<>();
sqlsDataA.add(orderTickets.getCloseOrderObject(strTime, strTime));
sqls.add(SqlMapping.get("kylin_order_ticket_status.close"));
LinkedList<Object[]> sqlsDataB = new LinkedList<>();
sqlsDataB.add(orderTicketStatus.getCloseOrderObject(strTime, strTime));
sqls.add(SqlMapping.get("kylin_order_ticket_relation.close"));
LinkedList<Object[]> sqlsDataC = new LinkedList<>();
sqlsDataC.add(new Object[]{orderTickets.getUpdatedAt(), orderTickets.getOrderTicketsId(), strTime, strTime});
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE, MQConst.ROUTING_KEY_SQL_ORDER_CLOSE, SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC));
mqCount += 1;
} catch (Exception e) { } catch (Exception e) {
log.debug("CHECK TIME SYNC = " + e.getMessage()); log.debug("CHECK TIME SYNC = " + e.getMessage());
e.printStackTrace(); e.printStackTrace();
return false; return false;
} }
}else{ } else {
Ecount+=1;
} }
} }
log.debug("COUNT 1 = " + count); currentTime = System.currentTimeMillis() - currentTime;
log.debug("COUNT 2 = " + mqCount); log.debug("FOR 循环 -> time:" + (currentTime) + "毫秒");
log.debug("COUNT 3 = " + Acount); if (orderIdList.size() > 0) {
log.debug("COUNT 4 = " + Ecount); //库存
for (Map.Entry<String, Integer> entry : map2.entrySet()) { for (Map.Entry<String, Integer> entry : mapSurplusGeneral.entrySet()) {
dataUtils.changeSurplusGeneral(entry.getKey(), entry.getValue()); dataUtils.changeSurplusGeneral(entry.getKey(), entry.getValue());
}
currentTime = System.currentTimeMillis() - currentTime;
log.debug("redis 库存 -> time:" + (currentTime) + "毫秒");
//mysql
LinkedList<String> sqls = new LinkedList<>();
String orderStr = "";
for (int i = 0; i < orderIdList.size(); i++) {
String orderTicketId = orderIdList.get(i).split(",")[0];
orderStr = orderStr+"'"+orderTicketId + "',";
}
orderStr = orderStr.substring(0, orderStr.length() - 1);
sqls.add("UPDATE kylin_order_tickets SET updated_at = '" + now + "' WHERE order_tickets_id in (" + orderStr + ") ");
sqls.add("UPDATE kylin_order_ticket_status SET `status` = 2,updated_at = '" + now + "' WHERE order_id in (" + orderStr + ") ");
sqls.add("UPDATE kylin_order_ticket_relations SET updated_at = '" + now + "' WHERE order_id in (" + orderStr + ")");
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE, MQConst.ROUTING_KEY_SQL_ORDER_CLOSE, SqlMapping.gets(sqls));
currentTime = System.currentTimeMillis() - currentTime;
log.debug("mysql -> time:" + (currentTime) + "毫秒");
//mongo
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("orderTicketsId").in(orderIdList)).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(mapMongo))
);
currentTime = System.currentTimeMillis() - currentTime;
log.debug("mongo -> time:" + (currentTime) + "毫秒");
// redisLockUtil.unlock(lock);
Thread thread = new Thread(() -> {
//redis 列表
orderIdList.forEach(t -> {
String orderTicketId = t.split(",")[0];
String uid = t.split(",")[1];
KylinOrderTicketVo vo = dataUtils.getOrderTicketVo(orderTicketId);
redisUtil.set(KylinRedisConst.ORDER + orderTicketId, vo);
mongoVoUtils.resetOrderListVo(uid, 2, orderTicketId, vo);
// redis 限购
for (int i = 0; i < vo.getEntitiesVoList().size(); i++) {
KylinOrderTicketEntitiesVo items = vo.getEntitiesVoList().get(i);
dataUtils.changeBuyInfo(items.getUserId(), items.getEnterIdCode(), items.getPerformanceId(), items.getTicketId(), -1);
}
});
});
thread.start();
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
redisLockUtil.unlock(lock); // redisLockUtil.unlock(lock);
} }
} else { } else {
log.debug("WARNING LOCKING"); log.debug("WARNING LOCKING");
......
...@@ -417,6 +417,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -417,6 +417,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
return ResponseDto.success("保存成功"); return ResponseDto.success("保存成功");
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
return ResponseDto.failure(ErrorMapping.get(20115)); return ResponseDto.failure(ErrorMapping.get(20115));
} }
} }
......
...@@ -296,7 +296,7 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp ...@@ -296,7 +296,7 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
LocalDateTime createdAt = LocalDateTime.now(); LocalDateTime createdAt = LocalDateTime.now();
PerformancePartnerVo performancePartnerVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), PerformancePartnerVo.class, PerformancePartnerVo.class.getSimpleName()); PerformancePartnerVo performancePartnerVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), PerformancePartnerVo.class, PerformancePartnerVo.class.getSimpleName());
if(performancePartnerVo.getAuditStatus()==1){ if(performancePartnerVo.getAuditStatus()==0){
return ResponseDto.failure(ErrorMapping.get(20107)); return ResponseDto.failure(ErrorMapping.get(20107));
} }
......
...@@ -95,7 +95,7 @@ public class PerformanceVoTask { ...@@ -95,7 +95,7 @@ public class PerformanceVoTask {
List<String> performanceIdList = new ArrayList<>(); List<String> performanceIdList = new ArrayList<>();
if (performanceSingleId == null) { if (performanceSingleId == null) {
List<KylinPerformanceStatus> list = performanceStatusMapper.selectList(new UpdateWrapper<KylinPerformanceStatus>().in("status", 6,8,9)); List<KylinPerformanceStatus> list = performanceStatusMapper.selectList(new UpdateWrapper<KylinPerformanceStatus>().in("status", 6, 8, 9));
for (KylinPerformanceStatus item : list) { for (KylinPerformanceStatus item : list) {
performanceIdList.add(item.getPerformanceId()); performanceIdList.add(item.getPerformanceId());
} }
...@@ -146,7 +146,7 @@ public class PerformanceVoTask { ...@@ -146,7 +146,7 @@ public class PerformanceVoTask {
} }
} }
if(kylinTicketVoItem.getStatus()==7){ if (kylinTicketVoItem.getStatus() == 7) {
status = 7; status = 7;
} }
...@@ -171,18 +171,18 @@ public class PerformanceVoTask { ...@@ -171,18 +171,18 @@ public class PerformanceVoTask {
} }
} }
} }
if(vo.getAppStatus()<=4){ if (vo.getAppStatus() <= 4) {
appStatus=vo.getAppStatus(); appStatus = vo.getAppStatus();
} }
if(vo.getAppStatus()==7){ if (vo.getAppStatus() == 7) {
appStatus=7; appStatus = 7;
} }
//修改演出状态 //修改演出状态
KylinPerformanceStatus changeStatus = new KylinPerformanceStatus(); KylinPerformanceStatus changeStatus = new KylinPerformanceStatus();
changeStatus.setStatus(appStatus); changeStatus.setStatus(appStatus);
performanceStatusMapper.update(changeStatus,new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id",performancesId)); performanceStatusMapper.update(changeStatus, new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
vo.setAppStatus(appStatus); vo.setAppStatus(appStatus);
dataUtils.updatePerformanceMongo(performancesId,vo); dataUtils.updatePerformanceMongo(performancesId, vo);
} }
} }
...@@ -361,6 +361,9 @@ public class PerformanceVoTask { ...@@ -361,6 +361,9 @@ public class PerformanceVoTask {
ticketStatusMapper.insert(ticketStatus); ticketStatusMapper.insert(ticketStatus);
ticketRelationsMapper.delete(new UpdateWrapper<KylinTicketRelations>().eq("ticket_id", ticketRelations.getTicketId())); ticketRelationsMapper.delete(new UpdateWrapper<KylinTicketRelations>().eq("ticket_id", ticketRelations.getTicketId()));
ticketRelationsMapper.insert(ticketRelations); ticketRelationsMapper.insert(ticketRelations);
dataUtils.setSurplusExchange(tickets.getTicketsId(), ticketStatus.getSurplusExchange());
dataUtils.setSurplusGeneral(tickets.getTicketsId(), ticketStatus.getSurplusGeneral());
} }
} }
} catch (Exception e) { } catch (Exception e) {
...@@ -369,42 +372,42 @@ public class PerformanceVoTask { ...@@ -369,42 +372,42 @@ public class PerformanceVoTask {
} }
public boolean judgeIsAudit(String performanceId){ public boolean judgeIsAudit(String performanceId) {
KylinPerformanceMisVo misVo = getPerformanceMisVo(performanceId); KylinPerformanceMisVo misVo = getPerformanceMisVo(performanceId);
KylinPerformanceVo mongoVo = mongoVoUtils.combinePerformanceVoData(performanceId); KylinPerformanceVo mongoVo = mongoVoUtils.combinePerformanceVoData(performanceId);
if(!misVo.getTitle().equals(mongoVo.getTitle())){ if (!misVo.getTitle().equals(mongoVo.getTitle())) {
return true; return true;
}else if(!misVo.getType().equals(mongoVo.getType())){ } else if (!misVo.getType().equals(mongoVo.getType())) {
return true; return true;
}else if(!misVo.getTimeStart().equals(mongoVo.getTimeStart())){ } else if (!misVo.getTimeStart().equals(mongoVo.getTimeStart())) {
return true; return true;
}else if(!misVo.getTimeEnd().equals(mongoVo.getTimeEnd())){ } else if (!misVo.getTimeEnd().equals(mongoVo.getTimeEnd())) {
return true; return true;
}else if(!misVo.getFieldId().equals(mongoVo.getFieldId())){ } else if (!misVo.getFieldId().equals(mongoVo.getFieldId())) {
return true; return true;
}else if(!misVo.getNotice().equals(mongoVo.getNotice())){ } else if (!misVo.getNotice().equals(mongoVo.getNotice())) {
return true; return true;
}else if(!misVo.getDetails().equals(mongoVo.getDetails())){ } else if (!misVo.getDetails().equals(mongoVo.getDetails())) {
return true; return true;
}else if(!misVo.getApprovalUrl().equals(mongoVo.getApprovalUrl())){ } else if (!misVo.getApprovalUrl().equals(mongoVo.getApprovalUrl())) {
return true; return true;
}else if(!misVo.getPayCountdownMinute().equals(mongoVo.getPayCountdownMinute())){ } else if (!misVo.getPayCountdownMinute().equals(mongoVo.getPayCountdownMinute())) {
return true; return true;
}else if(!misVo.getLimitCount().equals(mongoVo.getLimitCount())){ } else if (!misVo.getLimitCount().equals(mongoVo.getLimitCount())) {
return true; return true;
} else if(!misVo.getIsTrueName().equals(mongoVo.getIsTrueName())){ } else if (!misVo.getIsTrueName().equals(mongoVo.getIsTrueName())) {
return true; return true;
} }
boolean exists = mongoTemplate.exists(Query.query(Criteria.where("status").is("-1").and("performancesId").is(performanceId)),KylinTicketTimesPartnerVo.class,KylinTicketTimesPartnerVo.class.getSimpleName()); boolean exists = mongoTemplate.exists(Query.query(Criteria.where("status").is("-1").and("performancesId").is(performanceId)), KylinTicketTimesPartnerVo.class, KylinTicketTimesPartnerVo.class.getSimpleName());
if(exists){ if (exists) {
return true; return true;
} }
for (int i = 0;i<misVo.getTicketTimes().size();i++){ for (int i = 0; i < misVo.getTicketTimes().size(); i++) {
TicketTimesTicketCreatePartnerVo times = misVo.getTicketTimes().get(i); TicketTimesTicketCreatePartnerVo times = misVo.getTicketTimes().get(i);
boolean exists2 = mongoTemplate.exists(Query.query(Criteria.where("status").is("-2").and("timesId").is(times.getTicketTimesId())),KylinTicketPartnerVo.class,KylinTicketPartnerVo.class.getSimpleName()); boolean exists2 = mongoTemplate.exists(Query.query(Criteria.where("status").is("-2").and("timesId").is(times.getTicketTimesId())), KylinTicketPartnerVo.class, KylinTicketPartnerVo.class.getSimpleName());
if(exists2){ if (exists2) {
return true; return true;
} }
} }
......
...@@ -24,8 +24,8 @@ kylin_order_ticket_entities.synPay=UPDATE kylin_order_ticket_entities SET is_pay ...@@ -24,8 +24,8 @@ kylin_order_ticket_entities.synPay=UPDATE kylin_order_ticket_entities SET is_pay
# ------------------------订单关闭---------------------------- # ------------------------订单关闭----------------------------
kylin_order_ticket.close=UPDATE kylin_order_tickets SET updated_at = ? WHERE order_tickets_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket.close=UPDATE kylin_order_tickets SET updated_at = ? WHERE order_tickets_id = ?
kylin_order_ticket_status.close=UPDATE kylin_order_ticket_status SET `status` = ?,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket_status.close=UPDATE kylin_order_ticket_status SET `status` = ?,updated_at = ? WHERE order_id = ?
kylin_order_ticket_relation.close=UPDATE kylin_order_ticket_relations SET updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket_relation.close=UPDATE kylin_order_ticket_relations SET updated_at = ? WHERE order_id = ?
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