|
|
@@ -39,6 +39,7 @@ import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.time.LocalDate;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @author : 姜永辉
|
|
|
@@ -181,15 +182,27 @@ public class StaffService extends BaseService<Staff> {
|
|
|
ErrorCodeEnum.USER_REGISTER_ERROR.getMessage());
|
|
|
} else {
|
|
|
Map<String, Object> mp = (Map<String, Object>) resultMaxnum.getData();
|
|
|
- int intMaxnum = Integer.parseInt(mp.get("maxStaffNum") + "");
|
|
|
+ int intWebMaxnum = Integer.parseInt(mp.get("web_max_num") + "");
|
|
|
+ int intWxMaxnum = Integer.parseInt(mp.get("wx_max_num") + "");
|
|
|
staffQuery = new StaffQuery();
|
|
|
staffQuery.setFlgCanLogin(true);
|
|
|
staffQuery.setCpId(cpId);
|
|
|
List<StaffResponse> staffResponsesFlgCanLogin = staffMapper.selectByCond(staffQuery);
|
|
|
- if (staffResponsesFlgCanLogin != null && staffResponsesFlgCanLogin.size() > 0 && intMaxnum < staffResponsesFlgCanLogin.size() + 1) {
|
|
|
- // 无用户
|
|
|
- throw new BaseBusinessException(ErrorCodeEnum.USER_MAX_STAFF_ERROR.getCode(),
|
|
|
- ErrorCodeEnum.USER_MAX_STAFF_ERROR.getMessage());
|
|
|
+ if (staffResponsesFlgCanLogin != null && staffResponsesFlgCanLogin.size() > 0 ) {
|
|
|
+ List<StaffResponse> collectPc = staffResponsesFlgCanLogin.stream().filter(it -> it.getLoginType() == 1 || it.getLoginType() == 3).collect(Collectors.toList());
|
|
|
+ List<StaffResponse> collectWx = staffResponsesFlgCanLogin.stream().filter(it -> it.getLoginType() == 2 || it.getLoginType() == 3).collect(Collectors.toList());
|
|
|
+ if ((staffVO.getLoginType() == 1 || staffVO.getLoginType() == 3 ) &&
|
|
|
+ collectPc != null && collectPc.size() > 0 && intWebMaxnum < collectPc.size() + 1) {
|
|
|
+ // 无用户
|
|
|
+ throw new BaseBusinessException(ErrorCodeEnum.USER_MAX_PC_STAFF_ERROR.getCode(),
|
|
|
+ ErrorCodeEnum.USER_MAX_PC_STAFF_ERROR.getMessage());
|
|
|
+ }
|
|
|
+ if ((staffVO.getLoginType() == 2 || staffVO.getLoginType() == 3 ) &&
|
|
|
+ collectWx != null && collectWx.size() > 0 && intWxMaxnum < collectWx.size() + 1) {
|
|
|
+ // 无用户
|
|
|
+ throw new BaseBusinessException(ErrorCodeEnum.USER_MAX_WX_STAFF_ERROR.getCode(),
|
|
|
+ ErrorCodeEnum.USER_MAX_WX_STAFF_ERROR.getMessage());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -527,43 +540,64 @@ public class StaffService extends BaseService<Staff> {
|
|
|
throw new BaseBusinessException(ErrorCodeEnum.USER_REGISTER_ERROR.getCode(),
|
|
|
ErrorCodeEnum.USER_REGISTER_ERROR.getMessage());
|
|
|
} else {
|
|
|
- Map<String, Object> mp = (Map<String, Object>) resultMaxnum.getData();
|
|
|
- int intMaxnum = Integer.parseInt(mp.get("maxStaffNum") + "");
|
|
|
- StaffQuery staffQuery = new StaffQuery();
|
|
|
- staffQuery.setFlgCanLogin(true);
|
|
|
- staffQuery.setCpId(cpId);
|
|
|
- List<StaffResponse> staffResponsesFlgCanLogin = staffMapper.selectByCond(staffQuery);
|
|
|
- if (staffResponsesFlgCanLogin != null && staffResponsesFlgCanLogin.size() > 0 && intMaxnum < staffResponsesFlgCanLogin.size()) {
|
|
|
- // 无用户
|
|
|
- throw new BaseBusinessException(ErrorCodeEnum.USER_MAX_STAFF_ERROR.getCode(),
|
|
|
- ErrorCodeEnum.USER_MAX_STAFF_ERROR.getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
- if (staffResponseOld.getFlgCanLogin() != staffVO.getFlgCanLogin()) {
|
|
|
- // 增加一个可以cur_staff_num
|
|
|
- Map<String, Object> m = new HashMap<>();
|
|
|
- m.put("curStaffNum", 1);
|
|
|
- m.put("cpId", cpId);
|
|
|
- ResponseResultVO<Boolean> booleanResponseResultVO = companyFeign.updateCompanyCurStaffNum(m);
|
|
|
- if (booleanResponseResultVO.getCode() != ResponseCodeEnum.SUCCESS.getCode()) {
|
|
|
- // 无用户
|
|
|
- throw new BaseBusinessException(ErrorCodeEnum.USER_REGISTER_ERROR.getCode(),
|
|
|
- ErrorCodeEnum.USER_REGISTER_ERROR.getMessage());
|
|
|
+ if (staffResponseOld.getFlgCanLogin() != staffVO.getFlgCanLogin()) {
|
|
|
+ Map<String, Object> mp = (Map<String, Object>) resultMaxnum.getData();
|
|
|
+ int intWebMaxnum = Integer.parseInt(mp.get("web_max_num") + "");
|
|
|
+ int intWxMaxnum = Integer.parseInt(mp.get("wx_max_num") + "");
|
|
|
+ StaffQuery staffQuery = new StaffQuery();
|
|
|
+ staffQuery.setFlgCanLogin(true);
|
|
|
+ staffQuery.setCpId(cpId);
|
|
|
+ List<StaffResponse> staffResponsesFlgCanLogin = staffMapper.selectByCond(staffQuery);
|
|
|
+ if (staffResponsesFlgCanLogin != null && staffResponsesFlgCanLogin.size() > 0 ) {
|
|
|
+ List<StaffResponse> collectPc = staffResponsesFlgCanLogin.stream().filter(it -> it.getLoginType() == 1 || it.getLoginType() == 3).collect(Collectors.toList());
|
|
|
+ List<StaffResponse> collectWx = staffResponsesFlgCanLogin.stream().filter(it -> it.getLoginType() == 2 || it.getLoginType() == 3).collect(Collectors.toList());
|
|
|
+ if (collectPc != null && collectPc.size() > 0 && intWebMaxnum < collectPc.size()) {
|
|
|
+ // 无用户
|
|
|
+ throw new BaseBusinessException(ErrorCodeEnum.USER_MAX_PC_STAFF_ERROR.getCode(),
|
|
|
+ ErrorCodeEnum.USER_MAX_PC_STAFF_ERROR.getMessage());
|
|
|
+ }
|
|
|
+ if (collectWx != null && collectWx.size() > 0 && intWxMaxnum < collectWx.size()) {
|
|
|
+ // 无用户
|
|
|
+ throw new BaseBusinessException(ErrorCodeEnum.USER_MAX_WX_STAFF_ERROR.getCode(),
|
|
|
+ ErrorCodeEnum.USER_MAX_WX_STAFF_ERROR.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
+// if (staffResponsesFlgCanLogin != null && staffResponsesFlgCanLogin.size() > 0 && intMaxnum < staffResponsesFlgCanLogin.size()) {
|
|
|
+// // 无用户
|
|
|
+// throw new BaseBusinessException(ErrorCodeEnum.USER_MAX_STAFF_ERROR.getCode(),
|
|
|
+// ErrorCodeEnum.USER_MAX_STAFF_ERROR.getMessage());
|
|
|
+// }
|
|
|
+
|
|
|
}
|
|
|
+// if (staffResponseOld.getFlgCanLogin() != staffVO.getFlgCanLogin()) {
|
|
|
+// // 增加一个可以cur_staff_num
|
|
|
+// Map<String, Object> m = new HashMap<>();
|
|
|
+// m.put("curStaffNum", 1);
|
|
|
+// m.put("cpId", cpId);
|
|
|
+// ResponseResultVO<Boolean> booleanResponseResultVO = companyFeign.updateCompanyCurStaffNum(m);
|
|
|
+// if (booleanResponseResultVO.getCode() != ResponseCodeEnum.SUCCESS.getCode()) {
|
|
|
+// // 无用户
|
|
|
+// throw new BaseBusinessException(ErrorCodeEnum.USER_REGISTER_ERROR.getCode(),
|
|
|
+// ErrorCodeEnum.USER_REGISTER_ERROR.getMessage());
|
|
|
+// }
|
|
|
+// }
|
|
|
} else {
|
|
|
- if (staffResponseOld.getFlgCanLogin() != staffVO.getFlgCanLogin()) {
|
|
|
- // 减少一个可以cur_staff_num
|
|
|
- Map<String, Object> m = new HashMap<>();
|
|
|
- m.put("curStaffNum", -1);
|
|
|
- m.put("cpId", cpId);
|
|
|
- ResponseResultVO<Boolean> booleanResponseResultVO = companyFeign.updateCompanyCurStaffNum(m);
|
|
|
- if (booleanResponseResultVO.getCode() != ResponseCodeEnum.SUCCESS.getCode()) {
|
|
|
- // 无用户
|
|
|
- throw new BaseBusinessException(ErrorCodeEnum.USER_REGISTER_ERROR.getCode(),
|
|
|
- ErrorCodeEnum.USER_REGISTER_ERROR.getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
+// 2024-05-20 edit
|
|
|
+// if (staffResponseOld.getFlgCanLogin() != staffVO.getFlgCanLogin()) {
|
|
|
+// // 减少一个可以cur_staff_num
|
|
|
+// Map<String, Object> m = new HashMap<>();
|
|
|
+// m.put("curStaffNum", -1);
|
|
|
+// m.put("cpId", cpId);
|
|
|
+// ResponseResultVO<Boolean> booleanResponseResultVO = companyFeign.updateCompanyCurStaffNum(m);
|
|
|
+// if (booleanResponseResultVO.getCode() != ResponseCodeEnum.SUCCESS.getCode()) {
|
|
|
+// // 无用户
|
|
|
+// throw new BaseBusinessException(ErrorCodeEnum.USER_REGISTER_ERROR.getCode(),
|
|
|
+// ErrorCodeEnum.USER_REGISTER_ERROR.getMessage());
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
return ResponseResultUtil.success();
|
|
|
}
|