yangdamao 1 éve
szülő
commit
d4bcf26a09

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderMapper.java

@@ -70,4 +70,6 @@ public interface OrderMapper extends BaseMapper<Order> {
     List<String> getBusinessNameBySn(String orderSn);
 
     Long getOrderGoodsByBo(@Param("goodsId") Long goodsId,@Param("userId") Long userId);
+
+    Long getCountByGoods(List<Long> goodsIds);
 }

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -1341,6 +1341,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         add.setOrderType(Order.CONSUME_ORDER);
         //订单运营类型
         String tenantId = ServletUtils.getRequest().getHeader("TenantId");
+        SysTenant tenant = sysTenantService.getById(tenantId);
+        if (ObjectUtils.isNotNull(tenant) && tenant.getSevenPayment() == 1){
+            //判断是否包含七大员商品
+            Long count = baseMapper.getCountByGoods(bo.getGoodsList().stream().map(OrderGoodsAddBo::getGoodsId).collect(Collectors.toList()));
+            if (count > 0){
+                throw new CustomException("您好,因报名资料需审核,该培训项目暂不支持线上支付,报名请联系客服13332983411(微信同号)");
+            }
+        }
         SysOldOrg oldOrg = iSysOldOrgService.getOne(new LambdaQueryWrapper<SysOldOrg>().eq(SysOldOrg::getTenantId, Long.valueOf(tenantId)).last("limit 1"));
         if (ObjectUtils.isNotNull(oldOrg)){
             add.setOperationType(oldOrg.getOperationType());

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/domain/SysTenant.java

@@ -117,4 +117,6 @@ private static final long serialVersionUID=1L;
     private Integer periodSign;
     /** 经办订单对公收款账户 */
     private String handleBank;
+    /** 是否关闭七大员在线付款 */
+    private Integer sevenPayment;
 }

+ 14 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml

@@ -719,4 +719,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         NOW()) <![CDATA[ <= ]]> og.service_end_time
     </select>
 
+    <select id="getCountByGoods" resultType="java.lang.Long" parameterType="java.lang.Long">
+        SELECT
+        COUNT(*)
+        FROM
+        goods g
+        LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
+        WHERE
+        INSTR( cpt.project_name, '施工现场专业人员' ) <![CDATA[ <= ]]> 0
+        AND g.goods_id IN
+        <foreach collection="goodsIds" item="item" index="index" open="(" close=")" separator=",">
+            #{item}
+        </foreach>
+    </select>
+
 </mapper>