|
|
@@ -821,130 +821,138 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
|
|
|
return Result.success();
|
|
|
}
|
|
|
|
|
|
+ public void checkRider(Long riderUserId) {
|
|
|
+ // 判断骑手状态是否被封号
|
|
|
+ UserEntity riderUser = userService.selectUserById(riderUserId);
|
|
|
+ if (riderUser.getStatus() != 1) {
|
|
|
+ throw new SqxException("骑手的帐号已被封禁,请联系客服解封!");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 判断骑手保证金是否大于可接单金额
|
|
|
+ CommonInfo one1 = commonInfoService.findOne(273);
|
|
|
+ Double cashDeposit = Double.valueOf(one1.getValue());
|
|
|
+ if (riderUser.getCashDeposit().compareTo(BigDecimal.valueOf(cashDeposit)) < 0) {
|
|
|
+ throw new SqxException("骑手的保证金不足,请缴纳保证金后再接单");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 判断骑手是否超过最大接单数量
|
|
|
+ String maxNumStr = commonInfoService.findOne(342).getValue();
|
|
|
+ Integer maxNum = Integer.parseInt(maxNumStr);
|
|
|
+ if (tbIndentDao.selectIndentByRiderUserCount(riderUserId) >= maxNum) {
|
|
|
+ throw new SqxException("您已达最大接单数量,请先完成订单后再进行接单");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
- public Result orderIndentReceiving(Long userId, String acquireCode) {
|
|
|
+ public Result orderIndentReceiving(Long riderUserId, String acquireCode) {
|
|
|
+ // 检查骑手
|
|
|
+ checkRider(riderUserId);
|
|
|
+
|
|
|
+ // 根据收单码查询订单
|
|
|
+ TbIndent tbIndent = getByOrderId(acquireCode);
|
|
|
+
|
|
|
+ String receiveTimeStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
|
|
+ UserEntity riderUser = userService.selectUserById(riderUserId);
|
|
|
+
|
|
|
+ RLock lock = redissonClient.getLock(String.format(RedisKey.UPDATE_INDENT_LOCK, tbIndent.getIndentNumber()));
|
|
|
+ lock.lock();
|
|
|
try {
|
|
|
- //判断骑手状态是否被封号
|
|
|
- UserEntity userEntity1 = userService.selectUserById(userId);
|
|
|
- if (userEntity1.getStatus() != 1) {
|
|
|
- return Result.error("您的帐号已被封禁,请联系客服解封!");
|
|
|
+ // 再次查询订单
|
|
|
+ tbIndent = getById(tbIndent.getIndentId());
|
|
|
+ if (!"2".equals(tbIndent.getIndentState())) {
|
|
|
+ throw new SqxException("订单已被抢走!");
|
|
|
}
|
|
|
- //判断骑手保证金是否大于可接单金额
|
|
|
- UserEntity userMessage = userService.selectUserById(userId);
|
|
|
- String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
|
|
- CommonInfo one1 = commonInfoService.findOne(273);
|
|
|
- Double cashDeposit = Double.valueOf(one1.getValue());
|
|
|
- if (userMessage.getCashDeposit().compareTo(BigDecimal.valueOf(cashDeposit)) > 0 || userMessage.getCashDeposit().compareTo(BigDecimal.valueOf(cashDeposit)) == 0) {
|
|
|
- // tbIndentDao.indentReceiving(userId, indentNumber, format);
|
|
|
- //判断骑手是否超过最大接单数量
|
|
|
- String maxNumStr = commonInfoService.findOne(342).getValue();
|
|
|
- Integer maxNum = Integer.parseInt(maxNumStr);
|
|
|
- int i = tbIndentDao.selectIndentByRiderUserCount(userId);
|
|
|
- if (i >= maxNum) {
|
|
|
- return Result.error("您已达最大接单数量,请先完成订单后再进行接单");
|
|
|
- }
|
|
|
- TbIndent tbIndent = tbIndentDao.findIndentByOrderId(acquireCode);
|
|
|
- log.error("抢单:" + userId + " " + tbIndent.getIndentState());
|
|
|
- RLock lock = redissonClient.getLock(String.format(RedisKey.UPDATE_INDENT_LOCK, tbIndent.getIndentNumber()));
|
|
|
- lock.lock();
|
|
|
- try {
|
|
|
-// if(!"2".equals(tbIndent.getIndentState())){
|
|
|
-// return Result.error("订单已被抢走!");
|
|
|
-// }
|
|
|
- if ("5".equals(tbIndent.getIndentType())) {
|
|
|
- if ("2".equals(tbIndent.getIndentState()) || "3".equals(tbIndent.getIndentState())) {
|
|
|
- tbIndentDao.orderIndentReceiv(userId, acquireCode, format, "4");
|
|
|
-
|
|
|
- TransferRecordEntity tr = new TransferRecordEntity();
|
|
|
- tr.setUserId(userEntity1.getUserId());
|
|
|
- tr.setUserName(userEntity1.getUserName());
|
|
|
- tr.setUserPhone(userEntity1.getPhone());
|
|
|
- tr.setOrderId(tbIndent.getOrderId());
|
|
|
- tr.setReceveTime(format);
|
|
|
- //获取站点内容
|
|
|
- RiderStation station = riderStationService.stationById(userEntity1.getRiderStationId());
|
|
|
- if(station != null){
|
|
|
- tr.setStationName(station.getStationName());
|
|
|
- }
|
|
|
- tr.setDeleteFlag(0);
|
|
|
- transferRecordDao.insert(tr);
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- } finally {
|
|
|
- lock.unlock();
|
|
|
- }
|
|
|
+ // 更改订单状态
|
|
|
+ TbIndent newIndent = new TbIndent();
|
|
|
+ newIndent.setIndentId(tbIndent.getIndentId());
|
|
|
+ newIndent.setIndentState("4"); // 4:骑手已取货/购买
|
|
|
+ newIndent.setRiderUserId(riderUserId);
|
|
|
+ newIndent.setReceivingTime(receiveTimeStr);
|
|
|
+ updateById(newIndent);
|
|
|
+
|
|
|
+ // 插入转单记录记录
|
|
|
+ TransferRecordEntity tr = new TransferRecordEntity();
|
|
|
+ tr.setUserId(riderUserId);
|
|
|
+ tr.setUserName(riderUser.getUserName());
|
|
|
+ tr.setUserPhone(riderUser.getPhone());
|
|
|
+ tr.setOrderId(tbIndent.getOrderId());
|
|
|
+ tr.setReceveTime(receiveTimeStr);
|
|
|
+ RiderStation station = riderStationService.stationById(riderUser.getRiderStationId()); // 获取站点内容
|
|
|
+ if(station != null){
|
|
|
+ tr.setStationName(station.getStationName());
|
|
|
+ }
|
|
|
+ tr.setDeleteFlag(0);
|
|
|
+ transferRecordDao.insert(tr);
|
|
|
+ } finally {
|
|
|
+ lock.unlock();
|
|
|
+ }
|
|
|
|
|
|
- MyGlobalThreadPool.execute(() -> {
|
|
|
- try {
|
|
|
- // 消息推送(以前写的在下面放着)
|
|
|
- List<String> msgList = new ArrayList<>();
|
|
|
- msgList.add("接单项目");
|
|
|
- msgList.add(userEntity1.getNickName());
|
|
|
- msgList.add(format);
|
|
|
- msgList.add("接单成功,请及时取货!");
|
|
|
- CommonInfo five = commonInfoService.findOne(310);
|
|
|
- userService.pushToSingleRider("接单成功", "您已接单成功,请及时派送", userEntity1.getRiderClientid());
|
|
|
- SenInfoCheckUtil.sendRiderMsg(userEntity1.getRiderOpenId(), five.getValue(), msgList, 4);
|
|
|
-
|
|
|
- MessageInfo messageInfo = new MessageInfo();
|
|
|
- messageInfo.setContent("骑手已接单");
|
|
|
- messageInfo.setTitle("订单状态通知");
|
|
|
- messageInfo.setState(String.valueOf(5));
|
|
|
- messageInfo.setCreateAt(DateUtils.format(new Date()));
|
|
|
- messageInfo.setIsSee("0");
|
|
|
- UserEntity userEntity = userService.selectUserById(tbIndent.getUserId());
|
|
|
- messageInfo.setUserName(userEntity.getUserName());
|
|
|
- messageInfo.setUserId(String.valueOf(userEntity.getUserId()));
|
|
|
- messageService.saveBody(messageInfo);
|
|
|
-
|
|
|
- List<String> msgListUser = new ArrayList<>();
|
|
|
- String value = commonInfoService.findOne(12).getValue();
|
|
|
- if (tbIndent.getOrderId() != null) {
|
|
|
- TbOrder order = appOrderService.getById(tbIndent.getOrderId());
|
|
|
- if (order != null) {
|
|
|
- Long shopId = order.getShopId();
|
|
|
- GoodsShop goodsShop = goodsShopDao.selectById(shopId);
|
|
|
- msgListUser.add(goodsShop.getShopName());
|
|
|
- } else {
|
|
|
- msgListUser.add(value);
|
|
|
- }
|
|
|
- } else {
|
|
|
- msgListUser.add(value);
|
|
|
- }
|
|
|
- msgListUser.add("骑手已接单");
|
|
|
- msgListUser.add(tbIndent.getIndentNumber());
|
|
|
- msgListUser.add(DateUtils.format(new Date()));
|
|
|
- CommonInfo msg = commonInfoService.findOne(269);
|
|
|
- SenInfoCheckUtil.sendMsg(userEntity.getOpenId(), msg.getValue(), msgListUser, 1);
|
|
|
-
|
|
|
- if (tbIndent.getOrderId() != null) {
|
|
|
- TbOrder order = appOrderService.getById(tbIndent.getOrderId());
|
|
|
- String shopTemplate = commonInfoService.findOne(354).getValue();
|
|
|
- List<String> msgListShop = new ArrayList<>();
|
|
|
- msgListShop.add(tbIndent.getIndentNumber());
|
|
|
- log.error("打印:" + tbIndent.getIndentNumber());
|
|
|
- msgListShop.add("骑手接单");
|
|
|
- msgListShop.add(DateUtils.format(new Date()));
|
|
|
- log.error("打印:" + msgListShop.toString());
|
|
|
- GoodsShop goodsShop = goodsShopDao.selectById(order.getShopId());
|
|
|
- UserEntity shopUser = userService.selectUserById(goodsShop.getUserId());
|
|
|
-
|
|
|
- SenInfoCheckUtil.sendShopMsg(shopUser.getShopOpenId(), shopTemplate, msgListShop, 9);
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("订单编号:{},骑手接单成功信息发送失败,失败原因:{}", tbIndent.getIndentNumber(), e);
|
|
|
+ // 发送骑手接单消息
|
|
|
+ sendOrderReceivingMsg(tbIndent, riderUser);
|
|
|
+
|
|
|
+ return Result.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void sendOrderReceivingMsg(TbIndent tbIndent, UserEntity riderUser) {
|
|
|
+ MyGlobalThreadPool.execute(() -> {
|
|
|
+ try {
|
|
|
+ List<String> msgList = new ArrayList<>();
|
|
|
+ msgList.add("接单项目");
|
|
|
+ msgList.add(riderUser.getNickName());
|
|
|
+ msgList.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
|
|
+ msgList.add("接单成功,请及时取货!");
|
|
|
+ CommonInfo five = commonInfoService.findOne(310);
|
|
|
+ userService.pushToSingleRider("接单成功", "您已接单成功,请及时派送", riderUser.getRiderClientid());
|
|
|
+ SenInfoCheckUtil.sendRiderMsg(riderUser.getRiderOpenId(), five.getValue(), msgList, 4);
|
|
|
+
|
|
|
+ MessageInfo messageInfo = new MessageInfo();
|
|
|
+ messageInfo.setContent("骑手已接单");
|
|
|
+ messageInfo.setTitle("订单状态通知");
|
|
|
+ messageInfo.setState(String.valueOf(5));
|
|
|
+ messageInfo.setCreateAt(DateUtils.format(new Date()));
|
|
|
+ messageInfo.setIsSee("0");
|
|
|
+ UserEntity userEntity = userService.selectUserById(tbIndent.getUserId());
|
|
|
+ messageInfo.setUserName(userEntity.getUserName());
|
|
|
+ messageInfo.setUserId(String.valueOf(userEntity.getUserId()));
|
|
|
+ messageService.saveBody(messageInfo);
|
|
|
+
|
|
|
+ List<String> msgListUser = new ArrayList<>();
|
|
|
+ String value = commonInfoService.findOne(12).getValue();
|
|
|
+ if (tbIndent.getOrderId() != null) {
|
|
|
+ TbOrder order = appOrderService.getById(tbIndent.getOrderId());
|
|
|
+ if (order != null) {
|
|
|
+ Long shopId = order.getShopId();
|
|
|
+ GoodsShop goodsShop = goodsShopDao.selectById(shopId);
|
|
|
+ msgListUser.add(goodsShop.getShopName());
|
|
|
+ } else {
|
|
|
+ msgListUser.add(value);
|
|
|
}
|
|
|
- });
|
|
|
- } else {
|
|
|
- return Result.error("你的保证金不足,请缴纳保证金后再接单");
|
|
|
+ } else {
|
|
|
+ msgListUser.add(value);
|
|
|
+ }
|
|
|
+ msgListUser.add("骑手已接单");
|
|
|
+ msgListUser.add(tbIndent.getIndentNumber());
|
|
|
+ msgListUser.add(DateUtils.format(new Date()));
|
|
|
+ CommonInfo msg = commonInfoService.findOne(269);
|
|
|
+ SenInfoCheckUtil.sendMsg(userEntity.getOpenId(), msg.getValue(), msgListUser, 1);
|
|
|
+
|
|
|
+ if (tbIndent.getOrderId() != null) {
|
|
|
+ TbOrder order = appOrderService.getById(tbIndent.getOrderId());
|
|
|
+ String shopTemplate = commonInfoService.findOne(354).getValue();
|
|
|
+ List<String> msgListShop = new ArrayList<>();
|
|
|
+ msgListShop.add(tbIndent.getIndentNumber());
|
|
|
+ msgListShop.add("骑手接单");
|
|
|
+ msgListShop.add(DateUtils.format(new Date()));
|
|
|
+ GoodsShop goodsShop = goodsShopDao.selectById(order.getShopId());
|
|
|
+ UserEntity shopUser = userService.selectUserById(goodsShop.getUserId());
|
|
|
+
|
|
|
+ SenInfoCheckUtil.sendShopMsg(shopUser.getShopOpenId(), shopTemplate, msgListShop, 9);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("订单编号:{},骑手接单成功信息发送失败,失败原因:{}", tbIndent.getIndentNumber(), e);
|
|
|
}
|
|
|
- return Result.success();
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- log.error("骑手接单 异常:" + e.getMessage(), e);
|
|
|
- }
|
|
|
- return Result.error("系统繁忙,请稍后再试!");
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -1109,14 +1117,17 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
|
|
|
//region
|
|
|
@Override
|
|
|
public Result orderRiderDelivery(Long userId, OrderRiderDeliveryDTO orderDeliveryDTO) {
|
|
|
- // 添加拍照发短信逻辑
|
|
|
- // 因为原有的确认送达方法代码比较凌乱,且不好重新封装,所以这里就在原有确认收货方法之前添加拍照发短信逻辑
|
|
|
String acquireCode = orderDeliveryDTO.getAcquireCode();
|
|
|
TbIndent indentOrder = tbIndentDao.findIndentByOrderId(acquireCode);
|
|
|
if (ObjectUtil.isNull(indentOrder)) {
|
|
|
throw new SqxException("扫码无效的跑腿订单id");
|
|
|
}
|
|
|
|
|
|
+ // 判断是否为当前骑手订单
|
|
|
+ if (indentOrder.getRiderUserId() != userId) {
|
|
|
+ throw new SqxException("不能完成非本人订单!");
|
|
|
+ }
|
|
|
+
|
|
|
// 如果是外卖订单
|
|
|
if (ObjectUtil.equal(indentOrder.getIndentType(), "5")) {
|
|
|
orderHandTakeoutOrder(indentOrder, userId, orderDeliveryDTO);
|
|
|
@@ -1125,14 +1136,23 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
|
|
|
RLock lock = redissonClient.getLock(String.format(RedisKey.UPDATE_INDENT_LOCK, indentOrder.getIndentNumber()));
|
|
|
lock.lock();
|
|
|
try {
|
|
|
+ indentOrder = tbIndentDao.selectById(indentOrder.getIndentId());
|
|
|
|
|
|
- return orderFinshOrder(userId, indentOrder.getIndentNumber());
|
|
|
+ // 4:骑手已取货/购买 只有订单在4状态下才可以完成订单
|
|
|
+ if (!"4".equals(indentOrder.getIndentState())) {
|
|
|
+ throw new SqxException("订单状态已变更,请刷新页面后重试!");
|
|
|
+ }
|
|
|
+
|
|
|
+ log.info("骑手通过收单码完成订单:订单id【{}】", indentOrder.getOrderId());
|
|
|
+ appOrderService.accomplishOrder(indentOrder.getOrderId(), 1);
|
|
|
} catch (Exception e) {
|
|
|
- log.error("完成订单异常:" + e.getMessage(), e);
|
|
|
+ log.error("完成订单异常:{}", e.getMessage(), e);
|
|
|
throw new SqxException(e.getMessage());
|
|
|
} finally {
|
|
|
lock.unlock();
|
|
|
}
|
|
|
+
|
|
|
+ return Result.success();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -1143,41 +1163,21 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
|
|
|
* @param deliveryDTO 送达信息
|
|
|
*/
|
|
|
private void orderHandTakeoutOrder(TbIndent indentOrder, Long userId, OrderRiderDeliveryDTO deliveryDTO) {
|
|
|
- // 6表示跑腿订单处于已完成状态
|
|
|
- if ("6".equals(indentOrder.getIndentState())) {
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
Long smsTemplateId = deliveryDTO.getSmsTemplateId();
|
|
|
- //String imgs = deliveryDTO.getImgs();
|
|
|
if (ObjectUtil.isNull(smsTemplateId)) {
|
|
|
throw new SqxException("短信模板id不能为空");
|
|
|
}
|
|
|
|
|
|
- // 收货人手机
|
|
|
- String userPhone = indentOrder.getUserPhone();
|
|
|
- // 当前骑手
|
|
|
- UserEntity riderUser = userService.getById(userId);
|
|
|
-
|
|
|
- if (StrUtil.isBlank(userPhone)) {
|
|
|
- log.error("外卖跑腿订单【{}】收货人手机号码为空...", indentOrder.getIndentNumber());
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- if (ObjectUtil.isNull(riderUser) || StrUtil.isBlank(riderUser.getPhone())) {
|
|
|
- log.error("外卖跑腿订单【{}】当前骑手id【{}】骑手不存在,或当前骑手手机号码为空...", indentOrder.getIndentNumber(), userId);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- // 订单新增送达图片
|
|
|
-// TbOrder tbOrder = appOrderService.getById(indentOrder.getOrderId());
|
|
|
-// tbOrder.setDeliveryImgs(imgs);
|
|
|
-// appOrderService.updateById(tbOrder);
|
|
|
MyGlobalThreadPool.execute(() -> {
|
|
|
try {
|
|
|
+ // 收货人手机
|
|
|
+ String userPhone = indentOrder.getUserPhone();
|
|
|
+ // 当前骑手
|
|
|
+ UserEntity riderUser = userService.selectUserById(userId);
|
|
|
+
|
|
|
// 发送短信并记录短信发送记录
|
|
|
- TbIndentSmsSendLog tbIndentSmsSendLog=smsSendLogService.getSendSuccessByOrderId(indentOrder.getIndentId());
|
|
|
- if(tbIndentSmsSendLog!=null){
|
|
|
+ TbIndentSmsSendLog tbIndentSmsSendLog = smsSendLogService.getSendSuccessByOrderId(indentOrder.getIndentId());
|
|
|
+ if(tbIndentSmsSendLog != null){
|
|
|
log.error("外卖跑腿订单id【{}】短信已发送成功,短信id【{}】",tbIndentSmsSendLog.getOrderId(),tbIndentSmsSendLog.getId());
|
|
|
return;
|
|
|
}
|
|
|
@@ -1188,28 +1188,6 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
|
|
|
log.error("订单:{},完成跑腿订单成功通知发送失败,失败原因:{}", e);
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- @Transactional
|
|
|
- public Result orderFinshOrder(Long userId, String indentNumber) {
|
|
|
- String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
|
|
- TbIndent indentByNumber = tbIndentDao.findIndentByNumber(indentNumber);
|
|
|
- if ("6".equals(indentByNumber.getIndentState())) {
|
|
|
- return Result.success();
|
|
|
- }
|
|
|
- if ("4".equals(indentByNumber.getIndentState())) {
|
|
|
- if ("5".equals(indentByNumber.getIndentType())) {
|
|
|
- log.info("骑手完成订单1:" + indentByNumber.getOrderId());
|
|
|
- appOrderService.accomplishOrder(indentByNumber.getOrderId());
|
|
|
- } else {
|
|
|
- tbIndentDao.riderDelivery(indentByNumber.getIndentId(), date);
|
|
|
- finshIndent(userId, indentNumber);
|
|
|
- }
|
|
|
-
|
|
|
- return Result.success();
|
|
|
- }
|
|
|
- return Result.error("订单已完成!");
|
|
|
}
|
|
|
//endregion
|
|
|
|
|
|
@@ -1225,6 +1203,16 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
|
|
|
appOrderService.updateById(tbOrder);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public TbIndent getByOrderId(String orderId) {
|
|
|
+ // 根据收单码查询订单
|
|
|
+ TbIndent tbIndent = tbIndentDao.findIndentByOrderId(orderId);
|
|
|
+ if (ObjectUtil.isNull(tbIndent)) {
|
|
|
+ throw new SqxException("无效的收单码");
|
|
|
+ }
|
|
|
+ return tbIndent;
|
|
|
+ }
|
|
|
+
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public Result riderCancleIndent(String indentNumber, Integer type) {
|
|
|
@@ -1406,7 +1394,7 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
|
|
|
if ("4".equals(indentByNumber.getIndentState())) {
|
|
|
if ("5".equals(indentByNumber.getIndentType())) {
|
|
|
log.info("骑手完成订单2:" + indentByNumber.getOrderId());
|
|
|
- appOrderService.accomplishOrder(indentByNumber.getOrderId());
|
|
|
+ appOrderService.accomplishOrder(indentByNumber.getOrderId(), 1);
|
|
|
} else {
|
|
|
if (indentByNumber.getItemCodeFlag() != null && indentByNumber.getItemCodeFlag() == 0) {
|
|
|
if (indentByNumber.getOrderCode().equals(itemCode)) {
|
|
|
@@ -1437,7 +1425,7 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
|
|
|
tbIndentDao.userDelivery(userId, indentNumber, date);
|
|
|
finshIndent(userId, indentNumber);
|
|
|
log.info("操作完成订单5:" + indentByNumber.getOrderId());
|
|
|
- appOrderService.accomplishOrders(indentByNumber.getOrderId(), 1);
|
|
|
+ appOrderService.accomplishOrder(indentByNumber.getOrderId(), 1);
|
|
|
return Result.success();
|
|
|
} finally {
|
|
|
lock.unlock();
|
|
|
@@ -1472,7 +1460,7 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
|
|
|
UserEntity userMessage = userService.selectUserById(tbIndent.getRiderUserId());
|
|
|
BigDecimal balance = userMessage.getBalance().add(tbIndent.getRiderMoney());
|
|
|
tbIndentDao.updateRiderBalance(balance, tbIndent.getRiderUserId());
|
|
|
- //将接单明细添加到钱包明细表里
|
|
|
+ // 将接单明细添加到钱包明细表里
|
|
|
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
|
|
userMoneyDetails.setMoney(tbIndent.getRiderMoney());
|
|
|
userMoneyDetails.setUserId(tbIndent.getRiderUserId());
|
|
|
@@ -1483,7 +1471,6 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
|
|
|
userMoneyDetails.setState(2);
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date()));
|
|
|
- //tbIndentDao.insertUserMoneyDetails(userMoneyDetails.getUserId(), userMoneyDetails.getTitle(), userMoneyDetails.getType(), userMoneyDetails.getMoney(), userMoneyDetails.getContent(), userMoneyDetails.getCreateTime());
|
|
|
userMoneyDetailsService.save(userMoneyDetails);
|
|
|
|
|
|
MyGlobalThreadPool.execute(() -> {
|
|
|
@@ -1500,7 +1487,6 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
|
|
|
log.error("订单:{},订单支付成功通知发送失败,失败原因:{}", e);
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -1990,18 +1976,10 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
|
|
|
|
|
|
@Override
|
|
|
public PageUtils selectIndentPage(Integer page, Integer limit, String acquireCode, Long userId) {
|
|
|
- List<Integer> states = new ArrayList<>();
|
|
|
- states.add(2);
|
|
|
- states.add(3);
|
|
|
- states.add(4);
|
|
|
IPage<TbIndent> pages = new Page<>(page, limit);
|
|
|
QueryWrapper<TbIndent> queryWrapper = new QueryWrapper();
|
|
|
- queryWrapper.like(StrUtil.isNotBlank(acquireCode), "order_id", acquireCode);
|
|
|
- queryWrapper.in("indent_state", states);
|
|
|
- queryWrapper.and(qw -> qw.isNull("rider_user_id").or().eq("rider_user_id", userId));
|
|
|
- queryWrapper.orderByAsc("create_time");
|
|
|
+ queryWrapper.eq("order_id", acquireCode);
|
|
|
IPage<TbIndent> result = baseMapper.selectPage(pages, queryWrapper);
|
|
|
-
|
|
|
return new PageUtils(result);
|
|
|
}
|
|
|
|