|
@@ -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);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
}
|
|
|
|