Commit f3f3d784 by 墨竹

fix:好办登陆接口修改

parent 8c6dcbf4
......@@ -36,6 +36,11 @@ public interface StaffApiService {
*/
ServiceResponse getWxSaveNew(String userId, String wxEnterpriseId);
/**
* 新增成员
* @param userId
* @param wxEnterpriseId
*/
void wxGetAdd(String userId, String wxEnterpriseId);
void staffEdit(StaffDTO staffDTO, String departmentIds);
......
......@@ -389,9 +389,9 @@ public class StaffApiServiceImpl implements StaffApiService {
String[] arr = getNationCodeAndPhoneNumber(mobile);
String nationCode = arr[0];
String phoneNumber = arr[1];
TabHaobanStaff staff = staffService.selectByPhoneNumberAndEnterpriseId(phoneNumber.trim(), wxEnterpriseId);
if (staff != null){
staffService.delOtherStaffByWxUserId(staff.getWxUserId(),staff.getStaffId(), wxEnterpriseId);
TabHaobanStaff staff = staffService.selectByUserIdAndEnterpriseId(userId, wxEnterpriseId);
if (staff != null) {
staffService.delOtherStaffByWxUserId(staff.getWxUserId(), staff.getStaffId(), wxEnterpriseId);
}
staff = (staff == null ? new TabHaobanStaff() : staff);
staff.setWxUserId(userId);
......@@ -1522,7 +1522,7 @@ public class StaffApiServiceImpl implements StaffApiService {
return staffQrCodeDTO;
}
String qr_code = user.getQr_code();
staffMapper.updateQrCodeByStaffId(staffId,qr_code);
staffMapper.updateQrCodeByStaffId(staffId, qr_code);
staffQrCodeDTO.setQrCode(qr_code);
return staffQrCodeDTO;
}
......
......@@ -121,27 +121,31 @@ public class WxEnterpriseInfoController extends WebBaseController {
if (loginStaff == null) {
return resultResponse(HaoBanErrCode.ERR_600001);
}
if (StringUtils.isNotBlank(loginStaff.getPhoneNumber())) {
DictDTO loginUserId = managerDictService.getSMSDict("app_login_phone_num", loginStaff.getPhoneNumber());
logger.info("伪登录:{},userId:{}", loginStaff.getPhoneNumber(), JSONObject.toJSONString(loginUserId));
if (null != loginUserId) {
String val = loginUserId.getDictValue();
List<StaffDTO> staffDTOS = new ArrayList<>();
List<StaffDTO> phoneDtos = staffApiService.listByPhoneNumber(val);
List<StaffDTO> userDtos = staffApiService.listByWxUserId(val);
if (CollectionUtils.isNotEmpty(phoneDtos)) {
staffDTOS.addAll(phoneDtos);
}
if (CollectionUtils.isNotEmpty(userDtos)) {
staffDTOS.addAll(userDtos);
}
if (CollectionUtils.isNotEmpty(staffDTOS)) {
if (staffDTOS.size() > 1) {
String dictName = loginUserId.getDictName();
loginStaff = staffDTOS.stream().filter(staffDTO -> dictName.indexOf(staffDTO.getWxEnterpriseId()) > 0).findFirst().orElse(loginStaff);
} else {
loginStaff = staffDTOS.get(0);
}
String phoneNumber = loginStaff.getPhoneNumber();
if (StringUtils.isBlank(phoneNumber)) {
return resultResponse(HaoBanErrCode.ERR_600002);
}
DictDTO dictDTO = managerDictService.getSMSDict("app_login_phone_num", phoneNumber);
logger.info("伪登录:{},userId:{}", phoneNumber, JSONObject.toJSONString(dictDTO));
if (null != dictDTO) {
String val = dictDTO.getDictValue();
List<StaffDTO> staffDTOS = new ArrayList<>();
List<StaffDTO> phoneDtos = staffApiService.listByPhoneNumber(val);
List<StaffDTO> userDtos = staffApiService.listByWxUserId(val);
if (CollectionUtils.isNotEmpty(phoneDtos)) {
staffDTOS.addAll(phoneDtos);
}
if (CollectionUtils.isNotEmpty(userDtos)) {
staffDTOS.addAll(userDtos);
}
if (CollectionUtils.isNotEmpty(staffDTOS)) {
if (staffDTOS.size() > 1) {
String dictName = dictDTO.getDictName();
loginStaff = staffDTOS.stream().filter(staffDTO -> dictName.indexOf(staffDTO.getWxEnterpriseId()) > 0).findFirst().orElse(loginStaff);
} else {
loginStaff = staffDTOS.get(0);
}
}
}
......@@ -151,7 +155,6 @@ public class WxEnterpriseInfoController extends WebBaseController {
staffApiService.activeStaff(staffId);
}
String wxEnterpriseId = loginStaff.getWxEnterpriseId();
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseApiService.getOne(wxEnterpriseId);
String accesstoken = qywxCorpApiService.getCorpAccessToken(wxEnterpriseDTO.getCorpid(), config.getWxSuiteid());
......@@ -160,7 +163,7 @@ public class WxEnterpriseInfoController extends WebBaseController {
wellDoneLoginInfoVo.setStaffId(staffId);
wellDoneLoginInfoVo.setWxEnterpriseId(wxEnterpriseId);
wellDoneLoginInfoVo.setStaffName(loginStaff.getStaffName());
wellDoneLoginInfoVo.setPhoneNumber(loginStaff.getPhoneNumber());
wellDoneLoginInfoVo.setPhoneNumber(phoneNumber);
wellDoneLoginInfoVo.setNationcode(loginStaff.getNationCode());
wellDoneLoginInfoVo.setWxUserId(loginStaff.getWxUserId());
wellDoneLoginInfoVo.setPrivacyUseFlag(1);
......@@ -187,6 +190,11 @@ public class WxEnterpriseInfoController extends WebBaseController {
if (staffDTO == null) {
return RestResponse.failure(String.valueOf(HaoBanErrCode.ERR_6.getCode()), HaoBanErrCode.ERR_6.getMsg());
}
String phoneNumber = staffDTO.getPhoneNumber();
if (StringUtils.isBlank(phoneNumber)) {
return RestResponse.failure(String.valueOf(HaoBanErrCode.ERR_600002.getCode()), HaoBanErrCode.ERR_600002.getMsg());
}
//登录和刷新token兼容
String headerToken = AuthRequestWellDoneUtil.getHeaderToken();
if (StringUtils.isNotBlank(headerToken)) {
......@@ -200,14 +208,14 @@ public class WxEnterpriseInfoController extends WebBaseController {
Map<String, String> map = new HashMap<>();
map.put("staffId", staffId);
map.put("wxEnterpriseId", staffDTO.getWxEnterpriseId());
map.put("phoneNumber", staffDTO.getPhoneNumber());
map.put("phoneNumber", phoneNumber);
String token = JwtUtil.genToken(map);
AuthRequestWellDoneUtil.setAppLoginUser(staffId, token);
StaffLoginDTO staffLoginDTO = new StaffLoginDTO();
BeanUtils.copyProperties(staffLoginQO, staffLoginDTO);
staffLoginDTO.setStaffIp(IPAddressUtil.getIpAddress(request));
staffDTO.setWxEnterpriseId(staffDTO.getWxEnterpriseId());
staffDTO.setPhoneNumber(staffDTO.getPhoneNumber());
staffDTO.setPhoneNumber(phoneNumber);
staffDTO.setWxUserId(staffDTO.getWxUserId());
wxEnterpriseApiService.wellDoneLogin(staffLoginDTO);
return RestResponse.successResult(token);
......
......@@ -190,7 +190,7 @@ public enum HaoBanErrCode {
ERR_500001(500001, "该企业没关联好办"),
ERR_500003(500003, "企业corpid不对应,需要重新登录传code"),
ERR_600001(600001, "成员不存在,请联系管理员后台授权通讯录权限"),
ERR_600002(600002, "无手机号"),
ERR_600002(600002, "成员无手机号,请联系管理员后台授权通讯录权限"),
ERR_600003(600003, "未获取成员openid"),
ERR_10004(10004,"成员名称不能为空"),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment