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

Commit 4866a054 authored by 张国柄's avatar 张国柄

Merge branch 'dev' into test

parents 0709b822 6e764dec
......@@ -233,7 +233,7 @@
actions.push('<a class="btn btn-success btn-xs ' + reviewFlag + '" href="javascript:void(0)" onclick="review(\'' + row.orderRefundsId + '\')"></i>一审</a> ');
actions.push('<a class="btn btn-primary btn-xs ' + executeFlag + '" href="javascript:void(0)" onclick="execute(\'' + row.orderRefundsId + '\')"></i>二审</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + cancelFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderRefundsId + '\', \'确定取消退款申请吗?\', table.options.cancelUrl)"></i>取消</a> ');
actions.push('<a class="btn btn-warning btn-xs ' + reapplyFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderRefundsId + '\', \'确定重新提交退款审核吗?\', table.options.reapplyUrl)"></i>重新提交</a> ');
// actions.push('<a class="btn btn-warning btn-xs ' + reapplyFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderRefundsId + '\', \'确定重新提交退款审核吗?\', table.options.reapplyUrl)"></i>重新提交</a> ');
actions.push('<a class="btn btn-warning btn-xs ' + completedFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderRefundsId + '\', \'确定主动完成退款吗?\', table.options.completedUrl)"></i>主动完成退款</a> ');
return actions.join('');
}
......
......@@ -186,7 +186,7 @@
actions.push('<a class="btn btn-success btn-xs ' + reviewFlag + '" href="javascript:void(0)" onclick="review(\'' + row.refundBatchId + '\')"></i>一审</a> ');
actions.push('<a class="btn btn-primary btn-xs ' + executeFlag + '" href="javascript:void(0)" onclick="execute(\'' + row.refundBatchId + '\')"></i>二审</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + cancelFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.refundBatchId + '\', \'确定取消退款申请吗?\', table.options.cancelUrl)"></i>取消</a> ');
actions.push('<a class="btn btn-warning btn-xs ' + reapplyFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.refundBatchId + '\', \'确定重新提交退款审核吗?\', table.options.reapplyUrl)"></i>重新提交</a> ');
// actions.push('<a class="btn btn-warning btn-xs ' + reapplyFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.refundBatchId + '\', \'确定重新提交退款审核吗?\', table.options.reapplyUrl)"></i>重新提交</a> ');
return actions.join('');
}
}]
......
......@@ -238,7 +238,7 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
return ResponseDto.failure("type类型错误");
case "cancel":
// orderRefundStatus = new Integer[]{KylinTableStatusConst.ORDER_REFUND_STATUS_APPLY, KylinTableStatusConst.ORDER_REFUND_STATUS_REJECT, KylinTableStatusConst.ORDER_REFUND_STATUS_REFUSE};
orderRefundStatus = new Integer[]{KylinTableStatusConst.ORDER_REFUND_STATUS_APPLY, KylinTableStatusConst.ORDER_REFUND_STATUS_REJECT};
orderRefundStatus = new Integer[]{KylinTableStatusConst.ORDER_REFUND_STATUS_APPLY, KylinTableStatusConst.ORDER_REFUND_STATUS_APPROVED};
orderType = KylinTableStatusConst.ORDER_REFUND_TYPE_APPLY;
break;
case "reapply":
......@@ -274,7 +274,7 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
String refuse = refundApplyParam.getRefuse();
switch (type) {
case "cancel":
res = kylinRefundsStatusServiceImpl.orderTicketRefundCancel(refundList);
res = kylinRefundsStatusServiceImpl.orderTicketRefundCancel(refundList, true);
break;
case "reapply":
res = kylinRefundsStatusServiceImpl.orderRefundChangeStatus(refundList, type, "", "");
......@@ -284,6 +284,7 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
break;
case "reject":
res = kylinRefundsStatusServiceImpl.orderRefundChangeStatus(refundList, type, reject, "");
res = kylinRefundsStatusServiceImpl.orderTicketRefundCancel(refundList, false);
break;
case "unfilled":
res = kylinRefundsStatusServiceImpl.orderTicketRefundUnfilled(refundList, refuse);
......
......@@ -212,7 +212,7 @@ public class KylinRefundsStatusServiceImpl {
return true;
}
public boolean orderTicketRefundCancel(List<KylinOrderRefunds> refundList) {
public boolean orderTicketRefundCancel(List<KylinOrderRefunds> refundList, Boolean isUser) {
for (KylinOrderRefunds refundInfo : refundList) {
List<KylinOrderRefundEntities> refundEntities = kylinOrderRefundsEntitiesMapper.selectList(
new QueryWrapper<KylinOrderRefundEntities>().eq("order_refunds_id", refundInfo.getOrderRefundsId())
......@@ -304,17 +304,19 @@ public class KylinRefundsStatusServiceImpl {
}
// 退款细节取消
KylinOrderRefunds kylinOrderRefunds = new KylinOrderRefunds();
kylinOrderRefunds.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL);
kylinOrderRefunds.setUpdatedAt(LocalDateTime.now());
kylinOrderRefundsMapper.update(kylinOrderRefunds, new UpdateWrapper<KylinOrderRefunds>()
.eq("order_refunds_id", orderRefundsId));
// 修改缓存
UpdateResult updateResult = mongoTemplate.getCollection(KylinOrderRefundsVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)).getQueryObject(),
new Document("$set", new Document("status", KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL)
.append("updatedAt", LocalDateTime.now()))
);
if (isUser) {
KylinOrderRefunds kylinOrderRefunds = new KylinOrderRefunds();
kylinOrderRefunds.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL);
kylinOrderRefunds.setUpdatedAt(LocalDateTime.now());
kylinOrderRefundsMapper.update(kylinOrderRefunds, new UpdateWrapper<KylinOrderRefunds>()
.eq("order_refunds_id", orderRefundsId));
// 修改缓存
UpdateResult updateResult = mongoTemplate.getCollection(KylinOrderRefundsVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)).getQueryObject(),
new Document("$set", new Document("status", KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL)
.append("updatedAt", LocalDateTime.now()))
);
}
}
List<String> orderRefundIds = refundList.stream().map(
......
......@@ -34,35 +34,35 @@ public class LnsRegex {
/**
* 大陆居民身份证
*/
public static final String CN_ID_CARD_REF = "/(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}$)/";
public static final String CN_ID_CARD_REF = "(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}$)";
/**
* 军官证
* 规则: 军/兵/士/文/职/广/(其他中文) + "字第" + 4到8位字母或数字 + "号"
* 样本: 军字第2001988号, 士字第P011816X号
*/
public static final String CN_ID_CARD_MO = "/^[\\x{4E00}-\\x{9FA5}](字第)([0-9a-zA-Z]{4,8})(号?)$/u";
public static final String CN_ID_CARD_MO = "^[\\x{4E00}-\\x{9FA5}](字第)([0-9a-zA-Z]{4,8})(号?)$";
/**
* 中国大陆护照
* 规则: 14/15开头 + 7位数字, P + 7位数字, G/E + 8位数字, S/D + 7或8位数字, 等
* 样本: 141234567, G12345678, P1234567
*/
public static final String CN_ID_CARD_PP = "/^(?:P\\d{7}|[GE]\\d{8}|[SD]\\d{7,8}|[PSD]E\\d{7}|1[45]\\d{7})$/";
public static final String CN_ID_CARD_PP = "^(?:P\\d{7}|[GE]\\d{8}|[SD]\\d{7,8}|[PSD]E\\d{7}|1[45]\\d{7})$";
/**
* 非中国大陆护照
*/
public static final String CN_ID_CARD_PP_NON = "/^([A-Z0-9]){5,17}$/";
public static final String CN_ID_CARD_PP_NON = "^([A-Z0-9]){5,17}$";
/**
* 港澳居民来往内地通行证
* 规则: H/M + 8位数字, C + 8位数字, C + 1位字母除去IO + 7位数字
* 样本: H12345678
*/
public static final String CN_ID_CARD_HM = "/^(?:[HM]\\d{8}|C[A-HJ-NP-Z0-9]\\d{7})$/";
public static final String CN_ID_CARD_HM = "^(?:[HM]\\d{8}|C[A-HJ-NP-Z0-9]\\d{7})$";
/**
* 台湾居民来往大陆通行证
* 规则: 8位数字, 18位数字, 10位数字 + 1位英文字母
* 样本: 12345678 1234567890B
*/
public static final String CN_ID_CARD_TW = "/^(?:\\d{8}|\\d{18}|\\d{10}[A-Z])$/";
public static final String CN_ID_CARD_TW = "^(?:\\d{8}|\\d{18}|\\d{10}[A-Z])$";
/* ======================================================================= | 第三方平台类 */
......
package com.liquidnet.service.kylin.controller;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressVo;
import com.liquidnet.service.kylin.service.impl.PerformancesExpressInfoServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 演出快递
* </p>
*
* @author jiangxiulong
* @since 2021-06-21
*/
@Api(tags = "前端-物流信息")
@RestController
@RequestMapping("performancesExpress")
public class PerformancesExpressInfoController {
@Autowired
private PerformancesExpressInfoServiceImpl performancesExpressInfoServiceImpl;
@GetMapping("orderRoute/{orderTicketsId}")
@ApiOperation("获取物流信息") // 前端使用
@ApiImplicitParam(name = "orderTicketsId", value = "订单ID", required = true, dataType = "String", paramType = "path")
public ResponseDto<KylinOrderExpressVo> orderRouteDetail(@PathVariable() String orderTicketsId) {
KylinOrderExpressVo routeVoList = performancesExpressInfoServiceImpl.orderRouteDetail(orderTicketsId);
if (null != routeVoList) {
return ResponseDto.success(routeVoList);
} else {
return ResponseDto.failure(ErrorMapping.get("20800"));
}
}
}
package com.liquidnet.service.kylin.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressRouteVo;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.IKylinOrderExpress;
import com.liquidnet.service.kylin.utils.DataUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* <p>
* 演出 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-05-05
*/
@Service
@Slf4j
public class PerformancesExpressInfoServiceImpl {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
HttpServletRequest httpServletRequest;
@Autowired
private DataUtils dataUtils;
public KylinOrderExpressVo orderRouteDetail(String orderTicketsId) {
List<KylinOrderExpressRouteVo> routeList = dataUtils.getOrderExpressRoute(orderTicketsId);
KylinOrderExpressVo expressInfo = dataUtils.getOrderExpressInfos(orderTicketsId);
expressInfo.setRouteList(routeList);
return expressInfo;
}
}
\ No newline at end of file
......@@ -4,9 +4,8 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressRouteVo;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.*;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo;
......@@ -17,7 +16,6 @@ import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
......@@ -438,4 +436,24 @@ public class DataUtils {
return null == i ? 1 : i;
}
/**
* 演出订单快递路由
*/
public List<KylinOrderExpressRouteVo> getOrderExpressRoute(String orderTicketsId) { // 获取
String redisKey = KylinRedisConst.ORDER_ROUTE_INFO.concat(orderTicketsId);
if (!redisUtil.hasKey(redisKey)) {
List<KylinOrderExpressRouteVo> routeVoList = mongoTemplate.find(
Query.query(Criteria.where("orderTicketsId").is(orderTicketsId)),
KylinOrderExpressRouteVo.class, KylinOrderExpressRouteVo.class.getSimpleName()
);
redisUtil.set(redisKey, routeVoList);
}
return (List<KylinOrderExpressRouteVo>) redisUtil.get(redisKey);
}
public KylinOrderExpressVo getOrderExpressInfos(String orderId) {
String redisKey = KylinRedisConst.ORDER_EXPRESS_INFO.concat(orderId);
return (KylinOrderExpressVo) redisUtil.get(redisKey);
}
}
package com.liquidnet.service.platform.controller.express.shunfeng;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressRouteVo;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressVo;
import com.liquidnet.service.platform.service.express.shunfeng.PerformancesExpressCallbackServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
/**
* <p>
......@@ -70,16 +64,4 @@ public class PerformancesExpressCallbackController {
return objectObjectHashMap;
}
@GetMapping("orderRoute/{orderTicketsId}")
@ApiOperation("获取物流信息") // 前端使用
@ApiImplicitParam(name = "orderTicketsId", value = "订单ID", required = true, dataType = "String", paramType = "path")
public ResponseDto<KylinOrderExpressVo> orderRouteDetail(@PathVariable() String orderTicketsId) {
KylinOrderExpressVo routeVoList = performancesExpressServiceImpl.orderRouteDetail(orderTicketsId);
if (null != routeVoList) {
return ResponseDto.success(routeVoList);
} else {
return ResponseDto.failure(ErrorMapping.get("20800"));
}
}
}
package com.liquidnet.service.platform.service.express.shunfeng;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.param.*;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressRouteVo;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinRoadShowVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.IKylinOrderExpress;
......@@ -20,8 +16,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -182,10 +176,4 @@ public class PerformancesExpressCallbackServiceImpl extends ServiceImpl<KylinOrd
return false;
}
public KylinOrderExpressVo orderRouteDetail(String orderTicketsId) {
List<KylinOrderExpressRouteVo> routeList = dataUtils.getOrderExpressRoute(orderTicketsId);
KylinOrderExpressVo expressInfo = dataUtils.getOrderExpressInfo(orderTicketsId);
expressInfo.setRouteList(routeList);
return expressInfo;
}
}
\ No newline at end of file
......@@ -605,25 +605,7 @@ public class DataUtils {
String redisKey = KylinRedisConst.ORDER_EXPRESS_INFO.concat(orderId);
redisUtil.set(redisKey, kylinOrderExpressVo);
}
public KylinOrderExpressVo getOrderExpressInfo(String orderId) {
String redisKey = KylinRedisConst.ORDER_EXPRESS_INFO.concat(orderId);
return (KylinOrderExpressVo) redisUtil.get(redisKey);
}
/**
* 演出订单快递路由
*/
public List<KylinOrderExpressRouteVo> getOrderExpressRoute(String orderTicketsId) { // 获取
String redisKey = KylinRedisConst.ORDER_ROUTE_INFO.concat(orderTicketsId);
if (!redisUtil.hasKey(redisKey)) {
List<KylinOrderExpressRouteVo> routeVoList = mongoTemplate.find(
Query.query(Criteria.where("orderTicketsId").is(orderTicketsId)),
KylinOrderExpressRouteVo.class, KylinOrderExpressRouteVo.class.getSimpleName()
);
redisUtil.set(redisKey, routeVoList);
}
return (List<KylinOrderExpressRouteVo>) redisUtil.get(redisKey);
}
public void delOrderExpressRoute(String orderTicketsId) { // 删除
String redisKey = KylinRedisConst.ORDER_ROUTE_INFO.concat(orderTicketsId);
redisUtil.del(redisKey);
......
......@@ -59,26 +59,20 @@ public class ShunfengSignUtils {
* @return
*/
public boolean receiveRequestAndCheckSign(String params, HttpServletRequest request) {
log.error("params {}", params);
log.debug("params {}", params);
log.info("params {}", params);
// 请求方APPID
String sendAppId = request.getHeader("sendAppId");
log.error("sendAppId {}", sendAppId);
// 请求方时间戳
String timestamp = request.getHeader("timestamp");
log.error("timestamp {}", timestamp);
// 请求方签名
String sign = request.getHeader("sign");
log.error("sign {}", sign);
if (StringUtils.isBlank(sendAppId)) {
log.error("参数sendAppId不能为空");
return false;
}
if (StringUtils.isBlank(timestamp)) {
log.error("参数timestamp不能为空 {}", "");
System.out.println("参数timestamp不能为空");
log.error("参数timestamp不能为空");
return false;
}
if (StringUtils.isBlank(sign)) {
......@@ -94,7 +88,6 @@ public class ShunfengSignUtils {
}
// 请求方参数+请求方时间戳+SK 生成签名
String thisSign = genSign(timestamp, params);
log.error("thisSign {}", thisSign);
// 获取的签名和请求方签名比较是否一致
if (!thisSign.equals(sign)) {
log.error("签名错误");
......
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