|
@@ -28,6 +28,7 @@ import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.GigCallBackStatus;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.GigChannelEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.GigTypeEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.LangChaoCertStatus;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.LockEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.MemberIDCardType;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.MemberType;
|
|
@@ -290,63 +291,58 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
if (userSub == null) {
|
|
|
return R.failed("用户sub数据不存在");
|
|
|
}
|
|
|
- // 判断是否已签约/增员
|
|
|
- if (userSignCertDTO.getSubjectLocation().getGigType().equals(GigTypeEnum.TAX_HELPOR)) {
|
|
|
- if (userSub.getCertStatus() > TaxHelperCertStatus.UN_CERT.getCode()) {
|
|
|
- return R.ok();
|
|
|
- }
|
|
|
- } else if (userSignCertDTO.getSubjectLocation().getGigType().equals(GigTypeEnum.OLADING)) {
|
|
|
- if (OladingCertStatus.SIGNED.getCode().equals(String.valueOf(userSub.getCertStatus()))
|
|
|
- || OladingCertStatus.SIGNING.getCode().equals(String.valueOf(userSub.getCertStatus()))
|
|
|
- || OladingCertStatus.CERT.getCode().equals(String.valueOf(userSub.getCertStatus()))) {
|
|
|
- return R.ok(MapUtil.builder("certStatus", OladingCertStatus.resolve(String.valueOf(userSub.getCertStatus()))).build());
|
|
|
- }
|
|
|
- } else if (userSignCertDTO.getSubjectLocation().getGigType().equals(GigTypeEnum.ZHENG_QI_ZHI_XING)) {
|
|
|
- if (userSub.getCertStatus() > ZhengQiZhiXingCertStatus.UN_SIGN.getCode()) {
|
|
|
- return R.ok();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 查询dept
|
|
|
- SysDept dept = sysDeptService.getById(sysUser.getDeptId());
|
|
|
-
|
|
|
- // 发起签约/增员
|
|
|
- Map<String, Object> params = new HashMap<>();
|
|
|
- params.put("enterpriseCode", dept.getTaxCode());
|
|
|
- params.put("subjectLocation", userSub.getSubjectLocation().name());
|
|
|
- params.put("subjectChannel", userSub.getGigChannel().name());
|
|
|
- params.put("realName", sysUser.getRealname());
|
|
|
- params.put("phone", sysUser.getUsername());
|
|
|
- params.put("bankPhone", userSub.getBankPhone());
|
|
|
- params.put("bankCard", userSub.getBankCardNumber());
|
|
|
- params.put("idCard", sysUser.getIdCardNumber());
|
|
|
- params.put("endType", "CSO");
|
|
|
- params.put("email", "service@yaoyi.net");
|
|
|
- params.put("address", "北京市房山区");
|
|
|
-
|
|
|
- log.info("签约/增员,req={}", JSONUtil.toJsonStr(params));
|
|
|
- String postResult = HttpUtil.post(upmsConfig.getGigServiceUrl() + GIG_CERT_ACTION_SIGN_UP, JSONUtil.toJsonStr(params));
|
|
|
- log.info("签约/增员,resp={}", postResult);
|
|
|
|
|
|
+ String postResult = null;
|
|
|
String message = "增员/签约失败";
|
|
|
Integer certStatus = null;
|
|
|
boolean successFlag = false;
|
|
|
String requestId = null;
|
|
|
- if (JSONUtil.isJsonObj(postResult)) {
|
|
|
- JSONObject jsonResult = JSONUtil.parseObj(postResult);
|
|
|
- if (jsonResult.getInt("code") == 0) {
|
|
|
- JSONObject data = jsonResult.getJSONObject("data");
|
|
|
- message = data.getStr("message");
|
|
|
|
|
|
- // 根据不同渠道 处理不同的返回结果
|
|
|
- switch (userSignCertDTO.getSubjectLocation().getGigType()) {
|
|
|
- case TAX_HELPOR:
|
|
|
+ // 根据不同渠道处理
|
|
|
+ switch (userSignCertDTO.getSubjectLocation().getGigType()) {
|
|
|
+ case TAX_HELPOR:
|
|
|
+ // 税邦云
|
|
|
+ if (userSub.getCertStatus() > TaxHelperCertStatus.UN_CERT.getCode()) {
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ postResult = this.toSignCommonRequest(sysUser, userSub);
|
|
|
+
|
|
|
+ if (JSONUtil.isJsonObj(postResult)) {
|
|
|
+ JSONObject jsonResult = JSONUtil.parseObj(postResult);
|
|
|
+ if (jsonResult.getInt("code") == 0) {
|
|
|
+ JSONObject data = jsonResult.getJSONObject("data");
|
|
|
+ message = data.getStr("message");
|
|
|
+
|
|
|
if ("2000".equals(data.getStr("code"))) {
|
|
|
successFlag = true;
|
|
|
certStatus = TaxHelperCertStatus.ADD_MEMBER.getCode();
|
|
|
}
|
|
|
- break;
|
|
|
- case OLADING:
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 修改userSub状态
|
|
|
+ this.updateUserCertStatus(userSub.getId(), message, certStatus, requestId);
|
|
|
+
|
|
|
+ if (successFlag) {
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ case OLADING:
|
|
|
+ // 自由职家
|
|
|
+ if (OladingCertStatus.SIGNED.getCode().equals(String.valueOf(userSub.getCertStatus()))
|
|
|
+ || OladingCertStatus.SIGNING.getCode().equals(String.valueOf(userSub.getCertStatus()))
|
|
|
+ || OladingCertStatus.CERT.getCode().equals(String.valueOf(userSub.getCertStatus()))) {
|
|
|
+ return R.ok(MapUtil.builder("certStatus", OladingCertStatus.resolve(String.valueOf(userSub.getCertStatus()))).build());
|
|
|
+ }
|
|
|
+
|
|
|
+ postResult = this.toSignCommonRequest(sysUser, userSub);
|
|
|
+
|
|
|
+ if (JSONUtil.isJsonObj(postResult)) {
|
|
|
+ JSONObject jsonResult = JSONUtil.parseObj(postResult);
|
|
|
+ if (jsonResult.getInt("code") == 0) {
|
|
|
+ JSONObject data = jsonResult.getJSONObject("data");
|
|
|
+ message = data.getStr("message");
|
|
|
+
|
|
|
if ("0".equals(data.getStr("code"))) {
|
|
|
successFlag = true;
|
|
|
certStatus = Integer.parseInt(OladingCertStatus.SIGNING.getCode());
|
|
@@ -355,36 +351,110 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
successFlag = true;
|
|
|
certStatus = Integer.parseInt(OladingCertStatus.SIGNING.getCode());
|
|
|
}
|
|
|
- break;
|
|
|
- case ZHENG_QI_ZHI_XING:
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.updateUserCertStatus(userSub.getId(), message, certStatus, requestId);
|
|
|
+
|
|
|
+ if (successFlag) {
|
|
|
+ if (userSignCertDTO.getSubjectLocation().getGigType().equals(GigTypeEnum.OLADING)) {
|
|
|
+ // 阿拉钉返回具体认证状态,区分签约中、已签约的情况
|
|
|
+ return R.ok(MapUtil.builder("certStatus", OladingCertStatus.resolve(String.valueOf(certStatus))).build());
|
|
|
+ }
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ break;
|
|
|
+ case ZHENG_QI_ZHI_XING:
|
|
|
+ // 正启之星
|
|
|
+ if (userSub.getCertStatus() > ZhengQiZhiXingCertStatus.UN_SIGN.getCode()) {
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ postResult = this.toSignCommonRequest(sysUser, userSub);
|
|
|
+
|
|
|
+ if (JSONUtil.isJsonObj(postResult)) {
|
|
|
+ JSONObject jsonResult = JSONUtil.parseObj(postResult);
|
|
|
+ if (jsonResult.getInt("code") == 0) {
|
|
|
+ JSONObject data = jsonResult.getJSONObject("data");
|
|
|
+ message = data.getStr("message");
|
|
|
+
|
|
|
if ("200".equals(data.getStr("code"))) {
|
|
|
successFlag = true;
|
|
|
certStatus = ZhengQiZhiXingCertStatus.SIGN.getCode();
|
|
|
}
|
|
|
- break;
|
|
|
- default:
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
+
|
|
|
+ this.updateUserCertStatus(userSub.getId(), message, certStatus, requestId);
|
|
|
+
|
|
|
+ if (successFlag) {
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case LANG_CHAO:
|
|
|
+ // 浪潮
|
|
|
+ if (userSub.getCertStatus() > LangChaoCertStatus.UN_SIGN.getCode()) {
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ this.updateUserCertStatus(userSub.getId(), "内部状态对其", LangChaoCertStatus.SIGN.getCode(), null);
|
|
|
+ return R.ok();
|
|
|
+ default:
|
|
|
+ message = "不支持该税源地操作";
|
|
|
}
|
|
|
|
|
|
+ return R.failed(message);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 更新认证状态
|
|
|
+ *
|
|
|
+ * @param userSubId
|
|
|
+ * @param message
|
|
|
+ * @param certStatus
|
|
|
+ * @param requestId
|
|
|
+ */
|
|
|
+ private void updateUserCertStatus(Integer userSubId, String message, Integer certStatus, String requestId) {
|
|
|
// 修改userSub状态
|
|
|
SysUserSub updateUserSub = new SysUserSub();
|
|
|
- updateUserSub.setId(userSub.getId());
|
|
|
+ updateUserSub.setId(userSubId);
|
|
|
updateUserSub.setCertStatus(certStatus);
|
|
|
updateUserSub.setCertRemark("签约/增员:" + message);
|
|
|
updateUserSub.setRequestId(requestId);
|
|
|
updateUserSub.setUpdateUser(SecurityUtils.getUser().getId());
|
|
|
updateUserSub.setUpdateTime(LocalDateTime.now());
|
|
|
sysUserSubService.updateById(updateUserSub);
|
|
|
+ }
|
|
|
|
|
|
- if (successFlag) {
|
|
|
- if (userSignCertDTO.getSubjectLocation().getGigType().equals(GigTypeEnum.OLADING)) {
|
|
|
- // 阿拉钉返回具体认证状态,区分签约中、已签约的情况
|
|
|
- return R.ok(MapUtil.builder("certStatus", OladingCertStatus.resolve(String.valueOf(certStatus))).build());
|
|
|
- }
|
|
|
- return R.ok();
|
|
|
- }
|
|
|
- return R.failed(message);
|
|
|
+ /**
|
|
|
+ * 发起签约request
|
|
|
+ *
|
|
|
+ * @param sysUser
|
|
|
+ * @param userSub
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private String toSignCommonRequest(SysUser sysUser, SysUserSub userSub) {
|
|
|
+ // 查询dept
|
|
|
+ SysDept dept = sysDeptService.getById(sysUser.getDeptId());
|
|
|
+
|
|
|
+ // 发起签约/增员
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ params.put("enterpriseCode", dept.getTaxCode());
|
|
|
+ params.put("subjectLocation", userSub.getSubjectLocation().name());
|
|
|
+ params.put("subjectChannel", userSub.getGigChannel().name());
|
|
|
+ params.put("realName", sysUser.getRealname());
|
|
|
+ params.put("phone", sysUser.getUsername());
|
|
|
+ params.put("bankPhone", userSub.getBankPhone());
|
|
|
+ params.put("bankCard", userSub.getBankCardNumber());
|
|
|
+ params.put("idCard", sysUser.getIdCardNumber());
|
|
|
+ params.put("endType", "CSO");
|
|
|
+ params.put("email", "service@yaoyi.net");
|
|
|
+ params.put("address", "北京市房山区");
|
|
|
+
|
|
|
+ log.info("签约/增员,req={}", JSONUtil.toJsonStr(params));
|
|
|
+ String postResult = HttpUtil.post(upmsConfig.getGigServiceUrl() + GIG_CERT_ACTION_SIGN_UP, JSONUtil.toJsonStr(params));
|
|
|
+ log.info("签约/增员,resp={}", postResult);
|
|
|
+ return postResult;
|
|
|
}
|
|
|
|
|
|
/**
|