Selaa lähdekoodia

add:商城签协议

liujunchi 3 vuotta sitten
vanhempi
commit
a15adff5af

+ 8 - 0
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/AdminFeignService.java

@@ -3,11 +3,13 @@ package com.yonge.cooleshow.api.feign;
 import com.yonge.cooleshow.api.feign.fallback.AdminFeignServiceFallback;
 import com.yonge.cooleshow.api.feign.fallback.MallAdminFeignServiceFallback;
 import com.yonge.cooleshow.common.constant.AppConstant;
+import com.yonge.cooleshow.common.entity.ContractDto;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.feign.config.FeignConfiguration;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 
 /**
  * Description
@@ -48,4 +50,10 @@ public interface AdminFeignService {
 
     @GetMapping(value = "/sysConfig/findConfigValue")
     HttpResponseResult<String> findConfigValue(String paramName);
+
+    /**
+     * 签协议 商城调用
+     */
+    @GetMapping("/open/userOrder/contractRecord")
+    HttpResponseResult<Boolean> contractRecord(@RequestBody ContractDto contract);
 }

+ 6 - 0
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/fallback/AdminFeignServiceFallback.java

@@ -1,6 +1,7 @@
 package com.yonge.cooleshow.api.feign.fallback;
 
 import com.yonge.cooleshow.api.feign.AdminFeignService;
+import com.yonge.cooleshow.common.entity.ContractDto;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 
 /**
@@ -34,4 +35,9 @@ public class AdminFeignServiceFallback implements AdminFeignService {
     public HttpResponseResult<String> findConfigValue(String paramName) {
         return null;
     }
+
+    @Override
+    public HttpResponseResult<Boolean> contractRecord(ContractDto contract) {
+        return null;
+    }
 }

+ 38 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ContractDto.java

@@ -0,0 +1,38 @@
+package com.yonge.cooleshow.common.entity;
+
+/**
+ * Description 远程签署协议
+ *
+ * @author liujunchi
+ * @date 2022-07-26
+ */
+public class ContractDto {
+
+    // 用户类型 STUDENT TEACHER
+    private String type;
+
+    // 用户id
+    private Long userId;
+
+
+    public ContractDto(String type, Long userId) {
+        this.type = type;
+        this.userId = userId;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+}

+ 7 - 0
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsPortalOrderServiceImpl.java

@@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import com.alibaba.fastjson.JSON;
 import com.github.pagehelper.PageHelper;
+import com.yonge.cooleshow.api.feign.AdminFeignService;
+import com.yonge.cooleshow.common.entity.ContractDto;
 import com.yonge.cooleshow.common.service.IdGeneratorService;
 import com.yonge.cooleshow.mall.common.api.CommonPage;
 import com.yonge.cooleshow.mall.common.enums.OrderCacheEnum;
@@ -91,6 +93,8 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
     private CancelOrderSender cancelOrderSender;
 
     @Autowired
+    private AdminFeignService adminFeignService;
+    @Autowired
     private UserOrderPaymentService userOrderPaymentService;
 
     @Autowired(required = true)
@@ -925,6 +929,9 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             }
         }
         userOrderPaymentService.saveOrUpdate(orderPayment);
+
+        // 签协议
+        adminFeignService.contractRecord(new ContractDto(orderPayment.getPaymentClient(),detail.getMemberId()));
     }
 
 

+ 14 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/open/UserOrderClient.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.admin.controller.open;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.yonge.cooleshow.biz.dal.entity.UserOrderPayment;
+import com.yonge.cooleshow.common.entity.ContractDto;
 import com.yonge.cooleshow.common.enums.CacheNameEnum;
 import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
 import com.yonge.cooleshow.biz.dal.service.UserOrderPaymentService;
@@ -155,4 +156,17 @@ public class UserOrderClient extends BaseController {
         userOrderService.setOrderStatus(orderNo, orderStatus);
         return succeed(true);
     }
