zhijiezhao 3 anni fa
parent
commit
4cf38d968c

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

@@ -39,6 +39,7 @@ public class OrderSubmitApi {
      *                  "cartType":3,               //购买类型:(1自主下单(购物车),2自主下单(立即购买),3协销下单)
      *                  "serviceProviderId": 1378,  //协销ID(小程序忽略)
      *                  "clubCouponId": ""          //优惠券Id
+     *                   "orderSeen":               //订单对机构可见度,1可见,2不可见
      *                  "orderInfo": [              //【订单商品】
      *                      { "shopId":1001,                         // 供应商Id
      *                          "note":备注,
@@ -75,6 +76,7 @@ public class OrderSubmitApi {
      *                              "openBank": "开户银行",
      *                              "bankAccountNo": "987987465465464"
      *                          }
+     *
      *              }
      */
     @ApiOperation("提交订单(旧:/order/submit)(/seller/order/submit)")

+ 35 - 6
src/main/java/com/caimei365/order/mapper/SubmitMapper.java

@@ -6,6 +6,7 @@ import com.caimei365.order.model.vo.AddressVo;
 import com.caimei365.order.model.vo.LadderPriceVo;
 import com.caimei365.order.model.vo.PromotionsVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
 import java.util.List;
@@ -20,90 +21,117 @@ import java.util.List;
 public interface SubmitMapper {
     /**
      * 获取运营人员Id
-     * @param unionId    运营人员unionId
-     * @param userId     机构用户Id
+     *
+     * @param unionId 运营人员unionId
+     * @param userId  机构用户Id
      */
     Integer getOperationIdByUnionId(String unionId, Integer userId);
+
     /**
      * 根据用户Id获取用户余额信息
+     *
      * @param userId 用户Id
      */
     OrderParamBo getOrderUserBoById(Integer userId);
+
     /**
      * 获取协销用户Id
+     *
      * @param serviceProviderId 协销Id
      */
     Integer getServiceProviderUserId(Integer serviceProviderId);
+
     /**
      * 获取数据库商品信息
+     *
      * @param productId 商品Id
      */
     OrderProductPo getProductDetails(Integer productId);
+
     /**
      * 抵扣后更新用户余额
-     * @param userMoney 账户余额
+     *
+     * @param userMoney     账户余额
      * @param ableUserMoney 账户实际可用余额
-     * @param userId 机构用户Id
+     * @param userId        机构用户Id
      */
     void updateUserMoney(Double userMoney, Double ableUserMoney, Integer userId);
+
     /**
      * 获取条款名称
+     *
      * @param clauseId 条款Id
      */
     String getClauseNameById(Integer clauseId);
+
     /**
      * 保存主订单数据
      */
     void insertMainOrder(OrderPo order);
+
     /**
      * 保存子订单数据
      */
     void insertShopOrder(OrderShopPo shopOrder);
+
     /**
      * 保存 订单商品
      */
     void insertOrderProduct(OrderProductPo orderProduct);
+
     /**
      * 保存订单促销
      */
     void insertOrderPromotions(PromotionsVo promotions);
+
     /**
      * 保存 订单阶梯价格
      */
     void insertLadderPrices(LadderPriceVo ladderPriceVo);
+
     /**
      * 更新订单的子订单Ids
+     *
      * @param shopOrderIds 子订单Ids
-     * @param orderId 订单Id
+     * @param orderId      订单Id
      */
     void updateShopOrderIds(String shopOrderIds, Integer orderId);
+
     /**
      * 查询订单增值税发票
      */
     InvoicePo getOrderInvoice(Integer orderId);
+
     /**
      * 更新订单增值税发票
      */
     void updateOrderInvoice(InvoicePo orderInvoice);
+
     /**
      * 保存 订单发票信息
      */
     void insertOrderInvoice(InvoicePo invoice);
+
     /**
      * 获取用户地信息
+     *
      * @param addressId 地址Id
      */
     AddressVo getAddressDetailById(Integer addressId);
+
     /**
      * 保存 订单用户地址
      */
     void insertOrderUserInfo(OrderUserInfoPo userInfo);
+
     /**
      * 保存订单优惠记录
      */
     void insertCouponOrderRecord(CouponOrderRecordPo orderRecord);
+
     /**
      * 获取超级会员优惠商品详情
+     *
      * @param productId 商品id
      * @return
      */
@@ -111,7 +139,8 @@ public interface SubmitMapper {
 
     /**
      * 查交易完成,订单金额在1000以下的订单id,10月27号之后
+     *
      * @return
      */
-    List<Integer> findLowOrder(Date orderTime);
+    List<Integer> findLowOrder(@Param("userId") Integer userId, @Param("orderTime") Date orderTime);
 }

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

@@ -17,6 +17,10 @@ import java.io.Serializable;
 @Data
 public class OrderParamBo implements Serializable {
     private static final long serialVersionUID = 1L;
+    /**
+     * orderSeen:订单对机构可见度,1可见,2不可见
+     */
+    private Integer orderSeen;
     /**
      * 用户ID
      */

+ 7 - 1
src/main/java/com/caimei365/order/model/dto/SubmitDto.java

@@ -14,6 +14,11 @@ import java.io.Serializable;
 @Data
 public class SubmitDto implements Serializable {
     private static final long serialVersionUID = 1L;
+    /**
+     * orderSeen:订单对机构可见度,1可见,2不可见
+     */
+    @ApiModelProperty("订单对机构可见度,1可见,2不可见")
+    private Integer orderSeen;
     /**
      * 机构ID
      */
@@ -102,7 +107,8 @@ public class SubmitDto implements Serializable {
     @Override
     public String toString() {
         return "SubmitDto{" +
-                "clubId=" + clubId +
+                "orderSeen=" + orderSeen +
+                ", clubId=" + clubId +
                 ", unionId='" + unionId + '\'' +
                 ", addressId=" + addressId +
                 ", orderSource=" + orderSource +

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

@@ -13,6 +13,10 @@ import java.io.Serializable;
 @Data
 public class OrderPo implements Serializable {
     private static final long serialVersionUID = 1L;
+    /**
+     * orderSeen:订单对机构可见度,1可见,2不可见
+     */
+    private Integer orderSeen;
     /**
      * 订单号
      */

+ 14 - 6
src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java

@@ -107,7 +107,8 @@ public class SubmitServiceImpl implements SubmitService {
      *                  "registeredPhone": "15814011616",
      *                  "openBank": "开户银行",
      *                  "bankAccountNo": "987987465465464"
-     *                  }
+     *                  },
+     *                  orderSeen:订单对机构可见度,1可见,2不可见
      *                  }
      */
     @Transactional(rollbackFor = Exception.class)
@@ -275,6 +276,7 @@ public class SubmitServiceImpl implements SubmitService {
         orderParamBo.setServiceProviderId(submitDto.getServiceProviderId());
         orderParamBo.setAddressId(submitDto.getAddressId());
         orderParamBo.setClubCouponId(submitDto.getClubCouponId());
+        orderParamBo.setOrderSeen(submitDto.getOrderSeen());
         /*
          * 保存订单
          */
@@ -287,6 +289,8 @@ public class SubmitServiceImpl implements SubmitService {
          * 初始化主订单
          */
         OrderPo mainOrder = new OrderPo();
+        // 订单可见度
+        mainOrder.setOrderSeen(orderParamBo.getOrderSeen());
         // 订单来源
         mainOrder.setOrderSource(orderParamBo.getOrderSource());
         // 生成订单号
@@ -1365,14 +1369,18 @@ public class SubmitServiceImpl implements SubmitService {
         try {
             if (orderParamBo.getCartType() != 3 && productTotalFee.get() < 1000) {
                 if (orderParamBo.getUserBeans() < 0) {
-                    return ResponseJson.error("采美豆为负,无法下单");
+                    //设置手动回滚事务
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return ResponseJson.error(-3, "采美豆不足,不能提交订单。建议您前往采美旗下“呵呵商城”小程序购买小额商品。");
                 } else {
                     //查历史2021.10.27后是否有两个1000以下订单,有return不让下单,没有扣豆子
                     SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                    Date orderTime = format.parse("2021-10-27 00:00:01");
-                    List<Integer> mainOrderIds = submitMapper.findLowOrder(orderTime);
-                    if (mainOrderIds != null && mainOrderIds.size() >= 2) {
-                        return ResponseJson.error("您已有2个采购金额过小的订单,本次不能再进行采购!");
+                    Date orderTime = format.parse("2021-10-28 10:40:01");
+                    List<Integer> mainOrderIds = submitMapper.findLowOrder(mainOrder.getUserId(), orderTime);
+                    if (mainOrderIds != null && mainOrderIds.size() > 2) {
+                        //设置手动回滚事务
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return ResponseJson.error(-3, "您已有2个采购金额过小的订单,本次不能再进行采购。建议您前往采美旗下“呵呵商城”小程序购买小额商品。");
                     }
                     UserBeansHistoryPo beansHistory = new UserBeansHistoryPo();
                     beansHistory.setUserId(mainOrder.getUserId());

+ 5 - 2
src/main/resources/mapper/SubmitMapper.xml

@@ -3,7 +3,8 @@
 <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 (orderSource, orderNo, userID, clubID, buyUserID, spID, orderTime, updateDate, delFlag,
+        INSERT INTO cm_order (orderSeen, orderSource, orderNo, userID, clubID, buyUserID, spID, orderTime, updateDate,
+                              delFlag,
                               userBeans, orderType, orderSubmitType, confirmFlag, onlinePayFlag, splitFlag, payFlag,
                               receiptStatus, payStatus, zeroCostFlag, sendOutStatus, refundType, affirmPaymentFlag,
                               productCount, presentCount, promotionalGiftsCount, hasActProduct, promotionFullReduction,
@@ -12,7 +13,8 @@
                               orderTotalFee, payTotalFee, payableAmount, balancePayFee, couponAmount, status,
                               confirmTime,
                               payTime, rebateFlag, clauseID, clauseName)
-        VALUES (#{orderSource}, #{orderNo}, #{userId}, #{clubId}, #{buyUserId}, #{spId}, #{orderTime}, #{updateDate},
+        VALUES (#{orderSeen}, #{orderSource}, #{orderNo}, #{userId}, #{clubId}, #{buyUserId}, #{spId}, #{orderTime},
+                #{updateDate},
                 #{delFlag},
                 #{userBeans}, #{orderType}, #{orderSubmitType}, #{confirmFlag}, #{onlinePayFlag}, #{splitFlag},
                 #{payFlag},
@@ -235,5 +237,6 @@
         where status not in (6, 7)
           and payTotalFee <![CDATA[ < ]]> 1000
           and orderTime <![CDATA[ > ]]> #{orderTime}
+          and userID = #{userId}
     </select>
 </mapper>