Browse Source

no message

FengChaoYu 1 week ago
parent
commit
9882dd0a0d

+ 21 - 5
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/notice/NoticeLogic.java

@@ -1,11 +1,14 @@
 package com.gree.mall.miniapp.logic.notice;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.miniapp.bean.notice.NoticeRecordVO;
 import com.gree.mall.miniapp.bean.user.CurrentCompanyWechat;
+import com.gree.mall.miniapp.enums.IsYesNoEnum;
+import com.gree.mall.miniapp.enums.NoticeEnum;
 import com.gree.mall.miniapp.logic.common.CommonLogic;
 import com.gree.mall.miniapp.plus.entity.CommonFile;
 import com.gree.mall.miniapp.plus.entity.Notice;
@@ -59,9 +62,6 @@ public class NoticeLogic {
         pageList.setCurrent(page.getCurrent());
         pageList.setPages(page.getPages());
 
-
-
-
         return pageList;
     }
 
@@ -90,7 +90,6 @@ public class NoticeLogic {
                 .eq(NoticeRecord::getAdminUserId,currentCompanyWechat.getUserId())
                 .eq(!StringUtil.isEmpty(readFlag),NoticeRecord::getReadFlag, readFlag)
                 .in(!StringUtil.isEmpty(noticeType),NoticeRecord::getNoticeType, type)
-
                 .count();
     }
 
@@ -152,5 +151,22 @@ public class NoticeLogic {
                 .update();
     }
 
-
+    public void addUserNotice(String noticeId, String title, String content, String userId, String nickName,
+                              String companyId, String companyName) {
+        NoticeRecord noticeRecord = new NoticeRecord();
+        noticeRecord.setNoticeId(noticeId);
+        noticeRecord.setTitle(title);
+        noticeRecord.setContent(content);
+        noticeRecord.setType(NoticeEnum.B.getKey());
+        noticeRecord.setIsNotice(IsYesNoEnum.YES.getKey());
+        noticeRecord.setReadFlag(IsYesNoEnum.NO.getKey());
+        noticeRecord.setAdminUserId(userId);
+        noticeRecord.setAdminNickName(nickName);
+        noticeRecord.setIsWorker("YES");
+        noticeRecord.setIssueTime(new Date());
+        noticeRecord.setAdminCompanyId(companyId);
+        noticeRecord.setAdminCompanyName(companyName);
+        noticeRecord.setNoticeType("SYSTEM");
+        noticeRecord.insert();
+    }
 }

+ 5 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/order/OrderDeliverLogic.java

@@ -16,6 +16,7 @@ import com.gree.mall.miniapp.enums.IsYesNoEnum;
 import com.gree.mall.miniapp.enums.OrderStatusEnum;
 import com.gree.mall.miniapp.exception.RemoteServiceException;
 import com.gree.mall.miniapp.logic.common.CommonLogic;
+import com.gree.mall.miniapp.logic.notice.NoticeLogic;
 import com.gree.mall.miniapp.plus.entity.OrderDelivery;
 import com.gree.mall.miniapp.plus.entity.OrderDeliveryDetail;
 import com.gree.mall.miniapp.plus.entity.OrderDetail;
