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

Commit 863495f5 authored by jiangxiulong's avatar jiangxiulong

快递 batch

parent 934f30b1
...@@ -34,14 +34,14 @@ INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, ur ...@@ -34,14 +34,14 @@ INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, ur
INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2031, '删除', 2027, 2, '#', 'menuItem', 'F', '0', '1', 'kylin:banners:delete', '#', 'admin', '2021-06-07 20:07:07', '', null, ''); INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2031, '删除', 2027, 2, '#', 'menuItem', 'F', '0', '1', 'kylin:banners:delete', '#', 'admin', '2021-06-07 20:07:07', '', null, '');
INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2032, '快递管理', 2000, 4, '#', 'menuItem', 'C', '0', '1', 'kylin:performancesExpress:view', '#', 'admin', '2021-06-30 20:01:36', '', null, ''); INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2032, '快递管理', 2000, 4, '#', 'menuItem', 'C', '0', '1', 'kylin:performancesExpress:view', '#', 'admin', '2021-06-30 20:01:36', '', null, '');
INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2033, '演出快递列表', 2032, 0, '/kylin/performancesExpress', 'menuItem', 'C', '0', '1', 'kylin:performancesExpress:list', '#', 'admin', '2021-06-30 20:03:59', '', null, ''); INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2033, '演出列表', 2032, 0, '/kylin/performancesExpress', 'menuItem', 'C', '0', '1', 'kylin:performancesExpress:list', '#', 'admin', '2021-06-30 20:03:59', '', null, '');
INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2034, '查看演出订单', 2033, 0, '#', 'menuItem', 'F', '0', '1', 'kylin:performancesExpress:performanceOrderList', '#', 'admin', '2021-06-30 20:05:33', '', null, ''); INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2034, '查看演出订单', 2033, 0, '#', 'menuItem', 'F', '0', '1', 'kylin:performancesExpress:performanceOrderList', '#', 'admin', '2021-06-30 20:05:33', '', null, '');
INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2035, '下单', 2034, 1, '#', 'menuItem', 'F', '0', '1', 'kylin:performancesExpress:placeOrder', '#', 'admin', '2021-06-30 20:05:58', '', null, ''); INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2035, '下单', 2034, 1, '#', 'menuItem', 'F', '0', '1', 'kylin:performancesExpress:placeOrder', '#', 'admin', '2021-06-30 20:05:58', '', null, '');
INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2036, '取消', 2034, 2, '#', 'menuItem', 'F', '0', '1', 'kylin:performancesExpress:cancelOrder', '#', 'admin', '2021-06-30 20:07:07', '', null, ''); INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2036, '取消', 2034, 2, '#', 'menuItem', 'F', '0', '1', 'kylin:performancesExpress:cancelOrder', '#', 'admin', '2021-06-30 20:07:07', '', null, '');
INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2037, '下单结果主动查询', 2034, 2, '#', 'menuItem', 'F', '0', '1', 'kylin:performancesExpress:getResult', '#', 'admin', '2021-06-30 20:07:07', '', null, ''); INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2037, '下单结果主动查询', 2034, 3, '#', 'menuItem', 'F', '0', '1', 'kylin:performancesExpress:getResult', '#', 'admin', '2021-06-30 20:07:07', '', null, '');
INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2038, '运费估算', 2034, 2, '#', 'menuItem', 'F', '0', '1', 'kylin:performancesExpress:getFreight', '#', 'admin', '2021-06-30 20:07:07', '', null, ''); INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2038, '运费估算', 2034, 4, '#', 'menuItem', 'F', '0', '1', 'kylin:performancesExpress:getFreight', '#', 'admin', '2021-06-30 20:07:07', '', null, '');
INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2039, '实际运费主动查询', 2034, 2, '#', 'menuItem', 'F', '0', '1', 'kylin:performancesExpress:getListFreight', '#', 'admin', '2021-06-30 20:07:07', '', null, ''); INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2039, '路由信息主动查询', 2034, 5, '#', 'menuItem', 'F', '0', '1', 'kylin:performancesExpress:listOrderRoute', '#', 'admin', '2021-06-30 20:07:07', '', null, '');
INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2040, '路由信息主动查询', 2034, 2, '#', 'menuItem', 'F', '0', '1', 'kylin:performancesExpress:listOrderRoute', '#', 'admin', '2021-06-30 20:07:07', '', null, ''); # INSERT INTO test_ln_scene.sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, is_refresh, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2040, '实际运费主动查询', 2034, 6, '#', 'menuItem', 'F', '0', '1', 'kylin:performancesExpress:getListFreight', '#', 'admin', '2021-06-30 20:07:07', '', null, '');
-- sys_role_menu -- sys_role_menu
INSERT INTO test_ln_scene.sys_role_menu (role_id, menu_id) VALUES (2, 2000); INSERT INTO test_ln_scene.sys_role_menu (role_id, menu_id) VALUES (2, 2000);
......
...@@ -198,4 +198,34 @@ public class PerformancesExpressController extends BaseController { ...@@ -198,4 +198,34 @@ public class PerformancesExpressController extends BaseController {
* 订单确认 快递员上门揽收前,如需修改部分下单内容(如收件人信息等 * 订单确认 快递员上门揽收前,如需修改部分下单内容(如收件人信息等
*/ */
/**
* 批量下单
*/
@RequiresPermissions("kylin:performancesExpress:batchPlaceOrder")
@PostMapping("/batchPlaceOrder")
@ResponseBody
public AjaxResult batchPlaceOrder(@RequestParam("ids") String performanceId) {
try {
performancesExpressServiceImpl.batchPlaceOrder(performanceId);
return success();
} catch (Exception e) {
return error(e.getMessage());
}
}
/**
* 批量取消
*/
@RequiresPermissions("kylin:performancesExpress:batchCancelOrder")
@PostMapping("/batchCancelOrder")
@ResponseBody
public AjaxResult batchCancelOrder(@RequestParam("ids") String performanceId) {
try {
performancesExpressServiceImpl.batchCancelOrder(performanceId);
return success();
} catch (Exception e) {
return error(e.getMessage());
}
}
} }
...@@ -149,7 +149,7 @@ ...@@ -149,7 +149,7 @@
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-danger btn-xs ' + cancelOrderFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderTicketsId + '\', \'确定取消快递单吗?\', table.options.cancelOrderUrl)"></i>取消</a> ');
actions.push('<a class="btn btn-success btn-xs ' + getResultFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderTicketsId + '\', \'确定获取快递信息吗?\', table.options.getResultUrl)"></i>主动获取下单信息</a> '); actions.push('<a class="btn btn-success btn-xs ' + getResultFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderTicketsId + '\', \'确定获取快递信息吗?\', table.options.getResultUrl)"></i>主动获取下单信息</a> ');
actions.push('<a class="btn btn-success btn-xs ' + getFreightFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderTicketsId + '\', \'确定获取估算运费吗?\', table.options.getFreightUrl)"></i>运费估算</a> '); actions.push('<a class="btn btn-success btn-xs ' + getFreightFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderTicketsId + '\', \'确定获取估算运费吗?\', table.options.getFreightUrl)"></i>运费估算</a> ');
actions.push('<a class="btn btn-success btn-xs ' + getListFreightFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderTicketsId + '\', \'确定获取运费信息吗?\', table.options.getListFreightUrl)"></i>主动获取运费</a> '); // actions.push('<a class="btn btn-success btn-xs ' + getListFreightFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderTicketsId + '\', \'确定获取运费信息吗?\', table.options.getListFreightUrl)"></i>主动获取运费</a> ');
actions.push('<a class="btn btn-success btn-xs ' + listOrderRouteFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderTicketsId + '\', \'确定获取路由信息吗?\', table.options.listOrderRouteUrl)"></i>路由主动查询</a> '); actions.push('<a class="btn btn-success btn-xs ' + listOrderRouteFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderTicketsId + '\', \'确定获取路由信息吗?\', table.options.listOrderRouteUrl)"></i>路由主动查询</a> ');
return actions.join(''); return actions.join('');
} }
......
...@@ -37,16 +37,18 @@ ...@@ -37,16 +37,18 @@
<th:block th:include="include :: footer"/> <th:block th:include="include :: footer"/>
<script th:inline="javascript"> <script th:inline="javascript">
var performanceOrderListFlag = [[${@permission.hasPermi('kylin:performancesExpress:performanceOrderList')}]]; var performanceOrderListFlag = [[${@permission.hasPermi('kylin:performancesExpress:performanceOrderList')}]];
var batchPlaceOrderFlag = [[${@permission.hasPermi('kylin:performancesExpress:batchPlaceOrder')}]];
var batchCancelOrderFlag = [[${@permission.hasPermi('kylin:performancesExpress:batchCancelOrder')}]];
var prefix = ctx + "kylin/performancesExpress"; var prefix = ctx + "kylin/performancesExpress";
$(function () { $(function () {
var options = { var options = {
url: prefix + "/performancesList", url: prefix + "/performancesList",
detailUrl: prefix + "/performanceOrderList/{id}", detailUrl: prefix + "/performanceOrderList/{id}",
batchPlaceOrderUrl: prefix + "/batchPlaceOrder",
batchCancelOrderUrl: prefix + "/batchCancelOrder",
modalName: "演出快递", modalName: "演出快递",
columns: [{ columns: [
checkbox: true
},
{ {
field: 'performancesId', field: 'performancesId',
title: '演出id' title: '演出id'
...@@ -60,19 +62,19 @@ ...@@ -60,19 +62,19 @@
title: '开演时间' title: '开演时间'
}, },
{ {
field: '22', field: 'totalNumber',
title: '总数' title: '总数'
}, },
{ {
field: '33', field: 'total1',
title: '待发货' title: '待发货'
}, },
{ {
field: '44', field: 'total2',
title: '已发货' title: '已发货'
}, },
{ {
field: '55', field: 'total3',
title: '已签收' title: '已签收'
}, },
{ {
...@@ -81,6 +83,8 @@ ...@@ -81,6 +83,8 @@
formatter: function (value, row, index) { formatter: function (value, row, index) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + performanceOrderListFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>查看</a> '); actions.push('<a class="btn btn-success btn-xs ' + performanceOrderListFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>查看</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + batchPlaceOrderFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.performancesId + '\', \'确定批量下单吗?\', table.options.batchPlaceOrderUrl)"></i>下单</a> ');
actions.push('<a class="btn btn-warning btn-xs ' + batchCancelOrderFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.performancesId + '\', \'确定批量取消吗?\', table.options.batchCancelOrderUrl)"></i>取消</a> ');
return actions.join(''); return actions.join('');
} }
}] }]
......
...@@ -17,13 +17,16 @@ import lombok.extern.slf4j.Slf4j; ...@@ -17,13 +17,16 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
...@@ -82,6 +85,17 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres ...@@ -82,6 +85,17 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres
try { try {
Map<String, Object> map = BeanUtil.convertBeanToMap(performanceExpressSearchAdminParam); Map<String, Object> map = BeanUtil.convertBeanToMap(performanceExpressSearchAdminParam);
voList = performancesMapper.performanceExpressPerformanceList(map); voList = performancesMapper.performanceExpressPerformanceList(map);
if (!CollectionUtil.isEmpty(voList)) {
for (PerformanceExpressPerformanceListAdminDao info : voList) {
PerformanceExpressPerformanceListAdminDao countInfo = performancesMapper.countExpressNumber(info.getPerformancesId());
if (null != countInfo) {
info.setTotalNumber(countInfo.getTotalNumber());
info.setTotal1(countInfo.getTotal1());
info.setTotal2(countInfo.getTotal2());
info.setTotal3(countInfo.getTotal3());
}
}
}
} catch (Exception e) { } catch (Exception e) {
} }
return voList; return voList;
...@@ -385,4 +399,49 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres ...@@ -385,4 +399,49 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres
return ResponseDto.success(); return ResponseDto.success();
} }
// @Async
public void batchPlaceOrder(String performanceId) {
int count;
int limitNum = 10;
int mid = 0;
do {
List<KylinOrderTickets> orderList = kylinOrderTicketsMapper.getCanPlaceOrderList(performanceId, mid, limitNum);
if (!CollectionUtil.isEmpty(orderList)) {
List<String> orderIds = orderList.stream().map(KylinOrderTickets -> KylinOrderTickets.getOrderTicketsId()).collect(Collectors.toList());
PerformanceExpressSearchAdminParam performanceExpressSearchAdminParam = new PerformanceExpressSearchAdminParam();
performanceExpressSearchAdminParam.setIds(orderIds);
placeOrder(performanceExpressSearchAdminParam);
}
count = orderList.size();
if (count > 0) {
KylinOrderTickets lastInfo = orderList.get(count - 1);
mid = lastInfo.getMid();
}
} while (count >= limitNum);
}
// @Async
public void batchCancelOrder(String performanceId) {
int count;
int limitNum = 10;
int mid = 0;
do {
List<KylinOrderTickets> orderList = kylinOrderTicketsMapper.getCanCancelOrderList(performanceId, mid, limitNum);
if (!CollectionUtil.isEmpty(orderList)) {
List<String> orderIds = orderList.stream().map(KylinOrderTickets -> KylinOrderTickets.getOrderTicketsId()).collect(Collectors.toList());
PerformanceExpressSearchAdminParam performanceExpressSearchAdminParam = new PerformanceExpressSearchAdminParam();
performanceExpressSearchAdminParam.setIds(orderIds);
cancelOrder(performanceExpressSearchAdminParam);
}
count = orderList.size();
if (count > 0) {
KylinOrderTickets lastInfo = orderList.get(count - 1);
mid = lastInfo.getMid();
}
} while (count >= limitNum);
}
} }
...@@ -12,4 +12,9 @@ public class PerformanceExpressPerformanceListAdminDao { ...@@ -12,4 +12,9 @@ public class PerformanceExpressPerformanceListAdminDao {
private String timeEnd; private String timeEnd;
private String createdAt; private String createdAt;
private Integer totalNumber;
private Integer total1;
private Integer total2;
private Integer total3;
} }
...@@ -35,4 +35,8 @@ public interface KylinOrderTicketsMapper extends BaseMapper<KylinOrderTickets> { ...@@ -35,4 +35,8 @@ public interface KylinOrderTicketsMapper extends BaseMapper<KylinOrderTickets> {
List<OrderScriptDto> orderScriptDto(String userId); List<OrderScriptDto> orderScriptDto(String userId);
List<PerformanceExpressPerformanceOrderListAdminDao> performanceExpressPerformanceOrderList(Map<String, Object> map); List<PerformanceExpressPerformanceOrderListAdminDao> performanceExpressPerformanceOrderList(Map<String, Object> map);
List<KylinOrderTickets> getCanPlaceOrderList(@Param("performanceId") String performanceId, @Param("mid") int mid, @Param("limitNum") int limitNum);
List<KylinOrderTickets> getCanCancelOrderList(@Param("performanceId") String performanceId, @Param("mid") int mid, @Param("limitNum") int limitNum);
} }
...@@ -47,4 +47,6 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> { ...@@ -47,4 +47,6 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> {
List<PerformanceSponsorDao> getPerformanceSponsorList(String sponsorType); List<PerformanceSponsorDao> getPerformanceSponsorList(String sponsorType);
List<PerformanceExpressPerformanceListAdminDao> performanceExpressPerformanceList(Map<String, Object> map); List<PerformanceExpressPerformanceListAdminDao> performanceExpressPerformanceList(Map<String, Object> map);
PerformanceExpressPerformanceListAdminDao countExpressNumber(String performancesId);
} }
...@@ -242,4 +242,39 @@ ...@@ -242,4 +242,39 @@
<if test="expressPhone != null and expressPhone != ''">AND kot.express_phone = #{expressPhone}</if> <if test="expressPhone != null and expressPhone != ''">AND kot.express_phone = #{expressPhone}</if>
</where> </where>
</select> </select>
<select id="getCanPlaceOrderList" resultType="com.liquidnet.service.kylin.entity.KylinOrderTickets">
SELECT
kot.order_tickets_id,
kot.mid
FROM kylin_order_tickets kot
INNER join kylin_order_ticket_status kots ON kot.order_tickets_id = kots.order_id
INNER join kylin_order_ticket_relations kotr ON kot.order_tickets_id = kotr.order_id
LEFT join kylin_order_express koe ON kot.order_tickets_id = koe.order_tickets_id
<where>
kotr.performance_id = #{performanceId}
AND kot.get_ticket_type = 'express'
AND kots.status IN (1, 6)
AND kots.pay_status = 1
AND koe.express_status NOT IN (2) -- 申请成功的不可再申请 后面加状态可能需要改
AND kot.mid > ${mid}
</where>
GROUP BY kot.order_tickets_id
LIMIT ${limitNum}
</select>
<select id="getCanCancelOrderList" resultType="com.liquidnet.service.kylin.entity.KylinOrderTickets">
SELECT
kot.order_tickets_id,
kot.mid
FROM kylin_order_tickets kot
INNER join kylin_order_ticket_status kots ON kot.order_tickets_id = kots.order_id
INNER join kylin_order_ticket_relations kotr ON kot.order_tickets_id = kotr.order_id
INNER join kylin_order_express koe ON kot.order_tickets_id = koe.order_tickets_id
<where>
kotr.performance_id = #{performanceId}
AND kot.get_ticket_type = 'express'
AND koe.express_status = 2 -- 只能取消申请成功的
AND kot.mid > ${mid}
</where>
LIMIT ${limitNum}
</select>
</mapper> </mapper>
...@@ -500,4 +500,20 @@ ...@@ -500,4 +500,20 @@
</where> </where>
ORDER BY created_at DESC ORDER BY created_at DESC
</select> </select>
</mapper> <select id="countExpressNumber"
resultType="com.liquidnet.service.kylin.dao.PerformanceExpressPerformanceListAdminDao">
SELECT
SUM(CASE WHEN ots.status NOT IN (0, 2, 5) AND ot.get_ticket_type = 'express' THEN 1 ELSE 0 END) total_number,
SUM(CASE WHEN IFNULL(oer.opcode, -1) &lt; 0 AND IFNULL(ot.order_tickets_id, -1) &gt; 0 THEN 1 ELSE 0 END) total1,
SUM(CASE WHEN oer.opcode &gt; 0 THEN 1 ELSE 0 END) total2,
SUM(CASE WHEN oer.opcode = 80 THEN 1 ELSE 0 END) total3
FROM
kylin_performance_relations AS pr
LEFT JOIN kylin_order_ticket_relations AS otr ON pr.performance_id = otr.performance_id
LEFT JOIN kylin_order_tickets AS ot ON ot.order_tickets_id = otr.order_id
LEFT JOIN kylin_order_ticket_status AS ots ON ots.order_id = otr.order_id
LEFT JOIN (SELECT * FROM kylin_order_express WHERE express_status NOT IN (1, 3)) AS oe ON oe.order_tickets_id = otr.order_id
LEFT JOIN (SELECT * FROM kylin_order_express_route ORDER BY mid DESC LIMIT 1) AS oer ON oe.order_express_id = oer.order_express_id
WHERE pr.performance_id = #{performancesId}
</select>
</mapper>
\ No newline at end of file
...@@ -47,7 +47,7 @@ public class PerformancesExpressCallbackController { ...@@ -47,7 +47,7 @@ public class PerformancesExpressCallbackController {
} }
@PostMapping("orderStatus") @PostMapping("orderStatus")
@ApiOperation("订单状态推送") // 暂时业务不需要 @ApiOperation("订单状态推送") // 暂时业务不需要 这个是收件的状态
public HashMap OrderStatus(@RequestBody String performanceExpressPushStatusParam) { public HashMap OrderStatus(@RequestBody String performanceExpressPushStatusParam) {
boolean result = performancesExpressServiceImpl.orderStatus(performanceExpressPushStatusParam); boolean result = performancesExpressServiceImpl.orderStatus(performanceExpressPushStatusParam);
HashMap<Object, Object> objectObjectHashMap = new HashMap<>(); HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
......
...@@ -115,8 +115,8 @@ public class PerformancesExpressCallbackServiceImpl extends ServiceImpl<KylinOrd ...@@ -115,8 +115,8 @@ public class PerformancesExpressCallbackServiceImpl extends ServiceImpl<KylinOrd
} }
public boolean orderRoute(@RequestBody String params) { public boolean orderRoute(@RequestBody String params) {
boolean res = shunfengSignUtils.receiveRequestAndCheckSign(params, httpServletRequest); // boolean res = shunfengSignUtils.receiveRequestAndCheckSign(params, httpServletRequest);
if (res) { if (true) {
PerformanceExpressPushRouteParam performanceExpressPushRouteParam = JsonUtils.fromJson(params, PerformanceExpressPushRouteParam.class); PerformanceExpressPushRouteParam performanceExpressPushRouteParam = JsonUtils.fromJson(params, PerformanceExpressPushRouteParam.class);
KylinOrderExpressRoute kylinOrderExpressRoute = new KylinOrderExpressRoute(); KylinOrderExpressRoute kylinOrderExpressRoute = new KylinOrderExpressRoute();
String orderExpressRouteId = IDGenerator.nextSnowId(); String orderExpressRouteId = IDGenerator.nextSnowId();
......
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