浏览代码

Merge branch 'feature/1120_contract' into test

liujc 1 年之前
父节点
当前提交
20e1414173

+ 12 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/SysUserContractRecordController.java

@@ -51,6 +51,18 @@ public class SysUserContractRecordController extends BaseController {
         return HttpResponseResult.succeed(sysUserContractRecordService.checkContractSign(user.getId(), SysUserType.TEACHER, contractType));
     }
 
+
+    @ApiOperation("判断用户是否签署协议")
+    @GetMapping(value = "/checkContractSignV2", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public HttpResponseResult<String> checkContractSignV2(@ApiParam(value = "业务类型 REGISTER 注册 COURSES 课程购买 PRODUCT 产品 WITHDRAW 结算", required = true) @RequestParam("contractType") ContractTemplateTypeEnum contractType) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+
+        return HttpResponseResult.succeed(sysUserContractRecordService.checkContractSignV2(user.getId(), SysUserType.TEACHER, contractType));
+    }
+
     @ApiOperation("查看协议-获取协议模板")
     @GetMapping(value = "/queryLatestContractTemplate")
     public HttpResponseResult<ContractTemplate> queryLatestContractTemplate(@ApiParam(value = "业务类型 REGISTER 注册 COURSES 课程购买 PRODUCT 产品 WITHDRAW 结算", required = true) @RequestParam("contractType") ContractTemplateTypeEnum contractType) {

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/SysUserContractRecordDao.java

@@ -46,5 +46,7 @@ public interface SysUserContractRecordDao extends BaseMapper<SysUserContractReco
                                 @Param("errMsg") String errMsg);
 
 
+    SysUserContractRecord checkContractSignV2(@Param("userId") Long userId, @Param("userType") String userType, @Param("contractSource") String contractSource, @Param("contractType") String contractType);
+
 }
 

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysUserContractRecord.java

@@ -43,7 +43,7 @@ public class SysUserContractRecord implements Serializable {
     private String contractNo;
 
     @TableField("status_")
-    @ApiModelProperty(value = "签署状态 DONG 签署中 SUCCESS 签署完成 FAILED 签署失败")
+    @ApiModelProperty(value = "签署状态 NOT_SIGN 未签署  DONG 签署中 SUCCESS 签署完成 FAILED 签署失败")
     private String status;
 
     @TableField("err_msg_")

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SysUserContractRecordService.java

@@ -48,5 +48,7 @@ public interface SysUserContractRecordService extends IService<SysUserContractRe
     SysUserContractRecord queryLatestContract(Long userId, SysUserType userType, ContractTemplateTypeEnum contractType);
 
     HttpResponseResult<Boolean> sign(ContractTemplateTypeEnum contractType, SysUserType userType, SysUser user);
+
+    String checkContractSignV2(Long userId, SysUserType sysUserType, ContractTemplateTypeEnum contractType);
 }
 

+ 2 - 11
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java

@@ -22,19 +22,11 @@ import com.yonge.cooleshow.biz.dal.enums.ImGroupMemberRoleType;
 import com.yonge.cooleshow.biz.dal.enums.ImGroupType;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.mapper.SysUserMapper;
-import com.yonge.cooleshow.biz.dal.mapper.TenantGroupMapper;
-import com.yonge.cooleshow.biz.dal.service.ImGroupService;
 import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumMapper;
 import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumRefMapper;
+import com.yonge.cooleshow.biz.dal.mapper.TenantGroupMapper;
 import com.yonge.cooleshow.biz.dal.service.*;
-import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
-import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
-import com.yonge.cooleshow.biz.dal.service.StudentService;
-import com.yonge.cooleshow.biz.dal.service.StudentTotalService;
 import com.yonge.cooleshow.biz.dal.service.im.ImGroupCoreService;
-import com.yonge.cooleshow.biz.dal.service.SysConfigService;
-import com.yonge.cooleshow.biz.dal.service.TenantInfoService;
-import com.yonge.cooleshow.biz.dal.service.UserTenantAlbumRecordService;
 import com.yonge.cooleshow.biz.dal.vo.MyFollow;
 import com.yonge.cooleshow.biz.dal.vo.StudentHomeVo;
 import com.yonge.cooleshow.biz.dal.vo.StudentVo;
@@ -58,7 +50,6 @@ import org.redisson.api.RMap;
 import org.redisson.api.RedissonClient;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.parameters.P;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -379,7 +370,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
                 // 自动注册创建用户
                 com.yonge.cooleshow.biz.dal.entity.SysUser user = new com.yonge.cooleshow.biz.dal.entity.SysUser();
                 user.setUsername(info.getUsername());
-                user.setAvatar("https://daya.ks3-cn-beijing.ksyun.com/202203/T1WgJaE.png");
+                user.setAvatar("https://oss.dayaedu.com/daya/202203/T1WgJaE.png");
                 user.setPhone(info.getMobile());
                 user.setLockFlag(0);
                 user.setGender(info.getGender());

+ 10 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysUserContractRecordServiceImpl.java

@@ -109,5 +109,15 @@ public class SysUserContractRecordServiceImpl extends ServiceImpl<SysUserContrac
         return HttpResponseResult.succeed(true);
     }
 
+    @Override
+    public String checkContractSignV2(Long userId, SysUserType sysUserType, ContractTemplateTypeEnum contractType) {
+        SysUserContractRecord sysUserContractRecord = getDao().checkContractSignV2(userId, sysUserType.getCode(), contractType.getSource().getCode(), contractType.getCode());
+        if (sysUserContractRecord == null || sysUserContractRecord.getStatus().equals("FAILED")) {
+            return "NOT_SIGN";
+        }
+        return sysUserContractRecord.getStatus();
+
+    }
+
 }
 

+ 17 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/SysUserContractRecordMapper.xml

@@ -106,4 +106,21 @@
         left join sys_user_contract_record t on b.id_ = t.contract_id_ and t.status_ in ('SUCCESS','DONG ')
         where t.user_id_ = #{userId} and t.user_type_ = #{userType}
     </select>
+
+    <select id="checkContractSignV2" resultType="com.yonge.cooleshow.biz.dal.entity.SysUserContractRecord">
+        select
+            <include refid="baseColumns"/>
+        from (
+        select
+        source_,type_,MAX(version_) as version_
+        from contract_template
+        where status_ = 1 and source_ = #{contractSource} and type_ = #{contractType}
+        group by source_,type_
+        ) a
+        left join contract_template b on a.source_ = b.source_ and a.type_ = b.type_ and a.version_ = b.version_
+        left join sys_user_contract_record t on b.id_ = t.contract_id_
+        where t.user_id_ = #{userId} and t.user_type_ = #{userType}
+        order by  t.id_ desc
+        limit 1
+    </select>
 </mapper>