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

Commit 8174a421 authored by 张国柄's avatar 张国柄

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

parents 5d463718 050b56ef
...@@ -9,6 +9,9 @@ package com.liquidnet.service.kylin.constant; ...@@ -9,6 +9,9 @@ package com.liquidnet.service.kylin.constant;
* @since 2021-05-25 6:38 下午 * @since 2021-05-25 6:38 下午
*/ */
public class KylinTableStatusConst { public class KylinTableStatusConst {
/**
* 退款
*/
// 批量退款 1处理完成 11 处理中 // 批量退款 1处理完成 11 处理中
public static final Integer STATUS_APPLY = 1; // 1申请退款 public static final Integer STATUS_APPLY = 1; // 1申请退款
public static final Integer STATUS_APPLY11 = 11; public static final Integer STATUS_APPLY11 = 11;
...@@ -72,4 +75,10 @@ public class KylinTableStatusConst { ...@@ -72,4 +75,10 @@ public class KylinTableStatusConst {
// 出票状态 // 出票状态
public static final Integer ENTITIES_STATUS0 = 0; // 未出票 public static final Integer ENTITIES_STATUS0 = 0; // 未出票
public static final Integer ENTITIES_STATUS1 = 1; // 已出票 public static final Integer ENTITIES_STATUS1 = 1; // 已出票
/**
* 快递
*/
public static final Integer ORDER_EXPRESS_STATUS1 = 1; // 申请
public static final Integer ORDER_EXPRESS_STATUS2 = 2; // 取消
} }
...@@ -95,4 +95,42 @@ public class PerformancesExpressController extends BaseController { ...@@ -95,4 +95,42 @@ public class PerformancesExpressController extends BaseController {
} }
} }
/**
* 取消
*/
@RequiresPermissions("kylin:performancesExpress:cancelOrder")
@PostMapping("/cancelOrder")
@ResponseBody
public AjaxResult cancelOrder(PerformanceExpressSearchAdminParam performanceExpressSearchAdminParam) {
ResponseDto res = performancesExpressServiceImpl.cancelOrder(performanceExpressSearchAdminParam);
try {
if (res.isSuccess()) {
return success();
} else {
return error(res.getMessage());
}
} catch (Exception e) {
return error(e.getMessage());
}
}
/**
* 结果主动查询
*/
@RequiresPermissions("kylin:performancesExpress:getResult")
@PostMapping("/getResult")
@ResponseBody
public AjaxResult getResult(PerformanceExpressSearchAdminParam performanceExpressSearchAdminParam) {
ResponseDto res = performancesExpressServiceImpl.getResult(performanceExpressSearchAdminParam);
try {
if (res.isSuccess()) {
return success();
} else {
return error(res.getMessage());
}
} catch (Exception e) {
return error(e.getMessage());
}
}
} }
...@@ -69,6 +69,8 @@ ...@@ -69,6 +69,8 @@
<th:block th:include="include :: footer"/> <th:block th:include="include :: footer"/>
<script th:inline="javascript"> <script th:inline="javascript">
var placeOrderFlag = [[${@permission.hasPermi('kylin:performancesExpress:placeOrder')}]]; var placeOrderFlag = [[${@permission.hasPermi('kylin:performancesExpress:placeOrder')}]];
var cancelOrderFlag = [[${@permission.hasPermi('kylin:performancesExpress:cancelOrder')}]];
var getResultFlag = [[${@permission.hasPermi('kylin:performancesExpress:getResult')}]];
var prefix = ctx + "kylin/performancesExpress"; var prefix = ctx + "kylin/performancesExpress";
...@@ -79,6 +81,8 @@ ...@@ -79,6 +81,8 @@
url: prefix + "/performanceOrderList", url: prefix + "/performanceOrderList",
modalName: "演出订单", modalName: "演出订单",
placeOrderUrl: prefix + "/placeOrder", placeOrderUrl: prefix + "/placeOrder",
cancelOrderUrl: prefix + "/cancelOrder",
getResultUrl: prefix + "/getResult",
columns: [{ columns: [{
checkbox: true checkbox: true
}, },
...@@ -135,7 +139,9 @@ ...@@ -135,7 +139,9 @@
align: 'center', align: 'center',
formatter: function (value, row, index) { formatter: function (value, row, index) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-danger btn-xs ' + placeOrderFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderTicketsId + '\', \'确定下单吗?\', table.options.placeOrderUrl)"></i>下单</a> '); actions.push('<a class="btn btn-success btn-xs ' + placeOrderFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderTicketsId + '\', \'确定下单吗?\', table.options.placeOrderUrl)"></i>下单</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + cancelOrderFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderTicketsId + '\', \'确定取消快递单吗?\', table.options.cancelOrderUrl)"></i>取消</a> ');
actions.push('<a class="btn btn-default btn-xs ' + getResultFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderTicketsId + '\', \'确定获取快递信息吗?\', table.options.getResultUrl)"></i>主动获取下单信息</a> ');
return actions.join(''); return actions.join('');
} }
}] }]
......
package com.liquidnet.client.admin.zhengzai.kylin.service.impl; package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.common.utils.StringUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.ShunfengSignUtils; import com.liquidnet.client.admin.zhengzai.kylin.utils.ShunfengSignUtils;
import com.liquidnet.commons.lang.util.BeanUtil; import com.liquidnet.commons.lang.util.BeanUtil;
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.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dao.*; import com.liquidnet.service.kylin.dao.*;
import com.liquidnet.service.kylin.dto.param.*; import com.liquidnet.service.kylin.dto.param.*;
import com.liquidnet.service.kylin.entity.*; import com.liquidnet.service.kylin.entity.*;
...@@ -52,9 +55,9 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres ...@@ -52,9 +55,9 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres
@Value("${liquidnet.shunfeng.jAddress}") @Value("${liquidnet.shunfeng.jAddress}")
private String jAddress; private String jAddress;
@Value("${liquidnet.shunfeng.payMethod}") @Value("${liquidnet.shunfeng.payMethod}")
private String payMethod; private Integer payMethod;
@Value("${liquidnet.shunfeng.expressType}") @Value("${liquidnet.shunfeng.expressType}")
private String expressType; private Integer expressType;
@Value("${liquidnet.shunfeng.depositumInfo}") @Value("${liquidnet.shunfeng.depositumInfo}")
private String depositumInfo; private String depositumInfo;
...@@ -115,7 +118,14 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres ...@@ -115,7 +118,14 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres
hBody.put("depositumInfo", depositumInfo); hBody.put("depositumInfo", depositumInfo);
hBody.put("orderId", orderInfo.getOrderCode()); Integer placeCount = kylinOrderExpressMapper.selectCount(
new QueryWrapper<KylinOrderExpress>()
.eq("order_tickets_id", orderTicketsId)
);
String codeNum = StringUtils.leftPad(String.valueOf(placeCount), 3, "0");
String OrderExpressCode = "NEW"+orderInfo.getOrderCode().concat(codeNum);
hBody.put("orderId", OrderExpressCode);
hBody.put("depositumNo", orderInfo.getNumber()); hBody.put("depositumNo", orderInfo.getNumber());
hBody.put("dContact", orderInfo.getExpressContacts()); hBody.put("dContact", orderInfo.getExpressContacts());
hBody.put("dMobile", orderInfo.getExpressPhone()); hBody.put("dMobile", orderInfo.getExpressPhone());
...@@ -134,23 +144,118 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres ...@@ -134,23 +144,118 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres
String msg = (String) hashMap.get("msg"); String msg = (String) hashMap.get("msg");
return ResponseDto.failure(msg); return ResponseDto.failure(msg);
} else { } else {
HashMap hashMapResult = (HashMap) hashMap.get("result");
KylinOrderExpress kylinOrderExpress = new KylinOrderExpress(); KylinOrderExpress kylinOrderExpress = new KylinOrderExpress();
String orderExpressId = IDGenerator.nextSnowId(); String orderExpressId = IDGenerator.nextSnowId();
kylinOrderExpress.setExpressStatus(KylinTableStatusConst.ORDER_EXPRESS_STATUS1);
kylinOrderExpress.setOrderExpressId(orderExpressId); kylinOrderExpress.setOrderExpressId(orderExpressId);
kylinOrderExpress.setOrderTicketsId(orderTicketsId); kylinOrderExpress.setOrderTicketsId(orderTicketsId);
kylinOrderExpress.setMailno((String) hashMap.get("mailno")); kylinOrderExpress.setOrderExpressCode(OrderExpressCode);
kylinOrderExpress.setExpressType(1); kylinOrderExpress.setMailno((String) hashMapResult.get("mailno"));
kylinOrderExpress.setFilterResult((Integer) hashMap.get("filter_result")); kylinOrderExpress.setExpressType(expressType);
kylinOrderExpress.setRemark((String) hashMap.get("remark")); kylinOrderExpress.setFilterResult(hashMapResult.get("filter_result").toString());
kylinOrderExpress.setOrigincode((String) hashMap.get("origincode")); kylinOrderExpress.setRemark((String) hashMapResult.get("remark"));
kylinOrderExpress.setDestcode((String) hashMap.get("destcode")); kylinOrderExpress.setOrigincode((String) hashMapResult.get("origincode"));
kylinOrderExpress.setPrintIcon((String) hashMap.get("printIcon")); kylinOrderExpress.setDestcode((String) hashMapResult.get("destcode"));
kylinOrderExpress.setPrintFlag((String) hashMap.get("printFlag")); kylinOrderExpress.setPrintIcon((String) hashMapResult.get("printIcon"));
kylinOrderExpress.setTwoDimensionCode((String) hashMap.get("twoDimensionCode")); kylinOrderExpress.setPrintFlag((String) hashMapResult.get("printFlag"));
kylinOrderExpress.setTwoDimensionCode((String) hashMapResult.get("twoDimensionCode"));
kylinOrderExpress.setCreatedAt(DateUtil.getNowTime()); kylinOrderExpress.setCreatedAt(DateUtil.getNowTime());
kylinOrderExpressMapper.insert(kylinOrderExpress); kylinOrderExpressMapper.insert(kylinOrderExpress);
} }
} }
return ResponseDto.success(); return ResponseDto.success();
} }
public ResponseDto cancelOrder(PerformanceExpressSearchAdminParam performanceExpressSearchAdminParam) {
List<String> ids = performanceExpressSearchAdminParam.getIds();
for (String orderTicketsId : ids) {
KylinOrderExpress orderExpressInfo = kylinOrderExpressMapper.selectOne(
new QueryWrapper<KylinOrderExpress>().eq("order_tickets_id", orderTicketsId)
.ne("express_status", KylinTableStatusConst.ORDER_EXPRESS_STATUS2)
);
if (null != orderExpressInfo) {
HashMap<String, Object> hBody = new HashMap<>();
hBody.put("orderId", orderExpressInfo.getOrderExpressCode());
// 时间戳
long currentTimeMillis = System.currentTimeMillis();
// 生成签名并请求
String result = shunfengSignUtils.generateSignatureAndRequest(currentTimeMillis + "", hBody, "/public/order/v1/cancelOrder");
HashMap hashMap = JsonUtils.fromJson(result, HashMap.class);
System.out.println(result);
if (hashMap.get("succ").equals("fail")) {
String msg = (String) hashMap.get("msg");
return ResponseDto.failure(msg);
} else {
KylinOrderExpress kylinOrderExpress = new KylinOrderExpress();
kylinOrderExpress.setExpressStatus(KylinTableStatusConst.ORDER_EXPRESS_STATUS2);
kylinOrderExpress.setUpdatedAt(DateUtil.getNowTime());
kylinOrderExpressMapper.update(
kylinOrderExpress
, new UpdateWrapper<KylinOrderExpress>().in("order_express_id", orderExpressInfo.getOrderExpressId())
);
}
}
}
return ResponseDto.success();
}
public ResponseDto getResult(PerformanceExpressSearchAdminParam performanceExpressSearchAdminParam) {
List<String> ids = performanceExpressSearchAdminParam.getIds();
for (String orderTicketsId : ids) {
KylinOrderExpress orderExpressInfo = kylinOrderExpressMapper.selectOne(
new QueryWrapper<KylinOrderExpress>().eq("order_tickets_id", orderTicketsId)
.ne("express_status", KylinTableStatusConst.ORDER_EXPRESS_STATUS2)
);
if (null != orderExpressInfo) {
KylinOrderTickets orderInfo = kylinOrderTicketsMapper.selectOne(
new QueryWrapper<KylinOrderTickets>().eq("order_tickets_id", orderTicketsId)
);
Integer placeCount = kylinOrderExpressMapper.selectCount(
new QueryWrapper<KylinOrderExpress>()
.eq("order_tickets_id", orderTicketsId)
);
String codeNum = StringUtils.leftPad(String.valueOf(placeCount), 3, "0");
String OrderExpressCode = "NEW"+orderInfo.getOrderCode().concat(codeNum);
HashMap<String, Object> hBody = new HashMap<>();
hBody.put("orderId", OrderExpressCode);
hBody.put("searchType", 1); //查询类型:1,正向单查询,传入的orderid为正向定单号,2,退货单查询,传入的orderid为退货原始订单号
// 时间戳
long currentTimeMillis = System.currentTimeMillis();
// 生成签名并请求
String result = shunfengSignUtils.generateSignatureAndRequest(currentTimeMillis + "", hBody, "/public/order/v1/getResult");
HashMap hashMap = JsonUtils.fromJson(result, HashMap.class);
System.out.println(result);
if (hashMap.get("succ").equals("fail")) {
String msg = (String) hashMap.get("msg");
return ResponseDto.failure(msg);
} else {
HashMap hashMapResult = (HashMap) hashMap.get("result");
KylinOrderExpress kylinOrderExpress = new KylinOrderExpress();
String orderExpressId = IDGenerator.nextSnowId();
kylinOrderExpress.setExpressStatus(KylinTableStatusConst.ORDER_EXPRESS_STATUS1);
kylinOrderExpress.setOrderExpressId(orderExpressId);
kylinOrderExpress.setOrderTicketsId(orderTicketsId);
kylinOrderExpress.setOrderExpressCode(OrderExpressCode);
kylinOrderExpress.setMailno((String) hashMapResult.get("mailno"));
kylinOrderExpress.setExpressType(expressType);
kylinOrderExpress.setFilterResult(hashMapResult.get("filter_result").toString());
kylinOrderExpress.setRemark((String) hashMapResult.get("remark"));
kylinOrderExpress.setOrigincode((String) hashMapResult.get("origincode"));
kylinOrderExpress.setDestcode((String) hashMapResult.get("destcode"));
kylinOrderExpress.setPrintIcon((String) hashMapResult.get("printIcon"));
kylinOrderExpress.setPrintFlag((String) hashMapResult.get("printFlag"));
kylinOrderExpress.setTwoDimensionCode((String) hashMapResult.get("twoDimensionCode"));
kylinOrderExpress.setCreatedAt(DateUtil.getNowTime());
kylinOrderExpressMapper.insert(kylinOrderExpress);
}
}
}
return ResponseDto.success();
}
} }
...@@ -167,12 +167,14 @@ public class MongoVoUtils { ...@@ -167,12 +167,14 @@ public class MongoVoUtils {
KylinOrderListVo voItem = new KylinOrderListVo(); KylinOrderListVo voItem = new KylinOrderListVo();
KylinOrderTicketVo data; KylinOrderTicketVo data;
if (dataSingle == null) { if (dataSingle == null) {
data = (KylinOrderTicketVo) redisUtil.get(KylinRedisConst.ORDER + orderId); data = (KylinOrderTicketVo) dataUtils.getOrderTicketVo(orderId);
// data = (KylinOrderTicketVo) redisUtil.get(KylinRedisConst.ORDER + orderId);
} else { } else {
data = dataSingle; data = dataSingle;
} }
BeanUtils.copyProperties(data, voItem); BeanUtils.copyProperties(data, voItem);
List<KylinOrderListVo> redisData = (List<KylinOrderListVo>) redisUtil.get(KylinRedisConst.ORDER_LIST + userId); List<KylinOrderListVo> redisData = (List<KylinOrderListVo>) dataUtils.getOrderList(userId);
// List<KylinOrderListVo> redisData = (List<KylinOrderListVo>) redisUtil.get(KylinRedisConst.ORDER_LIST + userId);
if (type == 1) { if (type == 1) {
redisVo.add(voItem); redisVo.add(voItem);
if (redisData.size() > 0) { if (redisData.size() > 0) {
......
...@@ -19,6 +19,7 @@ public class PerformanceExpressPerformanceOrderListAdminDao { ...@@ -19,6 +19,7 @@ public class PerformanceExpressPerformanceOrderListAdminDao {
String expressContacts; String expressContacts;
String expressAddress; String expressAddress;
String expressPhone; String expressPhone;
String expressStatus;
Integer expressType; Integer expressType;
......
...@@ -26,10 +26,12 @@ public class KylinOrderExpress implements Serializable { ...@@ -26,10 +26,12 @@ public class KylinOrderExpress implements Serializable {
private String orderExpressId; private String orderExpressId;
private String orderTicketsId; private String orderTicketsId;
private String OrderExpressCode;
private String mailno; private String mailno;
private Integer expressType; private Integer expressType;
private Integer filterResult; private String filterResult;
private String remark; private String remark;
private Integer expressStatus;
private String origincode; private String origincode;
private String destcode; private String destcode;
private String printIcon; private String printIcon;
......
...@@ -748,11 +748,12 @@ CREATE TABLE `kylin_order_express` ...@@ -748,11 +748,12 @@ CREATE TABLE `kylin_order_express`
`mid` int unsigned NOT NULL AUTO_INCREMENT, `mid` int unsigned NOT NULL AUTO_INCREMENT,
`order_express_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'order_express_id', `order_express_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'order_express_id',
`order_tickets_id` varchar(255) NOT NULL DEFAULT '' COMMENT '订单id', `order_tickets_id` varchar(255) NOT NULL DEFAULT '' COMMENT '订单id',
`order_express_code` varchar(255) NOT NULL DEFAULT '' COMMENT '订单快递编号',
`mailno` varchar(255) NOT NULL DEFAULT '' COMMENT '顺丰运单号', `mailno` varchar(255) NOT NULL DEFAULT '' COMMENT '顺丰运单号',
`express_type` tinyint NOT NULL DEFAULT '0' COMMENT '快件产品类型 1顺丰特快...', `express_type` tinyint NOT NULL DEFAULT '0' COMMENT '快件产品类型 1顺丰特快...',
`filter_result` tinyint NOT NULL DEFAULT '0' COMMENT '1-人工确认;2-可收派;3-不可以收派', `filter_result` varchar(2) NOT NULL DEFAULT '0' COMMENT '1-人工确认;2-可收派;3-不可以收派',
`remark` varchar(255) NOT NULL DEFAULT '' COMMENT 'filter_result=3时返回不可以收派的原因代码', `remark` varchar(255) NOT NULL DEFAULT '' COMMENT 'filter_result=3时返回不可以收派的原因代码',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '快递状态', `express_status` tinyint NOT NULL DEFAULT '0' COMMENT '快递状态',
`origincode` varchar(255) NOT NULL DEFAULT '' COMMENT '原寄地区域代码 可用于顺丰电子面单标签打印', `origincode` varchar(255) NOT NULL DEFAULT '' COMMENT '原寄地区域代码 可用于顺丰电子面单标签打印',
`destcode` varchar(255) NOT NULL DEFAULT '' COMMENT '目的地区域代码 可用于顺丰电子面单标签打印', `destcode` varchar(255) NOT NULL DEFAULT '' COMMENT '目的地区域代码 可用于顺丰电子面单标签打印',
`print_icon` varchar(255) NOT NULL DEFAULT '' COMMENT '打印图标', `print_icon` varchar(255) NOT NULL DEFAULT '' COMMENT '打印图标',
......
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