From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 09 六月 2025 11:54:00 +0800 Subject: [PATCH] 6.9新增登录失败冻结逻辑 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderDeliveryServiceImpl.java | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 160 insertions(+), 0 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 27787c9..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,11 +1,46 @@ 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; /** * @auther yh @@ -17,4 +52,129 @@ public class ComShopFlowerOrderDeliveryServiceImpl extends ServiceImpl<ComShopFlowerOrderDeliveryDAO, ComShopFlowerOrderDeliveryDO> implements ComShopFlowerOrderDeliveryService { + @Resource + 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); + //创建配送单号 + String deliveryNo = OrderNoUtils.nextDeliveryNo(); + comShopFlowerOrderDeliveryDO.setDeliveryNo(deliveryNo); + comShopFlowerOrderDeliveryDO.setDeliveryTime(new Date()); + comShopFlowerOrderDeliveryDO.setDeleteStatus(ComShopFlowerOrderDeliveryDO.deliveryStatus.psz); + comShopFlowerOrderDeliveryDO.setDeleteStatus(ComShopFlowerOrderDeliveryDO.deleteStatus.wsc); + int insert = this.baseMapper.insert(comShopFlowerOrderDeliveryDO); + if (insert > 0){ + Long deliveryId = comShopFlowerOrderDeliveryDO.getId(); + 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(comShopFlowerOrderDeliveryDO.getId()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R updateDelivery(ComShopFlowerOrderDeliveryDTO comShopFlowerOrderDeliveryDTO) { + Long id = comShopFlowerOrderDeliveryDTO.getId(); + if (null == id){ + return R.fail("配送单id不能为空"); + } + ComShopFlowerOrderDeliveryDO comShopFlowerOrderDeliveryDO = this.baseMapper.selectById(id); + if (Objects.isNull(comShopFlowerOrderDeliveryDO)){ + return R.fail("不存在该配送单"); + } + comShopFlowerOrderDeliveryDO.setServiceTime(new Date()); + 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(); + } + + @Override + public R pageDelivery(PageComFlowerOrderDeliveryDTO pageComFlowerOrderDeliveryDTO) { + Page page = new Page<>(pageComFlowerOrderDeliveryDTO.getPageNum(),pageComFlowerOrderDeliveryDTO.getPageSize()); + IPage<ComShopFlowerOrderDeliveryVO> page1 = this.baseMapper.pageDelivery(page, pageComFlowerOrderDeliveryDTO); + for (ComShopFlowerOrderDeliveryVO record : page1.getRecords()) { + Long pointId = record.getPointId(); + ConvenientElevatingPointDO convenientElevatingPointDO = convenientElevatingPointDAO.selectById(pointId); + ConvenientElevatingPointVO convenientElevatingPointVO = new ConvenientElevatingPointVO(); + BeanUtils.copyProperties(convenientElevatingPointDO,convenientElevatingPointVO); + record.setConvenientElevatingPointVO(convenientElevatingPointVO); + } + + return R.ok(page1); + } + + @Override + public R pageNoDelivery(PageComFlowerOrderDeliveryDTO pageComFlowerOrderDeliveryDTO) { + Page page = new Page<>(pageComFlowerOrderDeliveryDTO.getPageNum(),pageComFlowerOrderDeliveryDTO.getPageSize()); + IPage<ConvenientElevatingPointVO> page1 = convenientElevatingPointDAO.pageNoDelivery(page, pageComFlowerOrderDeliveryDTO); + return R.ok(page1); + } + + @Override + public R pageNoDeliveryOrderList(PageComFlowerOrderListDTO pageComFlowerOrderListDTO) { + Page page = new Page<>(pageComFlowerOrderListDTO.getPageNum(),pageComFlowerOrderListDTO.getPageSize()); + IPage<ComShopFlowerOrderPageVO> iPage = comShopFlowerOrderDAO.pageOrderListNoDelivery(page, pageComFlowerOrderListDTO); + ConvenientElevatingPointVO convenientElevatingPointVO = convenientElevatingPointDAO.selectOrderNum(pageComFlowerOrderListDTO); + ConvenientElevatingPointOrderVO convenientElevatingPointOrderVO = new ConvenientElevatingPointOrderVO(); + convenientElevatingPointOrderVO.setConvenientElevatingPointVO(convenientElevatingPointVO); + convenientElevatingPointOrderVO.setIPage(iPage); + return R.ok(convenientElevatingPointOrderVO); + } + + } -- Gitblit v1.7.1