浏览代码

fix: 小程序增加个人名片-已发起签约/认证的不能修改姓名/身份证号

lixuesong 1 年之前
父节点
当前提交
b710af5124

+ 4 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/dto/UserBusinessCardDTO.java

@@ -41,6 +41,10 @@ public class UserBusinessCardDTO implements Serializable {
 	 */
 	private String[] qualificationsUrl;
 
+	/**
+	 * 姓名
+	 */
+	private String realname;
 	/**
 	 * 身份证号
 	 */

+ 10 - 6
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -4292,13 +4292,17 @@ public class ApiController {
 	@PostMapping("/save-personal-business-card")
 	public R<?> savePersonalBusinessCard(@RequestBody @Validated UserBusinessCardDTO resource) {
 
-		SysUser queryUser = sysUserService.getById(resource.getUserId());
-
 		SysUser updateUser = new SysUser();
 		updateUser.setUserId(resource.getUserId());
 		updateUser.setGender(resource.getGender());
-		if (StrUtil.isBlank(queryUser.getIdCardNumber())) {
-			// 没有身份证号才可以录入, 否则不能修改
+
+		// 已签约/认证 或 已发起的不能修改姓名/身份证号
+		int toCertCount = sysUserSubService.count(Wrappers.<SysUserSub>lambdaQuery()
+				.eq(SysUserSub::getUserId, resource.getUserId())
+				.notIn(SysUserSub::getCertStatus, 0, 10));
+
+		if (toCertCount <= 0) {
+			updateUser.setRealname(resource.getRealname());
 			updateUser.setIdCardNumber(resource.getIdCardNumber());
 		}
 		updateUser.setDegree(resource.getDegree());
@@ -4355,9 +4359,9 @@ public class ApiController {
 		cardVO.setFinishTaskCount(finishTaskCount);
 		cardVO.setApprovedTaskCount(approvedTaskCount);
 		if (finishTaskCount > 0) {
-			cardVO.setApprovedTaskRate(String.format("%.0f%%", approvedTaskCount * 100.00 / finishTaskCount));
+			cardVO.setApprovedTaskRate(String.format("%.2f%%", approvedTaskCount * 100.00 / finishTaskCount));
 		} else {
-			cardVO.setApprovedTaskRate("0%");
+			cardVO.setApprovedTaskRate("0.00%");
 		}
 
 		// 专业技能