From 2a212f983f35e1c569dfec3a172fb5f0c9f85fac Mon Sep 17 00:00:00 2001 From: lidongdong <1459917685@qq.com> Date: 星期二, 06 十二月 2022 13:43:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/haucheng_panzhihua' into haucheng_panzhihua --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderDeliveryServiceImpl.java | 68 ++++++++++++++++++++++++++++++++-- 1 files changed, 64 insertions(+), 4 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderDeliveryServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderDeliveryServiceImpl.java index 88ae0b7..fb02a2a 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderDeliveryServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderDeliveryServiceImpl.java @@ -1,33 +1,44 @@ package com.panzhihua.service_community.service.impl; +import cn.binarywang.wx.miniapp.api.WxMaService; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.constants.Constants; import com.panzhihua.common.model.dtos.shop.ComShopFlowerOrderDeliveryDTO; import com.panzhihua.common.model.dtos.shop.PageComFlowerOrderDeliveryDTO; import com.panzhihua.common.model.dtos.shop.PageComFlowerOrderListDTO; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.convenient.ConvenientElevatingPointOrderVO; import com.panzhihua.common.model.vos.community.convenient.ConvenientElevatingPointVO; import com.panzhihua.common.model.vos.shop.ComShopFlowerOrderDeliveryVO; import com.panzhihua.common.model.vos.shop.ComShopFlowerOrderPageVO; +import com.panzhihua.common.model.vos.user.SysUserVO; +import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.utlis.OrderNoUtils; +import com.panzhihua.common.utlis.WxUtil; import com.panzhihua.service_community.dao.ComShopFlowerOrderDAO; import com.panzhihua.service_community.dao.ComShopFlowerOrderDeliveryDAO; import com.panzhihua.service_community.dao.ConvenientElevatingPointDAO; +import com.panzhihua.service_community.entity.SysUser; import com.panzhihua.service_community.model.dos.ComShopFlowerOrderDO; import com.panzhihua.service_community.model.dos.ComShopFlowerOrderDeliveryDO; import com.panzhihua.service_community.model.dos.ConvenientElevatingPointDO; import com.panzhihua.service_community.service.ComShopFlowerOrderDeliveryService; +import com.panzhihua.service_community.util.WxMaConfiguration; import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.common.error.WxErrorException; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; import static java.util.Objects.nonNull; @@ -45,9 +56,13 @@ private ComShopFlowerOrderDAO comShopFlowerOrderDAO; @Resource private ConvenientElevatingPointDAO convenientElevatingPointDAO; - + @Resource + private WxMaConfiguration wxMaConfiguration; + @Resource + private UserService userService; @Override + @Transactional(rollbackFor = Exception.class) public R saveDelivery(ComShopFlowerOrderDeliveryDTO comShopFlowerOrderDeliveryDTO) { ComShopFlowerOrderDeliveryDO comShopFlowerOrderDeliveryDO = new ComShopFlowerOrderDeliveryDO(); BeanUtils.copyProperties(comShopFlowerOrderDeliveryDTO,comShopFlowerOrderDeliveryDO); @@ -63,12 +78,31 @@ List<Long> orderIds = comShopFlowerOrderDeliveryDTO.getOrderIds(); if (CollUtil.isNotEmpty(orderIds)){ comShopFlowerOrderDAO.updateOrder(orderIds,deliveryId,comShopFlowerOrderDeliveryDO.getDeliveryNo(), ComShopFlowerOrderDO.status.psz,comShopFlowerOrderDeliveryDO.getDeliveryTime()); + + //订单配送通知 + WxMaService maService = wxMaConfiguration.getMaService(Constants.HC_APP_ID); + List<ComShopFlowerOrderDO> comShopFlowerOrderDOS = comShopFlowerOrderDAO.selectList(new LambdaQueryWrapper<ComShopFlowerOrderDO>().in(ComShopFlowerOrderDO::getId, orderIds)); + for (ComShopFlowerOrderDO comShopFlowerOrderDO : comShopFlowerOrderDOS) { + Long userId = comShopFlowerOrderDO.getUserId(); + R userOpenId = userService.getUserOpenId(userId); + if (R.isOk(userOpenId)) { + String openid = userOpenId.getData().toString(); + try { + WxUtil.sendStartShipping(openid,maService.getAccessToken(),comShopFlowerOrderDO.getOrderNo()); + } catch (WxErrorException e) { + e.printStackTrace(); + } + } + + + } } } - return R.ok(); + return R.ok(comShopFlowerOrderDeliveryDO.getId()); } @Override + @Transactional(rollbackFor = Exception.class) public R updateDelivery(ComShopFlowerOrderDeliveryDTO comShopFlowerOrderDeliveryDTO) { Long id = comShopFlowerOrderDeliveryDTO.getId(); if (null == id){ @@ -79,10 +113,32 @@ return R.fail("不存在该配送单"); } comShopFlowerOrderDeliveryDO.setServiceTime(new Date()); - comShopFlowerOrderDeliveryDO.setDeleteStatus(ComShopFlowerOrderDeliveryDO.deliveryStatus.ysd); + comShopFlowerOrderDeliveryDO.setDeliveryStatus(ComShopFlowerOrderDeliveryDO.deliveryStatus.ysd); int update = this.baseMapper.updateById(comShopFlowerOrderDeliveryDO); if (update > 0){ + //一个自提订单算一个货 + ConvenientElevatingPointDO convenientElevatingPointDO = convenientElevatingPointDAO.selectById(comShopFlowerOrderDeliveryDO.getPointId()); + + convenientElevatingPointDO.setCumulativeGoodsNum(convenientElevatingPointDO.getCumulativeGoodsNum() + comShopFlowerOrderDeliveryDO.getDeliveryOrderNum()); + convenientElevatingPointDO.setPrepareGoodsNum(convenientElevatingPointDO.getPrepareGoodsNum()+comShopFlowerOrderDeliveryDO.getDeliveryOrderNum()); + convenientElevatingPointDAO.updateById(convenientElevatingPointDO); + comShopFlowerOrderDAO.updateOrderStatus(comShopFlowerOrderDeliveryDO.getId(),comShopFlowerOrderDeliveryDO.getServiceTime(),ComShopFlowerOrderDO.status.dsh); + WxMaService maService = wxMaConfiguration.getMaService(Constants.HC_APP_ID); + List<ComShopFlowerOrderDO> comShopFlowerOrderDOS = comShopFlowerOrderDAO.selectList(new LambdaQueryWrapper<ComShopFlowerOrderDO>().eq(ComShopFlowerOrderDO::getDeliveryId, id)); + for (ComShopFlowerOrderDO comShopFlowerOrderDO : comShopFlowerOrderDOS) { + Long userId = comShopFlowerOrderDO.getUserId(); + R userOpenId = userService.getUserOpenId(userId); + if (R.isOk(userOpenId)) { + String openid = userOpenId.getData().toString(); + try { + WxUtil.sendService(openid,maService.getAccessToken(),comShopFlowerOrderDeliveryDO.getPointName()); + } catch (WxErrorException e) { + e.printStackTrace(); + } + } + } + } return R.ok(); } @@ -113,7 +169,11 @@ public R pageNoDeliveryOrderList(PageComFlowerOrderListDTO pageComFlowerOrderListDTO) { Page page = new Page<>(pageComFlowerOrderListDTO.getPageNum(),pageComFlowerOrderListDTO.getPageSize()); IPage<ComShopFlowerOrderPageVO> iPage = comShopFlowerOrderDAO.pageOrderListNoDelivery(page, pageComFlowerOrderListDTO); - return R.ok(iPage); + ConvenientElevatingPointVO convenientElevatingPointVO = convenientElevatingPointDAO.selectOrderNum(pageComFlowerOrderListDTO); + ConvenientElevatingPointOrderVO convenientElevatingPointOrderVO = new ConvenientElevatingPointOrderVO(); + convenientElevatingPointOrderVO.setConvenientElevatingPointVO(convenientElevatingPointVO); + convenientElevatingPointOrderVO.setIPage(iPage); + return R.ok(convenientElevatingPointOrderVO); } -- Gitblit v1.7.1