+
+
+
+
+    /**
+     * 签协议 商城调用
+     */
+    @GetMapping("/contractRecord")
+    @ApiOperation(value = "签协议 商城调用", notes = "签协议 商城调用")
+    public HttpResponseResult<Boolean> contractRecord(@RequestBody ContractDto contract) {
+        paymentService.setContractRecord(contract.getType(),contract.getUserId());
+        return succeed(true);
+    }
 }

+ 7 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserOrderPaymentService.java

@@ -78,5 +78,11 @@ public interface UserOrderPaymentService extends IService<UserOrderPayment> {
     void closePaymentCallBack(PaymentCallBack data);
 
 
-
+    /**
+     * 签协议
+     *
+     * @param  type 类型
+     * @param userId 用户id
+     */
+    void setContractRecord(String type, Long userId);
 }

+ 8 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderPaymentServiceImpl.java

@@ -23,7 +23,6 @@ import com.yonge.toolset.payment.base.enums.PayChannelEnum;
 import com.yonge.toolset.payment.base.enums.PaymentClientEnum;
 import com.yonge.toolset.payment.base.enums.TradeStatusEnum;
 import com.yonge.toolset.payment.base.model.*;
-import com.yonge.toolset.payment.base.model.callback.ExecutePaymentCallBack;
 import com.yonge.toolset.payment.base.model.callback.PaymentCallBack;
 import com.yonge.toolset.payment.core.props.PaymentProperties;
 import com.yonge.toolset.payment.core.service.PaymentClient;
@@ -276,14 +275,19 @@ public class UserOrderPaymentServiceImpl extends ServiceImpl<UserOrderPaymentDao
             userOrderService.orderSuccess(detail, data);
         }
 
+        setContractRecord(orderPayment.getPaymentClient(), detail.getUserId());
+    }
+
+    @Override
+    public void setContractRecord(String type, Long userId) {
         //处理支付完成签署协议
         SysUserType userType = SysUserType.STUDENT;
-        if (ClientEnum.TEACHER.getCode().equals(orderPayment.getPaymentClient())) {
+        if (ClientEnum.TEACHER.getCode().equals(type)) {
             userType = SysUserType.TEACHER;
         }
-        Boolean aBoolean = sysUserContractRecordService.checkContractSign(detail.getUserId(), userType, ContractTemplateTypeEnum.BUY_ORDER);
+        Boolean aBoolean = sysUserContractRecordService.checkContractSign(userId, userType, ContractTemplateTypeEnum.BUY_ORDER);
         if (!aBoolean) {
-            SysUser userById = userService.findUserById(detail.getUserId());
+            SysUser userById = userService.findUserById(userId);
             SysUserType finalUserType = userType;
             CompletableFuture.runAsync(() -> sysUserContractRecordService.sign(ContractTemplateTypeEnum.BUY_ORDER, finalUserType, userById));
         }

+ 2 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/SysManualMapper.xml

@@ -39,7 +39,7 @@
 				AND menu_id_ = #{menuId}
 			</if>
 			<if test="search != null and search != '' ">
-				AND (sm.name_ like concat('%', #{search} '%') or sm.id_  like concat('%', #{search} '%')  or u.phone_ like concat('%', #{search} '%')  )
+				AND (sm.name_ like concat('%', #{search} '%') or sm.id_  like concat('%', #{search} '%')  )
 			</if>
 		</where>
 		<include refid="global.limit" />
@@ -58,7 +58,7 @@
 				AND sm.menu_id_ = #{menuId}
 			</if>
 			<if test="search != null and search != '' ">
-				AND (sm.name_ like concat('%', #{search} '%') or sm.id_  like concat('%', #{search} '%')  or u.phone_ like concat('%', #{search} '%')  )
+				AND (sm.name_ like concat('%', #{search} '%') or sm.id_  like concat('%', #{search} '%') )
 			</if>
 		</where>
 		<include refid="global.limit" />