Browse Source

联合丽格

huangzhiguo 2 years ago
parent
commit
724b0c78b9

+ 15 - 2
src/main/java/com/caimei365/order/components/HeliPayUtil.java

@@ -55,7 +55,10 @@ public class HeliPayUtil {
     @Value("${pay.quick-un-url}")
     private String quickUnOrderUrl;
 
+    // 采美
     private final String publicCode = "wx91c4152b60ca91a3";
+    // 联合丽格
+    private final String ligueCode = "wxaa4acc852618da69";
 
     //小程序/公众号线上公用方法 p8 openid在自己方法传
     public AppPayPublicCreateOrderVo setOnlineValue(AppPayPublicCreateOrderVo pay, HeliDto heliDto, String payFlag, HttpHeaders headers) {
@@ -150,10 +153,20 @@ public class HeliPayUtil {
         pay.setP13_successToUrl(heliDto.getReturnUrl());
         if ("GZH".equals(heliDto.getPayType())) {
             //公众号appid
-            pay.setP5_appid(publicCode);
+            if (1 == heliDto.getOrganizeId()) {
+                // 联合丽格
+                pay.setP5_appid(ligueCode);
+            } else {
+                pay.setP5_appid(publicCode);
+            }
         } else if ("XCX".equals(heliDto.getPayType())) {
             //小程序appid
-            pay.setP5_appid(miniAppId);
+            if (1 == heliDto.getOrganizeId()) {
+                // 联合丽格
+                pay.setP5_appid(ligueCode);
+            } else {
+                pay.setP5_appid(miniAppId);
+            }
         }
         return pay;
     }

+ 3 - 0
src/main/java/com/caimei365/order/controller/OrderSubmitApi.java

@@ -124,6 +124,9 @@ public class OrderSubmitApi {
         if (3 == submitDto.getCartType() && null == submitDto.getServiceProviderId()) {
             return ResponseJson.error("协销Id不能为空!", null);
         }
+        if (null == submitDto.getOrganizeId()) {
+            return ResponseJson.error("订单类型不能为空!", null);
+        }
         return submitService.generateOrder(submitDto);
     }
 

+ 6 - 0
src/main/java/com/caimei365/order/mapper/BaseMapper.java

@@ -18,6 +18,12 @@ import java.util.List;
  */
 @Mapper
 public interface BaseMapper {
+    /**
+     * 获取用户组织Id
+     * @param userId
+     * @return
+     */
+    Integer getOrganizeId(@Param("userId") Integer userId);
     /**
      * 供应商名称
      * @param shopId 供应商Id

+ 9 - 0
src/main/java/com/caimei365/order/mapper/CartClubMapper.java

@@ -28,6 +28,15 @@ public interface CartClubMapper {
      * @param userId 用户Id
      */
     List<CartItemVo> getCartProductsByShopId(@Param("shopId") Integer shopId, @Param("userId") Integer userId);
+
+    /**
+     * 外部商城 购物车供应商下商品列表
+     * @param organizeId
+     * @param shopId
+     * @param userId
+     * @return
+     */
+    List<CartItemVo> getCartOrganizeProductsByShopId(@Param("organizeId") Integer organizeId, @Param("shopId") Integer shopId, @Param("userId") Integer userId);
     /**
      * 获取购物车商品列表(不区分供应商)
      * @param userId 用户Id

+ 2 - 0
src/main/java/com/caimei365/order/mapper/OrderClubMapper.java

@@ -351,4 +351,6 @@ public interface OrderClubMapper {
     OrderParamBo findUserName(Integer userId);
 
     List<Sku> findSkus(Integer productId);
+
+    List<Sku> getOrganizeSku(@Param("productId") Integer productId);
 }

+ 4 - 0
src/main/java/com/caimei365/order/model/bo/OrderParamBo.java

@@ -29,6 +29,10 @@ public class OrderParamBo implements Serializable {
      * 机构id
      */
     private Integer clubId;
+    /**
+     * 组织Id  采美默认为0
+     */
+    private Integer organizeId;
     /**
      * 用户名
      */

+ 5 - 0
src/main/java/com/caimei365/order/model/dto/HeliDto.java

@@ -113,5 +113,10 @@ public class HeliDto implements Serializable {
 
     @ApiModelProperty("支付卡类型 1借记卡/2贷记卡")
     private Integer cardType;
+    /**
+     * 采美组织默认为0,具体对应cm_mall_organize表ID
+     */
+    @ApiModelProperty("采美组织默认为0,联合丽格4")
+    private Integer organizeId;
 }
 

+ 6 - 0
src/main/java/com/caimei365/order/model/dto/SubmitDto.java

@@ -24,6 +24,11 @@ public class SubmitDto implements Serializable {
      */
     @ApiModelProperty("机构Id")
     private Integer clubId;
+    /**
+     * 组织Id
+     */
+    @ApiModelProperty("组织id 采美默认为0")
+    private Integer organizeId;
     /**
      * 微信unionId
      */
@@ -115,6 +120,7 @@ public class SubmitDto implements Serializable {
         return "SubmitDto{" +
                 "orderSeen=" + orderSeen +
                 ", clubId=" + clubId +
+                ", organizeId=" + organizeId +
                 ", unionId='" + unionId + '\'' +
                 ", addressId=" + addressId +
                 ", orderSource=" + orderSource +

+ 4 - 0
src/main/java/com/caimei365/order/model/po/OrderPo.java

@@ -25,6 +25,10 @@ public class OrderPo implements Serializable {
      * 订单号
      */
     private Integer orderId;
+    /**
+     * 组织Id  采美默认为0
+     */
+    private Integer organizeId;
     /**
      * 订单来源:1WWW、2CRM、4客服[适用后台下单]、5外单[适用后台下单]、6小程序[采美,星范]、7呵呵商城小程序、8维沙小程序
      */

+ 13 - 3
src/main/java/com/caimei365/order/service/impl/CartClubServiceImpl.java

@@ -75,6 +75,8 @@ public class CartClubServiceImpl implements CartClubService {
      */
     @Override
     public ResponseJson<Map<String, Object>> getShoppingCartList(Integer userId, Integer source) {
+        // 用户组织Id
+        Integer organizeId = baseMapper.getOrganizeId(userId);
         /**
          * 初始化返回数据
          */
@@ -149,13 +151,21 @@ public class CartClubServiceImpl implements CartClubService {
                     shopPromotion = null;
                 }
                 // 供应商下商品列表 ,购物车里的该供应商商品
-                List<CartItemVo> productList = cartClubMapper.getCartProductsByShopId(shop.getShopId(), userId);
-
+                List<CartItemVo> productList = null;
+                if (0 == organizeId) {
+                    productList = cartClubMapper.getCartProductsByShopId(shop.getShopId(), userId);
+                } else {
+                    productList = cartClubMapper.getCartOrganizeProductsByShopId(organizeId, shop.getShopId(), userId);
+                }
                 // 迭代器设置商品信息
                 Iterator<CartItemVo> productIterator = productList.iterator();
                 while (productIterator.hasNext()) {
                     CartItemVo cartItemVo = productIterator.next();
-                    cartItemVo.setSkus(orderClubMapper.findSkus(cartItemVo.getProductId()));
+                    if (0 == organizeId) {
+                        cartItemVo.setSkus(orderClubMapper.findSkus(cartItemVo.getProductId()));
+                    } else {
+                        cartItemVo.setSkus(orderClubMapper.getOrganizeSku(cartItemVo.getProductId()));
+                    }
                     // 设置商品图片及税费
                     boolean taxFlag = productService.setCartItemImgAndTax(cartItemVo);
                     // 商品可见度: 3:所有人可见,2:普通机构可见,1:会员机构可见,4:仅医美机构可见

+ 2 - 0
src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java

@@ -359,6 +359,8 @@ public class SubmitServiceImpl implements SubmitService {
          * 初始化主订单
          */
         OrderPo mainOrder = new OrderPo();
+        // 订单组织Id
+        mainOrder.setOrganizeId(orderParamBo.getOrganizeId());
         // 订单可见度
         mainOrder.setOrderSeen(orderParamBo.getOrderSeen());
         // 订单来源

+ 3 - 0
src/main/resources/mapper/BaseMapper.xml

@@ -1,6 +1,9 @@
 <?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.caimei365.order.mapper.BaseMapper">
+    <select id="getOrganizeId" resultType="java.lang.Integer">
+        SELECT userOrganizeID FROM USER WHERE userId = #{userId}
+    </select>
     <select id="getShopNameById" resultType="java.lang.String">
         SELECT `name`
         FROM shop

+ 34 - 0
src/main/resources/mapper/CartClubMapper.xml

@@ -88,6 +88,40 @@
           and p.shopID = #{shopId}
         ORDER BY c.cm_cartID DESC
     </select>
+    <select id="getCartOrganizeProductsByShopId" resultType="com.caimei365.order.model.vo.CartItemVo">
+        SELECT c.cm_cartID                   AS id,
+               c.productCount                AS number,
+               p.productID                   AS productId,
+               p.shopID                      AS shopId,
+               p.`name`                      AS `name`,
+               p.mainImage                   AS image,
+               p.productCode,
+               c.skuId,
+               cmps.price,
+               cmps.price                      AS originalPrice,
+               cs.unit                       AS unit,
+               cs.stock                      AS stock,
+               p.step                        AS step,
+               IFNULL(cs.minBuyNumber,(SELECT buyNum FROM product_ladder_price WHERE skuId=c.skuId ORDER BY buyNum ASC LIMIT 1)) AS MIN,
+               p.priceFlag,
+               IFNULL(cs.ladderPriceFlag, 0) AS ladderFlag,
+               p.includedTax                 AS includedTax,
+               p.invoiceType                 AS invoiceType,
+               p.taxPoint                    AS taxRate,
+               p.productCategory,
+               cmop.validFlag                   AS validFlag,
+               p.visibility,
+               p.productType
+        FROM cm_cart c
+                 LEFT JOIN product P ON c.productID = p.productID
+                 LEFT JOIN cm_sku cs ON c.skuId = cs.skuId
+                 LEFT JOIN cm_mall_product_sku cmps ON cmps.skuId = cs.skuId
+                 LEFT JOIN cm_mall_organize_products cmop ON cmop.productId = c.productId
+        WHERE c.userID = #{userId}
+          and p.shopID = #{shopId}
+          and cmop.organizeID = #{organizeId}
+        ORDER BY c.cm_cartID DESC
+    </select>
     <select id="getCartProductsByShopIdAndProductIds" resultType="com.caimei365.order.model.vo.CartItemVo">
         SELECT
         c.skuId AS skuId,

+ 6 - 0
src/main/resources/mapper/OrderClubMapper.xml

@@ -752,4 +752,10 @@
         where cs.productId = #{productId}
         ORDER BY price ASC
     </select>
+    <select id="getOrganizeSku" resultType="com.caimei365.order.model.vo.Sku">
+        SELECT skuId, minBuyNumber, price
+        FROM cm_mall_product_sku
+        WHERE productId = #{productId}
+        ORDER BY price ASC
+    </select>
 </mapper>

+ 3 - 3
src/main/resources/mapper/SubmitMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.caimei365.order.mapper.SubmitMapper">
     <insert id="insertMainOrder" keyColumn="orderID" keyProperty="orderId"
             parameterType="com.caimei365.order.model.po.OrderPo" useGeneratedKeys="true">
-        INSERT INTO cm_order (orderSeen, orderSource, orderNo, userID, clubID, buyUserID, spID, orderTime, updateDate,
+        INSERT INTO cm_order (orderSeen, orderSource, orderNo, userID, clubID, organizeID, buyUserID, spID, orderTime, updateDate,
                               delFlag,
                               userBeans, orderType, orderSubmitType, confirmFlag, onlinePayFlag, splitFlag, payFlag,
                               receiptStatus, payStatus, zeroCostFlag, sendOutStatus, refundType, affirmPaymentFlag,
@@ -13,7 +13,7 @@
                               orderTotalFee, payTotalFee, payableAmount, balancePayFee, couponAmount, status,
                               confirmTime,
                               payTime, rebateFlag,rebateFee, clauseID, clauseName)
-        VALUES (#{orderSeen}, #{orderSource}, #{orderNo}, #{userId}, #{clubId}, #{buyUserId}, #{spId}, #{orderTime},
+        VALUES (#{orderSeen}, #{orderSource}, #{orderNo}, #{userId}, #{clubId}, #{organizeId}, #{buyUserId}, #{spId}, #{orderTime},
                 #{updateDate},
                 #{delFlag},
                 #{userBeans}, #{orderType}, #{orderSubmitType}, #{confirmFlag}, #{onlinePayFlag}, #{splitFlag},
@@ -292,4 +292,4 @@
                  LEFT JOIN cm_sku cs on p.productID = cs.productId
         WHERE cs.productId = #{productId}
     </select>
-</mapper>
+</mapper>