Commit 30afb6e1 authored by 刘林's avatar 刘林

fix(96333):公众号登录报错问题处理

parent ba49be21
......@@ -19,15 +19,13 @@ import com.yeejoin.amos.boot.module.elevator.api.entity.DispatchTask;
import com.yeejoin.amos.boot.module.elevator.api.entity.WechatRelation;
import com.yeejoin.amos.boot.module.elevator.api.service.IDispatchTaskService;
import com.yeejoin.amos.boot.module.elevator.api.service.IWechatService;
import com.yeejoin.amos.boot.module.elevator.biz.service.impl.AlertCalledServiceImpl;
import com.yeejoin.amos.boot.module.elevator.biz.service.impl.AlertFormValueServiceImpl;
import com.yeejoin.amos.boot.module.elevator.biz.service.impl.DispatchTaskServiceImpl;
import com.yeejoin.amos.boot.module.elevator.biz.service.impl.WechatRelationServiceImpl;
import com.yeejoin.amos.boot.module.elevator.biz.service.impl.*;
import com.yeejoin.amos.boot.module.elevator.biz.utils.HttpUtils;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.IdPasswordAuthModel;
import com.yeejoin.amos.feign.privilege.model.LoginInfoModel;
import com.yeejoin.amos.feign.privilege.util.DesUtil;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.SmsRecordModel;
......@@ -51,6 +49,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
......@@ -122,6 +121,8 @@ public class WechatController extends BaseController {
ISourceFileService sourceFileService;
private Long TOKEN_TIME = 1209600l;
@Autowired
private StartPlatformTokenService startPlatformTokenService;
/**
* 获取微信回调信息返回验证是否通过
......@@ -310,8 +311,12 @@ public class WechatController extends BaseController {
if (ValidationUtil.isEmpty(model.getOpenId()) || ValidationUtil.isEmpty(model.getPhone())
|| ValidationUtil.isEmpty(model.getCode()))
throw new BadRequest("参数校验失败.");
AgencyUserModel agencyUserModel = new AgencyUserModel();
startPlatformTokenService.getToken();
logger.info("========================请求登录接口token" + RequestContext.getToken());
FeignClientResult<LoginInfoModel> loginInfo = Privilege.agencyUserClient.getLoginInfo(model.getPhone());
String passwd = DesUtil.encode("a_" + model.getPhone(), "qaz");
if (loginInfo == null || loginInfo.getResult() == null) {
AgencyUserModel agencyUserModel = new AgencyUserModel();
agencyUserModel.setUserName(model.getPhone());
agencyUserModel.setRealName(model.getPhone());
agencyUserModel.setLockStatus("UNLOCK");
......@@ -320,6 +325,7 @@ public class WechatController extends BaseController {
agencyUserModel.setAgencyCode("tzs");
agencyUserModel.setMobile(model.getPhone());
agencyUserModel.setVerifyCode(model.getCode());
FeignClientResult<AgencyUserModel> result = Privilege.agencyUserClient.mobileRegister(agencyUserModel);
agencyUserModel = result.getResult();
if (agencyUserModel != null && StringUtils.isNotBlank(agencyUserModel.getUserId())) {
......@@ -328,19 +334,22 @@ public class WechatController extends BaseController {
} else {
throw new BadRequest("注册失败");
}
} else {
model.setUserId(loginInfo.getResult().getUserId());
wechatRelationServiceImpl.createWithModel(model);
}
WechatAccessDto dto = new WechatAccessDto();
dto.setOpenId(model.getOpenId());
dto.setTel(model.getPhone());
IdPasswordAuthModel loninData = new IdPasswordAuthModel();
loninData.setLoginId(model.getPhone());
loninData.setPassword(passwd);
FeignClientResult loginResult = Privilege.authClient.idpassword(loninData);
IdPasswordAuthModel loginData = new IdPasswordAuthModel();
loginData.setLoginId(model.getPhone());
loginData.setPassword(passwd);
FeignClientResult loginResult = Privilege.authClient.idpassword(loginData);
if (loginResult.getStatus() == 200) {
HashMap resultMap = (HashMap) loginResult.getResult();
dto.setToken(resultMap.get("token").toString());
redisUtils.set(model.getPhone() + "_token", resultMap.get("token").toString(), TOKEN_TIME);
}
return ResponseHelper.buildResponse(dto);
}
......
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