Quellcode durchsuchen

提现协议修改

liweifan vor 2 Jahren
Ursprung
Commit
48437b1eec

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherStyleVideoMapper.xml

@@ -98,7 +98,7 @@
 	<select id="stylePage" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherStyleVideoVo">
 		SELECT
 			<include refid="baseColumns"/>,
-			ta.live_flag_ as liveing,
+			ifnull(ta.live_flag_,0) as liveing,
 			u.avatar_ as avatar,
 			u.username_ as username
 		FROM teacher_style_video t

+ 28 - 18
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/SysUserContractRecordController.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.teacher.controller;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.auth.api.enums.SysUserType;
@@ -54,11 +55,16 @@ public class SysUserContractRecordController extends BaseController {
         return sysUserContractRecordService.checkContractSign(user.getId(), contractType);
     }
 
+    @ApiOperation("查询最新启用的协议模板")
+    @GetMapping(value = "/queryLatestContractTemplate")
+    public HttpResponseResult<ContractTemplate> queryLatestContractTemplate(@ApiParam(value = "业务类型 REGISTER 注册 COURSES 课程购买 PRODUCT 产品 WITHDRAW 提现", required = true) @RequestParam("contractType") ContractTypeEnum contractType) {
+        return succeed(contractTemplateService.queryLatestContractTemplate(contractType));
+    }
+
     @ApiOperation("签署协议")
     @GetMapping(value = "/sign", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
     public HttpResponseResult<Boolean> sign(
             @ApiParam(value = "模板id", required = true) @RequestParam("templateId") Integer templateId) {
-
         SysUser user = sysUserFeignService.queryUserInfo();
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
@@ -66,29 +72,33 @@ public class SysUserContractRecordController extends BaseController {
         //是否签署标识,签署了才入库
         boolean flag = false;
 
-        SysUserContractRecord contractRecord = new SysUserContractRecord();
-
-        Long contractNo = idGeneratorService.generatorId("contractNo");
-        contractRecord.setContractNo(contractNo.toString());
+        //查询库中正在签署的协议
+        SysUserContractRecord contractRecord = sysUserContractRecordService.getOne(Wrappers.<SysUserContractRecord>lambdaQuery()
+                .eq(SysUserContractRecord::getUserId, user.getId())
+                .eq(SysUserContractRecord::getContractId, templateId)
+                .in(SysUserContractRecord::getStatus, DealStatusEnum.SCCESS.getCode(), DealStatusEnum.DOING.getCode()));
 
-        contractRecord.setUserId(user.getId());
+        //未签署协议
+        if (null == contractRecord) {
+            Long contractNo = idGeneratorService.generatorId("contractNo");
+            contractRecord.setContractNo(contractNo.toString());
+            contractRecord.setUserId(user.getId());
 
-        ContractTemplate contractTemplate = contractTemplateService.get(templateId);
-        contractRecord.setContractId(contractTemplate.getId());
+            ContractTemplate contractTemplate = contractTemplateService.get(templateId);
+            contractRecord.setContractId(contractTemplate.getId());
 
-        if (ContractTypeEnum.WITHDRAW.getCode().equals(contractTemplate.getType())) {
-            //签署提现协议
-            contractRecord.setUserType(SysUserType.TEACHER.getCode());
-            contractRecord.setStatus(DealStatusEnum.DOING.getCode());
-            flag = withdrawSdk.signContract(user.getRealName(), user.getIdCardNo(), user.getPhone(), contractNo.toString());
-        }
-
-        if (flag) {
-            sysUserContractRecordService.save(contractRecord);
+            if (ContractTypeEnum.WITHDRAW.getCode().equals(contractTemplate.getType())) {
+                //签署提现协议
+                contractRecord.setUserType(SysUserType.TEACHER.getCode());
+                contractRecord.setStatus(DealStatusEnum.DOING.getCode());
+                flag = withdrawSdk.signContract(user.getRealName(), user.getIdCardNo(), user.getPhone(), contractNo.toString());
+            }
+            if (flag) {
+                sysUserContractRecordService.save(contractRecord);
+            }
         }
         return HttpResponseResult.succeed(true);
     }
 
-
 }