@@ -49,6 +50,7 @@ public class OrderDeliverLogic {
     private final OrderBaseCMapper orderBaseCMapper;
     private final OrderDetailService orderDetailService;
     private final OrderDeliveryDetailService orderDeliveryDetailService;
+    private final NoticeLogic noticeLogic;
 
     public IPage<OrderInfo> orderList(String orderStatus, Integer pageNum, Integer pageSize) {
         CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
@@ -89,6 +91,9 @@ public class OrderDeliverLogic {
 
         orderInfo.setOverTime(curDate);
         this.updateDeliverItem(orderInfo, url, finishRemark, lng, lat);
+
+        noticeLogic.addUserNotice(orderInfo.getOrderId(), "购物通知", "您的货物已送达, 请注意查收, 欢迎下次光临!",
+                orderInfo.getUserId(), orderInfo.getUserName(), orderInfo.getCompanyWechatId(), orderInfo.getCompanyName());
     }
 
     private void updateDeliverItem(OrderInfo orderInfo, String url, String finishRemark, String lng, String lat) {

+ 25 - 5
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/order/OrderLogic.java

@@ -31,6 +31,7 @@ import com.gree.mall.miniapp.logic.coupon.CouponLogic;
 import com.gree.mall.miniapp.logic.goods.GoodsCategoryLogic;
 import com.gree.mall.miniapp.logic.goods.GoodsLogic;
 import com.gree.mall.miniapp.logic.goods.GoodsMaterialStockLogic;
+import com.gree.mall.miniapp.logic.notice.NoticeLogic;
 import com.gree.mall.miniapp.logic.promotion.PromotionFullPieceLogic;
 import com.gree.mall.miniapp.logic.promotion.PromotionGroupLogic;
 import com.gree.mall.miniapp.logic.user.PayLogic;
@@ -159,6 +160,8 @@ public class OrderLogic {
     GoodsMaterialStockLogic goodsMaterialStockLogic;
     @Resource
     UserCompanyCreditLogic userCompanyCreditLogic;
+    @Resource
+    NoticeLogic noticeLogic;
 
     /**
      * 立即购买
@@ -418,12 +421,14 @@ public class OrderLogic {
         if (StringUtils.equals(orderBuyBean.getPayTypeId(), PayTypeEnum.ONLINE.getKey())) {
             // TODO 在线支付逻辑
 
-        } else if (StringUtils.equals(orderBuyBean.getPayTypeId(), PayTypeEnum.CREDIT.getKey())) {
-            // 授信支付逻辑
-            userCompanyCreditLogic.createCreditRecord(orderInfo, user);
-            payDetail.setIsPay(false);
-        } else {
+        } else  {
+
+            if (StringUtils.equals(orderBuyBean.getPayTypeId(), PayTypeEnum.CREDIT.getKey())) {
+                // 授信支付逻辑
+                userCompanyCreditLogic.createCreditRecord(orderInfo, user);
+            }
             payDetail.setIsPay(false);
+            addUserNotice(orderInfo);
         }
 
         if (!StringUtils.equals(orderBuyBean.getPayTypeId(), PayTypeEnum.ONLINE.getKey())) {
@@ -1418,4 +1423,19 @@ public class OrderLogic {
         }
         return total;
     }
+
+    private void addUserNotice(OrderInfo orderInfo) {
+
+        String content = "订单号:" + orderInfo.getOrderId() + ", 使用支付方式:" + orderInfo.getPayType()
+                +", 提货方式:" + BaseEnum.keyToValue(TakeGoodsTypeEnum.class, orderInfo.getTakeGoodsType());
+
+        if (PayTypeEnum.STORE.getRemark().equals(orderInfo.getPayType())) {
+            content += ", 等待商家确认!";
+        } else if (PayTypeEnum.CREDIT.getRemark().equals(orderInfo.getPayType())) {
+            content += ", 使用授信支付成功!";
+        }
+
+        noticeLogic.addUserNotice(orderInfo.getOrderId(), "购物通知", content, orderInfo.getUserId(), orderInfo.getUserName(),
+                orderInfo.getCompanyWechatId(), orderInfo.getCompanyName());
+    }
 }

+ 6 - 6
mall-server-api/src/main/java/com/gree/mall/manager/controller/notice/NoticeZfireController.java

@@ -103,12 +103,12 @@ public class NoticeZfireController {
 
 
     @GetMapping("/list/count")
-     @ApiOperation(value = "未读消息数量")
-    public ResponseHelper<Integer> unreadCount(  @ApiParam(value = "NOTICE 平台公告   WBI 维保消息费用申请  WBK 维保费用申请审批  CRE_ORDER 创建工单  SEND_MALL  商城订单发货  RP_MALL 商城订单维权", required = false)
-                                                     @RequestParam List<String> noticeType,
-     @ApiParam(value = "YES 已读  NO 未读", required = false) @RequestParam String readFlag,
-                                                HttpServletRequest request) {
-        return ResponseHelper.success(noticeLogic.unreadCount(request,noticeType,readFlag));
+    @ApiOperation(value = "未读消息数量")
+    public ResponseHelper<Integer> unreadCount(@ApiParam(value = "NOTICE 平台公告   WBI 维保消息费用申请  WBK 维保费用申请审批  CRE_ORDER 创建工单  SEND_MALL  商城订单发货  RP_MALL 商城订单维权", required = false)
+                                               @RequestParam List<String> noticeType,
+                                               @ApiParam(value = "YES 已读  NO 未读", required = false) @RequestParam String readFlag,
+                                               HttpServletRequest request) {
+        return ResponseHelper.success(noticeLogic.unreadCount(request, noticeType, readFlag));
     }
 
 

+ 20 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/notice/NoticeLogic.java

@@ -11,6 +11,7 @@ import com.gree.mall.manager.bean.admin.AdminUserCom;
 import com.gree.mall.manager.bean.notice.*;
 import com.gree.mall.manager.commonmapper.NoticeRecordBeanMapper;
 import com.gree.mall.manager.enums.IsYesNoEnum;
+import com.gree.mall.manager.enums.NoticeEnum;
 import com.gree.mall.manager.logic.admin.AdminUserLogic;
 import com.gree.mall.manager.logic.common.CommonLogic;
 import com.gree.mall.manager.plus.entity.*;
@@ -371,4 +372,23 @@ public class NoticeLogic {
         IPage<NoticeRecordReadVOBean> pageList = noticeRecordMapper.listRecord(page, zfireParam, null, adminCompanyIds);
         return pageList;
     }
+
+    public void addUserNotice(String noticeId, String title, String content, String userId, String nickName,
+                              String companyId, String companyName) {
+        NoticeRecord noticeRecord = new NoticeRecord();
+        noticeRecord.setNoticeId(noticeId);
+        noticeRecord.setTitle(title);
+        noticeRecord.setContent(content);
+        noticeRecord.setType(NoticeEnum.B.getKey());
+        noticeRecord.setIsNotice(IsYesNoEnum.YES.getKey());
+        noticeRecord.setReadFlag(IsYesNoEnum.NO.getKey());
+        noticeRecord.setAdminUserId(userId);
+        noticeRecord.setAdminNickName(nickName);
+        noticeRecord.setIsWorker("YES");
+        noticeRecord.setIssueTime(new Date());
+        noticeRecord.setAdminCompanyId(companyId);
+        noticeRecord.setAdminCompanyName(companyName);
+        noticeRecord.setNoticeType("SYSTEM");
+        noticeRecord.insert();
+    }
 }

+ 27 - 56
mall-server-api/src/main/java/com/gree/mall/manager/logic/order/OrderLogic.java

@@ -28,7 +28,7 @@ import com.gree.mall.manager.logic.StorageLogic;
 import com.gree.mall.manager.logic.common.CommonLogic;
 import com.gree.mall.manager.logic.goods.GoodsMaterialStockAccLogic;
 import com.gree.mall.manager.logic.goods.GoodsMaterialStockLogic;
-import com.gree.mall.manager.logic.goods.JxGoodsLogic;
+import com.gree.mall.manager.logic.notice.NoticeLogic;
 import com.gree.mall.manager.logic.user.UserCompanyCreditLogic;
 import com.gree.mall.manager.logic.user.UserLogic;
 import com.gree.mall.manager.logic.workorder.OrderBaseLogic;
@@ -114,9 +114,6 @@ public class OrderLogic {
     OrderDetailCodeService orderDetailCodeService;
 
     @Autowired
-    JxGoodsLogic jxGoodsLogic;
-
-    @Autowired
     GoodsMaterialStockAccLogic goodsMaterialStockAccLogic;
 
     @Autowired
@@ -150,6 +147,8 @@ public class OrderLogic {
     UserCompanyDeliveryService userCompanyDeliveryService;
     @Resource
     UserCompanyCreditLogic userCompanyCreditLogic;
+    @Resource
+    NoticeLogic noticeLogic;
 
 
     /**
@@ -798,6 +797,8 @@ public class OrderLogic {
         //对接工单
         this.orderToWorkorder(orderInfo);
 
+        noticeLogic.addUserNotice(orderInfo.getOrderId(), "购物通知", "已完成自提, 欢迎下次光临!",
+                orderInfo.getUserId(), orderInfo.getUserName(), orderInfo.getCompanyWechatId(), orderInfo.getCompanyWechatName());
     }
 
 
@@ -926,11 +927,9 @@ public class OrderLogic {
         orderInfo.setCheckById(adminUser.getAdminUserId());
         orderInfo.setOrderStatus(OrderStatusEnum.DJH.toString());
         orderInfo.updateById();
-        // 确认订单减少物料库存
-//        final List<OrderDetail> orderDetailList = orderDetailService.lambdaQuery()
-//                .eq(OrderDetail::getOrderId, orderInfo.getOrderId())
-//                .list();
-//        this.handleGoodsMaterialStock(orderInfo, orderDetailList, adminUser, DirectFlagEnum.SUB, "确认订单", "确认订单");
+
+        noticeLogic.addUserNotice(orderInfo.getOrderId(), "购物通知", "商户已确认订单, 等待拣货!",
+                orderInfo.getUserId(), orderInfo.getUserName(), orderInfo.getCompanyWechatId(), orderInfo.getCompanyWechatName());
     }
 
     /**
@@ -1190,53 +1189,6 @@ public class OrderLogic {
         return sb.toString();
     }
 
-    private void subStock(SendOrderBody sendOrderBody) throws InterruptedException {
-
-        AdminUserCom adminUser = commonLogic.getAdminUser();
-
-        log.info("发货" + adminUser.toString());
-
-        //库存扣除 // 库存变更台账
-        List<OrderDetail> orderDetails = orderDetailService.lambdaQuery().eq(OrderDetail::getOrderId, sendOrderBody.getOrderId()).list();
-        for (OrderDetail orderDetail : orderDetails) {
-            if (orderDetail.getIsVr() || StringUtil.isEmpty(orderDetail.getGoodsMaterialId()))
-                continue;
-
-
-            if (StringUtil.isEmpty(orderDetail.getGoodsSpecId())) {
-
-            } else {
-                GoodsSpec goodsSpec = goodsSpecService.getById(orderDetail.getGoodsSpecId());
-
-                if (goodsSpec == null)
-                    throw new RemoteServiceException("未找到对应商品规格");
-
-                orderDetail.setGoodsMaterialId(goodsSpec.getGoodsCode());
-            }
-
-
-            jxGoodsLogic.subMaterialStock(orderDetail.getGoodsMaterialId(), orderDetail.getNum(), null, sendOrderBody.getStorageId());
-            goodsMaterialStockAccLogic.add(orderDetail.getGoodsMaterialId(), orderDetail.getPrice(), orderDetail.getNum(), DirectFlagEnum.SUB,
-                    sendOrderBody.getOrderId(), GoodsMaterialStockAccBillTypeEnum.A, sendOrderBody.getStorageId(), sendOrderBody.getStorageName());
-        }
-
-        OrderInfo orderInfo = orderInfoService.getById(sendOrderBody.getOrderId());
-
-        log.info("发货" + adminUser.getJoinCode().toString());
-        log.info("发货" + sendOrderBody.getOrderDetailCodes().toString());
-
-        if (adminUser.getJoinCode().equals("CODE")) {
-
-            this.checkCode(orderDetails, sendOrderBody);
-            //条码变更台账  条码减去批次库存
-            //  jxGoodsLogic.subCodeAcc(sendOrderBody.getOrderDetailCodes(), orderInfo);
-        }
-
-        //添加销售台账
-        //jxGoodsLogic.addGoodsSaleLedger(sendOrderBody.getOrderId());
-
-    }
-
     private void checkCode(List<OrderDetail> list, SendOrderBody sendOrderBody) {
         for (OrderDetail orderDetail : list) {
             if (orderDetail.getIsVr() || StringUtil.isEmpty(orderDetail.getGoodsMaterialId()))
@@ -1286,6 +1238,9 @@ public class OrderLogic {
                 .set(OrderInfo::getLastOrderStatus, orderInfo.getOrderStatus())
                 .eq(OrderInfo::getOrderId, orderId)
                 .update();
+
+        noticeLogic.addUserNotice(orderInfo.getOrderId(), "购物通知", "订单信息仓库已获取, 正在分拣中!",
+                orderInfo.getUserId(), orderInfo.getUserName(), orderInfo.getCompanyWechatId(), orderInfo.getCompanyWechatName());
     }
 
     public List<OrderPrintRecord> queryPrintRecord(String orderId) {
@@ -1414,6 +1369,11 @@ public class OrderLogic {
                 .set(OrderInfo::getLastOrderStatus, orderInfo.getOrderStatus())
                 .eq(OrderInfo::getOrderId, orderId)
                 .update();
+
+
+        noticeLogic.addUserNotice(orderInfo.getOrderId(), "购物通知", "仓库分拣完成, "
+                        + (orderInfo.getTakeGoodsType().equals(TakeGoodsTypeEnum.Z.getKey()) ? "等待自提!" : "待安排人员配送!"),
+                orderInfo.getUserId(), orderInfo.getUserName(), orderInfo.getCompanyWechatId(), orderInfo.getCompanyWechatName());
     }
 
     /**
@@ -1443,6 +1403,12 @@ public class OrderLogic {
                 .set(OrderInfo::getDeliverTime, DateUtil.date())
                 .in(OrderInfo::getOrderId, orderIds)
                 .update();
+
+        for (OrderInfo orderInfo : orderInfoList) {
+            noticeLogic.addUserNotice(orderInfo.getOrderId(), "购物通知", "商家开始配送, 请留意联系电话!",
+                    orderInfo.getUserId(), orderInfo.getUserName(), orderInfo.getCompanyWechatId(), orderInfo.getCompanyWechatName());
+        }
+
     }
 
     /**
@@ -1478,6 +1444,11 @@ public class OrderLogic {
                 .set(OrderInfo::getLastOrderStatus, OrderStatusEnum.DPS.toString())
                 .in(OrderInfo::getOrderId, orderIds)
                 .update();
+
+        for (OrderInfo orderInfo : orderInfoList) {
+            noticeLogic.addUserNotice(orderInfo.getOrderId(), "购物通知", "商家已安排配送人员, 等待开始配送!",
+                    orderInfo.getUserId(), orderInfo.getUserName(), orderInfo.getCompanyWechatId(), orderInfo.getCompanyWechatName());
+        }
     }
 
     public OrderStatusCountBean statusCount() {