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

Commit ab441242 authored by jiangxiulong's avatar jiangxiulong

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

parents ae820575 44690a2e
...@@ -11,10 +11,12 @@ import java.util.List; ...@@ -11,10 +11,12 @@ import java.util.List;
@Data @Data
public class KylinStationCheckOrderParam implements Serializable { public class KylinStationCheckOrderParam implements Serializable {
private static final long serialVersionUID = 2312115659117282564L; private static final long serialVersionUID = 2312115659117282564L;
@ApiModelProperty(position = 11, value = "演出ID[64]") @ApiModelProperty(position = 10, value = "票明细ID")
private String performanceId; private String ticketEntitiesId;
@ApiModelProperty(position = 13, value = "出票端:(验票app)android/ios") @ApiModelProperty(position = 11, value = "验票类型:1-扫码,2-手机号")
private String checkClient; private String checkType;
@ApiModelProperty(position = 14, value = "出票`orderTicketEntitiesId`列表") @ApiModelProperty(position = 12, value = "验票时间[yyyy-MM-dd HH:mm:ss]")
private List<String> checkedEntitiesIdList; private String checkedAt;
@ApiModelProperty(position = 13, value = "验票操作人ID")
private String checkUserId;
} }
...@@ -5,7 +5,7 @@ import lombok.Data; ...@@ -5,7 +5,7 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@Data @Data
public class KylinOrderTicketEntitiesVo implements Serializable { public class KylinOrderTicketEntitiesVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1207664465164005975L; private static final long serialVersionUID = 1207664465164005975L;
private String orderTicketEntitiesId; private String orderTicketEntitiesId;
...@@ -30,4 +30,19 @@ public class KylinOrderTicketEntitiesVo implements Serializable { ...@@ -30,4 +30,19 @@ public class KylinOrderTicketEntitiesVo implements Serializable {
private String createdAt; private String createdAt;
private String updatedAt; private String updatedAt;
private String checkType;
private String checkedAt;
private String checkUserId;
private static final KylinOrderTicketEntitiesVo obj = new KylinOrderTicketEntitiesVo();
public static KylinOrderTicketEntitiesVo getNew() {
try {
return (KylinOrderTicketEntitiesVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinOrderTicketEntitiesVo();
}
}
} }
package com.liquidnet.service.kylin.dto.vo; package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.commons.lang.util.SensitizeUtil;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -16,18 +17,28 @@ public class KylinStationCheckOrderVo implements Serializable { ...@@ -16,18 +17,28 @@ public class KylinStationCheckOrderVo implements Serializable {
private String performanceId; private String performanceId;
@ApiModelProperty(position = 12, value = "订单ID") @ApiModelProperty(position = 12, value = "订单ID")
private String orderId; private String orderId;
@ApiModelProperty(position = 13, value = "用户昵称") @ApiModelProperty(position = 13, value = "票种ID")
private String ticketId;
@ApiModelProperty(position = 14, value = "二维身份CODE")
private String qrCode;
@ApiModelProperty(position = 15, value = "订单用户姓名")
private String userName;
@ApiModelProperty(position = 16, value = "订单用户手机号")
private String userMobile;
@ApiModelProperty(position = 17, value = "入场人姓名")
private String enterName; private String enterName;
@ApiModelProperty(position = 14, value = "用户手机号") @ApiModelProperty(position = 18, value = "入场人手机号")
private String enterMobile; private String enterMobile;
@ApiModelProperty(position = 15, value = "出票状态:0-未出票,1-已出票") @ApiModelProperty(position = 19, value = "出票状态:0-未出票,1-已出票")
private Integer status; private Integer status;
@ApiModelProperty(position = 16, value = "支付状态:0-未支付,1-已支付,2-退款中,3-已退款") @ApiModelProperty(position = 20, value = "支付状态:0-未支付,1-已支付,2-退款中,3-已退款")
private Integer isPayment; private Integer isPayment;
@ApiModelProperty(position = 17, value = "出票端:(验票app)android/ios") @ApiModelProperty(position = 21, value = "出票端:(验票app)android/ios")
private String checkClient; private String checkClient;
@ApiModelProperty(position = 18, value = "二维身份CODE") @ApiModelProperty(position = 22, value = "验票类型:1-扫码,2-手机号")
private String qrCode; private String checkType;
@ApiModelProperty(position = 23, value = "验票时间[yyyy-MM-dd HH:mm:ss]")
private String checkedAt;
private static final KylinStationCheckOrderVo obj = new KylinStationCheckOrderVo(); private static final KylinStationCheckOrderVo obj = new KylinStationCheckOrderVo();
...@@ -38,4 +49,16 @@ public class KylinStationCheckOrderVo implements Serializable { ...@@ -38,4 +49,16 @@ public class KylinStationCheckOrderVo implements Serializable {
return new KylinStationCheckOrderVo(); return new KylinStationCheckOrderVo();
} }
} }
public String getUserName() {
return SensitizeUtil.chineseName(userName);
}
public String getEnterName() {
return SensitizeUtil.chineseName(enterName);
}
public String getEnterMobile() {
return SensitizeUtil.custom(enterMobile, 3, 4);
}
} }
package com.liquidnet.service.kylin.dto.vo.partner; package com.liquidnet.service.kylin.dto.vo.partner;
import com.liquidnet.service.kylin.dto.vo.KylinBuyNoticeVo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -57,6 +58,9 @@ public class KylinPerformanceMisVo { ...@@ -57,6 +58,9 @@ public class KylinPerformanceMisVo {
@ApiModelProperty(value = "购票须知") @ApiModelProperty(value = "购票须知")
private String noticeImage; private String noticeImage;
@ApiModelProperty(value = "购票须知数组")
private List<KylinBuyNoticeVo> noticeImageList;
@ApiModelProperty(value = "状态") @ApiModelProperty(value = "状态")
private Integer status; private Integer status;
......
...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.kylin.dto.param.KylinStationCheckOrderParam; import com.liquidnet.service.kylin.dto.param.KylinStationCheckOrderParam;
import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities; import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities;
import java.util.List;
/** /**
* <p> * <p>
* 订单详情 服务类 * 订单详情 服务类
...@@ -14,5 +16,5 @@ import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities; ...@@ -14,5 +16,5 @@ import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities;
*/ */
public interface IKylinOrderTicketEntitiesService extends IService<KylinOrderTicketEntities> { public interface IKylinOrderTicketEntitiesService extends IService<KylinOrderTicketEntities> {
void updateByStation(KylinStationCheckOrderParam checkDataParam); void updateByStation(List<KylinStationCheckOrderParam> checkOrderParamList);
} }
...@@ -70,7 +70,9 @@ ...@@ -70,7 +70,9 @@
</div> </div>
<div> <div>
<label>演出类型:</label> <label>演出类型:</label>
<span id="type"></span> <span th:if="*{type==101}">音乐节</span>
<span th:if="*{type==102}">小型演出</span>
<span th:if="*{type==103}">巡演</span>
</div> </div>
<div> <div>
<label>场地:</label> <label>场地:</label>
...@@ -107,12 +109,16 @@ ...@@ -107,12 +109,16 @@
</div> </div>
<div id="noticeImg"> <div id="noticeImg">
<span>购票须知:</span>
<div th:each="dict : ${kylinPerformanceMisVo.noticeImageList}">
<span th:text="${dict.title}"></span>
<img th:src="${dict.imgUrl}"/>
<span th:text="${dict.message}"></span>
</div>
</div> </div>
<div th:each="dict : ${kylinPerformanceMisVo.ticketTimes}"> <div th:each="dict : ${kylinPerformanceMisVo.ticketTimes}">
<div th:each="dict2 : ${dict.ticket}"> <div th:each="dict2 : ${dict.ticket}">
<br/>
<br/> <br/>
<div> <div>
<span>票种名称:</span> <span>票种名称:</span>
...@@ -132,17 +138,21 @@ ...@@ -132,17 +138,21 @@
<span>票种说明:</span> <span>票种说明:</span>
<span th:text="${dict2.title}"></span> <span th:text="${dict2.title}"></span>
</div> </div>
<!-- <div>--> <!-- <div>-->
<!-- <span>电子票说明:</span>--> <!-- <span>电子票说明:</span>-->
<!-- <span th:text="${dict2.describeElectronic}"></span>--> <!-- <span th:text="${dict2.describeElectronic}"></span>-->
<!-- </div>--> <!-- </div>-->
<!-- <div>--> <!-- <div>-->
<!-- <span>快递票说明:</span>--> <!-- <span>快递票说明:</span>-->
<!-- <span th:text="${dict2.describesExpress}"></span>--> <!-- <span th:text="${dict2.describesExpress}"></span>-->
<!-- </div>--> <!-- </div>-->
<div> <div th:if="${dict2.limitCount == 0}">
<span>限购:</span> <span>限购:</span>
<span th:text="${dict2.limitCount}"></span> <span>不限购</span>
</div>
<div th:if="${dict2.limitCount != 0}">
<span>限购:</span>
<span th:text="${dict2.limitCount}">不限购</span>
</div> </div>
<div> <div>
<span>库存总量:</span> <span>库存总量:</span>
...@@ -150,7 +160,14 @@ ...@@ -150,7 +160,14 @@
</div> </div>
<div> <div>
<span>售票状态:</span> <span>售票状态:</span>
<span th:text="${dict2.status}"></span> <span th:if="${dict2.status == 1}">审核中</span>
<span th:if="${dict2.status == 3}">审核通过</span>
<span th:if="${dict2.status == 4}">未通过</span>
<span th:if="${dict2.status == 6}">在售</span>
<span th:if="${dict2.status == 7}">下架</span>
<span th:if="${dict2.status == 8}">售罄</span>
<span th:if="${dict2.status == 9}">未开始</span>
<span th:if="${dict2.status == 10}">已结束</span>
</div> </div>
<div> <div>
<span>开始售票时间:</span> <span>开始售票时间:</span>
...@@ -158,22 +175,24 @@ ...@@ -158,22 +175,24 @@
</div> </div>
<div> <div>
<span>是否学生票:</span> <span>是否学生票:</span>
<span th:text="${dict2.isStudent}"></span> <span th:if="${dict2.isStudent==1}"></span>
<span th:if="${dict2.isStudent==0}"></span>
</div> </div>
<div> <div>
<span>是否显示二维码:</span> <span>是否显示二维码:</span>
<span th:text="${dict2.isShowCode}"></span> <span th:if="${dict2.isShowCode==1}"></span>
<span th:if="${dict2.isShowCode==0}"></span>
</div> </div>
<div> <div th:if="${dict2.isShowCode==1}">
<span>二维码显示时间:</span> <span>二维码显示时间:</span>
<span th:if="${dict2.isShowCode==1}" th:text="${dict2.qrCodeShowTime}"></span> <span th:text="${dict2.qrCodeShowTime}"></span>
</div> </div>
<div> <div>
<span>取票方式:</span> <span>取票方式:</span>
<span th:text="${dict2.isElectronic}"></span> <span th:if="${dict2.isElectronic==1}">电子票</span>
<span th:text="${dict2.isExpress}"></span> <span th:if="${dict2.isExpress==1}">快递票</span>
</div> </div>
<div> <div th:if="${dict2.isExpress==1}">
<span>快递票停售时间:</span> <span>快递票停售时间:</span>
<span th:text="${dict2.timeEndExpress}"></span> <span th:text="${dict2.timeEndExpress}"></span>
</div> </div>
...@@ -181,15 +200,16 @@ ...@@ -181,15 +200,16 @@
</div> </div>
</form> </form>
</div> </div>
<div class="panel-body" th:width="max" style="margin-top: 10px"> <div class="panel-body" th:width="max" style="margin-top: 10px" name="auditBtn">
<div class="radio check-box"> <div class="radio check-box">
<input type="radio" value="1" name="auditCheck"> 同意</label> <input type="radio" value="1" name="auditCheck"> 同意</label>
</div> </div>
<div class="radio check-box"> <div class="radio check-box">
<input type="radio" value="0" name="auditCheck"> 拒绝</label> <input type="radio" value="0" name="auditCheck"> 拒绝</label>
</div> </div>
<input name="rejectTxt" class="form-control" type="text"/> <input name="rejectTxt" class="form-control" type="text"/>
<button type="button" class="btn btn-w-m btn-success" name="isShowBtn" style="margin-top: 10px" <button type="button" class="btn btn-w-m btn-success"
style="margin-top: 10px"
onclick="aduitHandler()">审核 onclick="aduitHandler()">审核
</button> </button>
</div> </div>
...@@ -207,6 +227,12 @@ ...@@ -207,6 +227,12 @@
const isShow = '[[${kylinPerformanceMisVo.isShow}]]'; const isShow = '[[${kylinPerformanceMisVo.isShow}]]';
const auditStatus = '[[${kylinPerformanceMisVo.auditStatus}]]';
if (auditStatus != 0) {
document.getElementsByName("auditBtn")[0].style.display = "none";
}
if (isShow == 1) { if (isShow == 1) {
document.getElementsByName("isShowCheck")[0].checked = true; document.getElementsByName("isShowCheck")[0].checked = true;
} else { } else {
...@@ -216,7 +242,7 @@ ...@@ -216,7 +242,7 @@
//修改 演出是否显示 //修改 演出是否显示
function submitHandler() { function submitHandler() {
var param = { var param = {
"isShow": document.getElementsByName("auditCheck")[0].checked ? 1 : 0, "isShow": document.getElementsByName("isShowCheck")[0].checked ? 1 : 0,
"performancesId": '[[${kylinPerformanceMisVo.performancesId}]]'.replaceAll("\"", "") "performancesId": '[[${kylinPerformanceMisVo.performancesId}]]'.replaceAll("\"", "")
}; };
$.operate.post(prefix + "/isShow", param, function (res) { $.operate.post(prefix + "/isShow", param, function (res) {
...@@ -225,35 +251,32 @@ ...@@ -225,35 +251,32 @@
//演出审核 //演出审核
function aduitHandler() { function aduitHandler() {
const auditStatus = document.getElementsByName("isShowCheck")[0].checked ? 3 : 4; const auditStatus = document.getElementsByName("auditCheck")[0].checked ? 3 : 4;
var auditRejectTxt = "" var auditRejectTxt = ""
if(4 === auditStatus){ if (4 === auditStatus) {
auditRejectTxt = document.getElementsByName("rejectTxt")[0].textContent; auditRejectTxt = document.getElementsByName("rejectTxt")[0].value;
} }
var param = {
"status": auditStatus,
"performancesId": '[[${kylinPerformanceMisVo.performancesId}]]'.replaceAll("\"", ""),
"rejectTxt":auditRejectTxt
};
$.operate.post(prefix + "/audit", param, function (res) {
});
}
//演出信息 if (4 === auditStatus && auditRejectTxt === "") {
const type = document.getElementById("type"); alert("请填写拒绝理由");
var typeInt = '[[${kylinPerformanceMisVo.type}]]'; } else {
if (typeInt == 101) { var param = {
type.textContent = '音乐节' "status": auditStatus,
} else if (typeInt == 102) { "performancesId": '[[${kylinPerformanceMisVo.performancesId}]]'.replaceAll("\"", ""),
type.textContent = '小型演出' "rejectTxt": auditRejectTxt
} else if (typeInt == 103 || typeInt == 3) { };
type.textContent = '巡演' $.operate.post(prefix + "/audit", param, function (res) {
});
}
} }
// 演出详情 购票须知 // 演出详情 购票须知
var subText = document.getElementById("subText") var subText = document.getElementById("subText")
subText.innerHTML = "演出详情:" + '[[${kylinPerformanceMisVo.details}]]'.replaceAll("\"", ""); subText.innerHTML = "演出详情:" + '[[${kylinPerformanceMisVo.details}]]'.replaceAll("\"", "");
var noticeImg = document.getElementById("noticeImg") // var noticeImg = document.getElementById("noticeImg")
noticeImg.innerHTML = "购票须知:" + '[[${kylinPerformanceMisVo.noticeImage}]]'.replaceAll("\"", ""); // noticeImg.innerHTML = "购票须知:" + '[[${kylinPerformanceMisVo.noticeImage}]]'.replaceAll("\"", "");
// var noticeImgJson = $.parseJSON('[[${kylinPerformanceMisVo.noticeImage}]]'.substr(1, '[[${kylinPerformanceMisVo.noticeImage}]]'.length-2));
// alert(noticeImgJson[0]['title']);
</script> </script>
</body> </body>
</html> </html>
package com.liquidnet.client.admin.zhengzai.kylin.utils; package com.liquidnet.client.admin.zhengzai.kylin.utils;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.fasterxml.jackson.core.type.TypeReference;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo; import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo;
import com.liquidnet.service.kylin.dto.vo.KylinBuyNoticeVo;
import com.liquidnet.service.kylin.dto.vo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.KylinTicketTimesVo; import com.liquidnet.service.kylin.dto.vo.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.KylinTicketVo; import com.liquidnet.service.kylin.dto.vo.KylinTicketVo;
...@@ -279,7 +282,7 @@ public class PerformanceVoUtils { ...@@ -279,7 +282,7 @@ public class PerformanceVoUtils {
// performanceMisVo.setIsShow(1); // performanceMisVo.setIsShow(1);
kylinPerformanceMisVo.setIsDistribution(0); kylinPerformanceMisVo.setIsDistribution(0);
kylinPerformanceMisVo.setSyncAgent(0); kylinPerformanceMisVo.setSyncAgent(0);
kylinPerformanceMisVo.setAuditStatus(0); kylinPerformanceMisVo.setNoticeImageList(JsonUtils.fromJson(kylinPerformanceMisVo.getNoticeImage(), new TypeReference<List<KylinBuyNoticeVo>>() {}));
// } // }
// boolean exists = mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceMisVo.class, PerformanceMisVo.class.getSimpleName()); // boolean exists = mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceMisVo.class, PerformanceMisVo.class.getSimpleName());
......
...@@ -74,13 +74,16 @@ zuul: ...@@ -74,13 +74,16 @@ zuul:
# 忽略的接口,屏蔽接口 # 忽略的接口,屏蔽接口
# ignored-patterns: /**/div/** # ignored-patterns: /**/div/**
# ----------------------------------------------------------- # -----------------------------------------------------------
# 判断顺序: exclude.url > include.url > include.url-pattern > exclude.url-pattern
global: global:
include: include:
url: url:
url-pattern: /kylin/station/** url-pattern: /kylin/station/**
exclude: exclude:
url: /adam/send, url: /adam/send,
/adam/member/info /adam/member/info,
/kylin/station/login,
/kylin/station/login/sms
url-pattern: /**/login/**, url-pattern: /**/login/**,
/*/v2/api-docs*, /*/v2/api-docs*,
/kylin/** /kylin/**
......
...@@ -243,17 +243,21 @@ public class KylinStationController { ...@@ -243,17 +243,21 @@ public class KylinStationController {
for (KylinOrderTicketVo t : orderTicketVoList) for (KylinOrderTicketVo t : orderTicketVoList)
for (KylinStationCheckOrderVo r : voList) for (KylinStationCheckOrderVo r : voList)
if (r.getOrderId().equals(t.getOrderTicketsId())) r.setQrCode(t.getQrCode()); if (r.getOrderId().equals(t.getOrderTicketsId())) {
r.setQrCode(t.getQrCode());
r.setUserMobile(t.getUserMobile());
r.setUserName(t.getUserName());
}
return ResponseDto.success(voList); return ResponseDto.success(voList);
} }
@ApiOperation(value = "上载验票数据") @ApiOperation(value = "上载验票数据")
@PostMapping("upload") @PostMapping("upload")
public ResponseDto<Object> uploadTicketData(@RequestBody KylinStationCheckOrderParam checkDataParam) { public ResponseDto<Object> uploadTicketData(@RequestBody List<KylinStationCheckOrderParam> checkOrderParamList) {
log.info("checkDataParams:{}", JsonUtils.toJson(checkDataParam)); log.info("checkDataParams:{}", JsonUtils.toJson(checkOrderParamList));
kylinOrderTicketEntitiesService.updateByStation(checkDataParam); kylinOrderTicketEntitiesService.updateByStation(checkOrderParamList);
return ResponseDto.success(); return ResponseDto.success();
} }
......
package com.liquidnet.service.kylin.service.impl; package com.liquidnet.service.kylin.service.impl;
import com.liquidnet.common.mq.constant.MQConst; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.dto.param.KylinStationCheckOrderParam; import com.liquidnet.service.kylin.dto.param.KylinStationCheckOrderParam;
import com.liquidnet.service.kylin.dto.vo.KylinOrderTicketEntitiesVo; import com.liquidnet.service.kylin.dto.vo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities; import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketEntitiesMapper; import com.liquidnet.service.kylin.mapper.KylinOrderTicketEntitiesMapper;
import com.liquidnet.service.kylin.service.IKylinOrderTicketEntitiesService; import com.liquidnet.service.kylin.service.IKylinOrderTicketEntitiesService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mongodb.bulk.BulkWriteResult;
import com.mongodb.BasicDBObject; import com.mongodb.client.model.UpdateOneModel;
import com.mongodb.client.model.WriteModel;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
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.MongoTemplate;
...@@ -21,7 +24,7 @@ import org.springframework.transaction.annotation.Propagation; ...@@ -21,7 +24,7 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Arrays; import java.util.ArrayList;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
...@@ -33,6 +36,7 @@ import java.util.List; ...@@ -33,6 +36,7 @@ import java.util.List;
* @author liquidnet * @author liquidnet
* @since 2021-05-20 * @since 2021-05-20
*/ */
@Slf4j
@Service @Service
public class KylinOrderTicketEntitiesServiceImpl extends ServiceImpl<KylinOrderTicketEntitiesMapper, KylinOrderTicketEntities> implements IKylinOrderTicketEntitiesService { public class KylinOrderTicketEntitiesServiceImpl extends ServiceImpl<KylinOrderTicketEntitiesMapper, KylinOrderTicketEntities> implements IKylinOrderTicketEntitiesService {
@Autowired @Autowired
...@@ -44,29 +48,38 @@ public class KylinOrderTicketEntitiesServiceImpl extends ServiceImpl<KylinOrderT ...@@ -44,29 +48,38 @@ public class KylinOrderTicketEntitiesServiceImpl extends ServiceImpl<KylinOrderT
@Override @Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void updateByStation(KylinStationCheckOrderParam checkDataParam) { public void updateByStation(List<KylinStationCheckOrderParam> checkOrderParamList) {
String performanceId = checkDataParam.getPerformanceId(); // // 根据验票用户ID分组
// Map<String, List<KylinStationCheckOrderParam>> checkOrderByUserIdMap = checkOrderParamList.stream().collect(Collectors.groupingBy(KylinStationCheckOrderParam::getCheckUserId));
KylinOrderTicketEntitiesVo updateVo = new KylinOrderTicketEntitiesVo(); //
updateVo.setCheckClient(checkDataParam.getCheckClient()); // for (Map.Entry<String, List<KylinStationCheckOrderParam>> entry : checkOrderByUserIdMap.entrySet()) {
updateVo.setUpdatedAt(DateUtil.getNowTime()); // List<KylinStationCheckOrderParam> checkOrderByUserList = entry.getValue();
updateVo.setStatus(1);// 1-已出票 //
List<String> checkedEntitiesIdList = checkDataParam.getCheckedEntitiesIdList(); // // 根据验票类型分组
mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateMany( // Map<String, List<KylinStationCheckOrderParam>> checkOrderByCheckTypeMap = checkOrderByUserList.stream().collect(Collectors.groupingBy(KylinStationCheckOrderParam::getCheckType));
Query.query(Criteria.where("performanceId").is(performanceId) // }
.and("orderTicketEntitiesId").in(checkedEntitiesIdList.toArray())
.and("status").is(0)
).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(updateVo))
);
LocalDateTime nowDt = LocalDateTime.now(); LocalDateTime nowDt = LocalDateTime.now();
String nowDtStr = DateUtil.format(nowDt, DateUtil.Formatter.yyyyMMddHHmmss);
LinkedList<Object[]> paramsList = new LinkedList<>(); LinkedList<Object[]> paramsList = new LinkedList<>();
for (String id : checkedEntitiesIdList) { List<WriteModel<Document>> list = new ArrayList<>();
paramsList.add(new Object[]{1, nowDt, id}); checkOrderParamList.forEach(r -> {
} KylinOrderTicketEntitiesVo updateVo = KylinOrderTicketEntitiesVo.getNew();
updateVo.setCheckType(r.getCheckType());
updateVo.setCheckedAt(r.getCheckedAt());
updateVo.setCheckUserId(r.getCheckUserId());
updateVo.setUpdatedAt(nowDtStr);
updateVo.setStatus(1);
paramsList.add(new Object[]{1, nowDtStr, r.getCheckedAt(), r.getCheckType(), r.getCheckUserId(), r.getTicketEntitiesId()});
Document updateQuery = Query.query(Criteria.where("orderTicketEntitiesId").is(r.getTicketEntitiesId())).getQueryObject();
list.add(new UpdateOneModel<Document>(updateQuery, new Document("$set", Document.parse(JsonUtils.toJson(updateVo)))));
});
BulkWriteResult bulkWriteResult = mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).bulkWrite(list);
log.info("bulkWriteResult:{}", JsonUtils.toJson(bulkWriteResult));
// TODO: 2021/6/1 sql to mq
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, // rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_user.add", paramsList)); // SqlMapping.get("kylin_order_ticket_entities.updateStatusByStation", paramsList));
} }
} }
kylin_order_ticket_entities.add=INSERT INTO kylin_order_ticket_entities(order_ticket_entities_id ,order_id ,ticket_id ,user_id ,time_id ,performance_id ,enter_type ,enter_name ,enter_mobile,enter_id_code,status,sys_damai,check_client,is_payment,comment,created_at,updated_at)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) kylin_order_ticket_entities.add=INSERT INTO kylin_order_ticket_entities(order_ticket_entities_id ,order_id ,ticket_id ,user_id ,time_id ,performance_id ,enter_type ,enter_name ,enter_mobile,enter_id_code,status,sys_damai,check_client,is_payment,comment,created_at,updated_at)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
kylin_order_ticket_entities.synPay=UPDATE kylin_order_ticket_entities SET is_payment = ?,updated_at = ? WHERE order_tickets_id = ? kylin_order_ticket_entities.synPay=UPDATE kylin_order_ticket_entities SET is_payment = ?,updated_at = ? WHERE order_tickets_id = ?
kylin_order_ticket_entities.updateStatusByStation=UPDATE kylin_order_ticket_status SET `status`=?, updated_at=? WHERE order_ticket_entities_id =? kylin_order_ticket_entities.updateStatusByStation=UPDATE kylin_order_ticket_status SET `status`=?, updated_at=?, checked_at=?, check_type=?, checkUserId=? WHERE order_ticket_entities_id =?
\ No newline at end of file \ No newline at end of file
...@@ -86,11 +86,6 @@ public class GlobalAuthFilter extends ZuulFilter { ...@@ -86,11 +86,6 @@ public class GlobalAuthFilter extends ZuulFilter {
if (excludeUrls.contains(requestURI)) { if (excludeUrls.contains(requestURI)) {
return false; return false;
} }
for (String urlPattern : excludeUrlPatterns) {
if (PathMatchUtil.isPathMatch(urlPattern, requestURI)) {
return false;
}
}
if (includeUrls.contains(requestURI)) { if (includeUrls.contains(requestURI)) {
return true; return true;
} }
...@@ -99,6 +94,11 @@ public class GlobalAuthFilter extends ZuulFilter { ...@@ -99,6 +94,11 @@ public class GlobalAuthFilter extends ZuulFilter {
return true; return true;
} }
} }
for (String urlPattern : excludeUrlPatterns) {
if (PathMatchUtil.isPathMatch(urlPattern, requestURI)) {
return false;
}
}
return true; return true;
} }
......
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