Explorar el Código

新快递公司代码

赵冬冬 hace 4 años
padre
commit
3c3d618f88

+ 1 - 1
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/impl/UmsMemberOriginServiceImpl.java

@@ -138,7 +138,7 @@ public class UmsMemberOriginServiceImpl implements UmsMemberOriginService {
     public List<UmsMemberOriginParam> list(MemberWebPageParam memberWebPageParam) {
         //判断是不是供应商不是获取全部或者特定的供应商数据
         Long compId = CurrUserUtil.getCompIdInfo();
-        if(StringUtils.isEmpty(compId)){
+        if(!StringUtils.isEmpty(compId)){
             memberWebPageParam.setCompId(memberWebPageParam.getCompId());
         }
         PageHelper.startPage(memberWebPageParam.getPageNo(), memberWebPageParam.getPageSize());

+ 1 - 1
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/component/CancelOrderReceiver.java

@@ -20,7 +20,7 @@ public class CancelOrderReceiver {
     private OmsPortalOrderService portalOrderService;
     @RabbitHandler
     public void handle(Long orderId){
-        portalOrderService.cancelOrder(orderId);
+        portalOrderService.cancelOrderByOne(orderId);
         LOGGER.info("process orderId:{}",orderId);
     }
 }

+ 2 - 1
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/controller/WechatH5PayController.java

@@ -66,7 +66,8 @@ public class WechatH5PayController {
 
         orderRequest.setNonceStr(s);
         //商品描述
-        orderRequest.setBody("林业产品");
+        String productName = omsPortalOrderService.getProductName(orderId);
+        orderRequest.setBody(productName);
         //商户订单号(支付编号)
         GeneratorIdUtils generatorIdUtils = new GeneratorIdUtils();
         String orderNum = generatorIdUtils.nextId();

+ 9 - 0
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/dao/OmsOrderDao.java

@@ -0,0 +1,9 @@
+package com.hwrj.cloud.portal.dao;
+
+import org.apache.ibatis.annotations.Param;
+import org.mapstruct.Mapper;
+
+@Mapper
+public interface OmsOrderDao {
+    String getProductName(@Param("orderId") Long orderId);
+}

+ 5 - 0
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/OmsPortalOrderService.java

@@ -16,6 +16,9 @@ import java.util.Map;
  * Created by macro on 2018/8/30.
  */
 public interface OmsPortalOrderService {
+
+
+    public void cancelOrderByOne(Long orderId);
     /**
      * 根据用户购物车信息生成确认单信息
      * @param cartIds
@@ -81,4 +84,6 @@ public interface OmsPortalOrderService {
 
 
     OmsOrder selectById(Long orderId);
+
+    String getProductName(Long orderId);
 }

+ 60 - 7
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/impl/OmsPortalOrderServiceImpl.java

@@ -6,6 +6,7 @@ import com.github.pagehelper.PageHelper;
 import com.hwrj.cloud.common.api.CommonPage;
 import com.hwrj.cloud.common.exception.Asserts;
 import com.hwrj.cloud.portal.component.CancelOrderSender;
+import com.hwrj.cloud.portal.dao.OmsOrderDao;
 import com.hwrj.cloud.portal.dao.PortalOrderDao;
 import com.hwrj.cloud.portal.dao.PortalOrderItemDao;
 import com.hwrj.cloud.portal.domain.*;
@@ -350,6 +351,53 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
         }
     }
 
+    @Autowired
+    private OmsOrderItemMapper omsOrderItemMapper;
+
+    @Autowired
+    private PmsProductMapper pmsProductMapper;
+
+    @Override
+    public void cancelOrderByOne(Long orderId) {
+        //查询未付款的取消订单
+        OmsOrderExample example = new OmsOrderExample();
+        example.createCriteria().andIdEqualTo(orderId).andStatusEqualTo(0).andDeleteStatusEqualTo(0);
+        List<OmsOrder> cancelOrderList = orderMapper.selectByExample(example);
+        if (CollectionUtils.isEmpty(cancelOrderList)) {
+            return;
+        }
+        OmsOrder cancelOrder = cancelOrderList.get(0);
+        if (cancelOrder != null) {
+            Integer status = cancelOrder.getStatus();
+            //如果订单是待付款状态取消订单
+            if (0 == status.intValue()) {
+                //修改订单状态为取消
+                List<OmsOrderItem> omsOrderItems = getOmsOrderItem(orderId, cancelOrder);
+                //恢复库存
+                updateProduct(omsOrderItems);
+            }
+        }
+
+    }
+
+    private List<OmsOrderItem> getOmsOrderItem(Long orderId, OmsOrder cancelOrder) {
+        cancelOrder.setStatus(4);
+        orderMapper.updateByPrimaryKeySelective(cancelOrder);
+        OmsOrderItemExample orderItemExample = new OmsOrderItemExample();
+        orderItemExample.createCriteria().andOrderIdEqualTo(orderId);
+        return omsOrderItemMapper.selectByExample(orderItemExample);
+    }
+
+    private void updateProduct(List<OmsOrderItem> omsOrderItems) {
+        OmsOrderItem omsOrderItem = omsOrderItems.get(0);
+        Long productId = omsOrderItem.getProductId();
+        PmsProduct pmsProduct = pmsProductMapper.selectByPrimaryKey(productId);
+        Integer productQuantity = omsOrderItem.getProductQuantity();
+        Integer stock = pmsProduct.getStock();
+        pmsProduct.setStock(productQuantity + stock);
+        pmsProductMapper.updateByPrimaryKey(pmsProduct);
+    }
+
     @Override
     public void sendDelayMessageCancelOrder(Long orderId) {
         //获取订单超时时间
@@ -458,8 +506,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
         }
     }
 
-    @Autowired
-    private PmsProductMapper pmsProductMapper;
+
 
     @Autowired
     private RedissonClient redissonClient;
@@ -477,7 +524,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             lock.lock();
             PmsProduct pmsProduct = pmsProductMapper.selectByPrimaryKey(orderFrom.getProductId());
             BigDecimal price = pmsProduct.getPrice();
-            if(StringUtils.isEmpty(price)){
+            if (StringUtils.isEmpty(price)) {
                 throw new RuntimeException("暂无价格无法下单!");
             }
             //新增购物车
@@ -487,9 +534,9 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             //下单
             return saveOrder(orderParam, orderFrom);
         } catch (Exception e) {
-            if(e instanceof RuntimeException){
+            if (e instanceof RuntimeException) {
                 Asserts.fail(e.getMessage());
-            }else {
+            } else {
                 Asserts.fail(e.getMessage());
             }
             System.out.println(e.getMessage());
@@ -1079,9 +1126,15 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
         calcAmount.setPayAmount(totalAmount.subtract(promotionAmount));
         return calcAmount;
     }
+    @Autowired
+    private OmsOrderDao omsOrderDao;
+    @Override
+    public OmsOrder selectById(Long orderId) {
+        return orderMapper.selectByPrimaryKey(orderId);
+    }
     @Override
-    public OmsOrder selectById(Long orderId){
-        return  orderMapper.selectByPrimaryKey(orderId);
+    public String getProductName(Long orderId){
+        return omsOrderDao.getProductName(orderId);
     }
 
 }

+ 17 - 0
forest-portal/portal-server/src/main/resources/dao/OmsOrderDao.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.hwrj.cloud.portal.dao.OmsOrderDao">
+
+
+    <select id="getProductName" resultType="java.lang.String">
+        SELECT
+            GROUP_CONCAT(
+                a.product_brand,'-',
+                a.product_name
+            )
+        FROM
+            oms_order_item a
+        WHERE
+            a.order_id = #{orderId} LIMIT 1
+    </select>
+</mapper>

+ 40 - 2
sql/表结构变化语句/更新sql.sql

@@ -190,7 +190,7 @@ WHERE
 			a.delete_status = 0
 	);
 
-##数据库上线更新语句
+##数据库上线更新语句 新版
 
 # 品牌表新增字段
 ALTER TABLE pms_brand ADD COLUMN `comp_id` BIGINT (20) DEFAULT NULL COMMENT '供应商id' AFTER `id`;
@@ -227,7 +227,7 @@ CREATE TABLE `ums_company_share` (
   PRIMARY KEY (`id`),
   KEY `idx_comp_id` (`comp_id`),
   KEY `idx_member_id` (`member_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='供应商邀请码表';
 
 # 支付订单表
 CREATE TABLE `oms_order_pay` (
@@ -243,3 +243,41 @@ CREATE TABLE `oms_order_pay` (
   PRIMARY KEY (`id`),
   KEY `idx_order_id` (`order_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='支付订单表';
+
+
+SET FOREIGN_KEY_CHECKS=0;
+
+-- ----------------------------
+-- Table structure for oms_order_express
+-- ----------------------------
+DROP TABLE IF EXISTS `oms_order_express`;
+CREATE TABLE `oms_order_express` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `express_name` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '快递公司名字',
+  `express_code` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '快递公司编码',
+  `express_phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '快递公司电话',
+  `remarks` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人id',
+  `create_user` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人',
+  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人id',
+  `update_user` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人',
+  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+  `status` int(1) NOT NULL DEFAULT '1' COMMENT '0 未启用 1 已启用',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='快递公司信息';
+
+-- ----------------------------
+-- Records of oms_order_express
+-- ----------------------------
+INSERT INTO `oms_order_express` VALUES ('3', '韵达快递', null, null, null, null, null, null, null, null, null, '1');
+INSERT INTO `oms_order_express` VALUES ('4', '天天快递', null, null, null, null, null, null, null, null, null, '1');
+INSERT INTO `oms_order_express` VALUES ('5', '申通快递', null, null, null, null, null, null, null, null, null, '1');
+INSERT INTO `oms_order_express` VALUES ('6', '圆通速递', null, null, null, null, null, null, null, null, null, '1');
+INSERT INTO `oms_order_express` VALUES ('7', '德邦物流', null, null, null, null, null, null, null, null, null, '1');
+INSERT INTO `oms_order_express` VALUES ('8', '百世汇通', null, null, null, null, null, null, null, null, null, '1');
+INSERT INTO `oms_order_express` VALUES ('9', '顺丰速运', null, null, null, null, null, null, null, null, null, '1');
+INSERT INTO `oms_order_express` VALUES ('10', '京东物流', null, null, null, null, null, null, null, null, null, '1');
+INSERT INTO `oms_order_express` VALUES ('11', '中通速递', null, null, null, null, null, null, null, null, null, '1');
+INSERT INTO `oms_order_express` VALUES ('12', '国通快递', null, null, null, null, null, null, null, null, null, '1');
+