Commit 82536e02 authored by tangwei's avatar tangwei

解决冲突

parents 506afed7 30c76030
...@@ -3,6 +3,8 @@ package com.yeejoin.amos.boot.module.hygf.api.dto; ...@@ -3,6 +3,8 @@ package com.yeejoin.amos.boot.module.hygf.api.dto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.Valid;
/** /**
* *
* @author Provence * @author Provence
...@@ -61,5 +63,5 @@ public class MobileLoginParamDto { ...@@ -61,5 +63,5 @@ public class MobileLoginParamDto {
private String verifyCode; private String verifyCode;
@ApiModelProperty("农户信息") @ApiModelProperty("农户信息")
private PeasantHouseholdDto peasantHouseholdDto; private @Valid PeasantHouseholdDto peasantHouseholdDto;
} }
...@@ -9,6 +9,9 @@ import lombok.Data; ...@@ -9,6 +9,9 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -39,13 +42,16 @@ public class PeasantHouseholdDto extends BaseDto { ...@@ -39,13 +42,16 @@ public class PeasantHouseholdDto extends BaseDto {
private String telephone; private String telephone;
@ApiModelProperty(value = "开发方名称") @ApiModelProperty(value = "开发方名称")
@NotBlank(message = "开发方名称不能为空")
private String developerName; private String developerName;
@ApiModelProperty(value = "开发方code") @ApiModelProperty(value = "开发方code")
@NotBlank(message = "开发方code不能为空")
private String developerCode; private String developerCode;
@ApiModelProperty(value = "开发方平台id") @ApiModelProperty(value = "开发方平台id")
@NotNull(message = "开发方平台id不能为空")
private Long developerId; private Long developerId;
@ApiModelProperty(value = "定金") @ApiModelProperty(value = "定金")
...@@ -90,7 +96,9 @@ public class PeasantHouseholdDto extends BaseDto { ...@@ -90,7 +96,9 @@ public class PeasantHouseholdDto extends BaseDto {
@ApiModelProperty(value = "常住详细地址") @ApiModelProperty(value = "常住详细地址")
private String permanentAddressDetail; private String permanentAddressDetail;
@ApiModelProperty(value = "开发人") @ApiModelProperty(value = "开发人")
@NotBlank(message = "开发人不能为空")
private String developer; private String developer;
@ApiModelProperty(value = "常住地址") @ApiModelProperty(value = "常住地址")
...@@ -108,20 +116,25 @@ public class PeasantHouseholdDto extends BaseDto { ...@@ -108,20 +116,25 @@ public class PeasantHouseholdDto extends BaseDto {
private List<String> permanentAddressText; private List<String> permanentAddressText;
@ApiModelProperty(value = "区域公司id") @ApiModelProperty(value = "区域公司id")
@NotNull(message = "区域公司id不能为空")
private Long regionalCompaniesSeq; private Long regionalCompaniesSeq;
@ApiModelProperty(value = "区域公司code") @ApiModelProperty(value = "区域公司code")
@NotBlank(message = "区域公司code不能为空")
private String regionalCompaniesCode; private String regionalCompaniesCode;
@ApiModelProperty(value = "区域公司名称") @ApiModelProperty(value = "区域公司名称")
@NotBlank(message = "区域公司名称不能为空")
private String regionalCompaniesName; private String regionalCompaniesName;
@ApiModelProperty(value = "身份证正面") @ApiModelProperty(value = "身份证正面")
@TableField(typeHandler = FastjsonTypeHandler.class) @TableField(typeHandler = FastjsonTypeHandler.class)
@NotEmpty(message = "身份证正面不能为空")
private List<Object> idCardFront; private List<Object> idCardFront;
@ApiModelProperty(value = "身份证反面") @ApiModelProperty(value = "身份证反面")
@TableField(typeHandler = FastjsonTypeHandler.class) @TableField(typeHandler = FastjsonTypeHandler.class)
@NotEmpty(message = "身份证反面不能为空")
private List<Object> idCardOpposite; private List<Object> idCardOpposite;
@ApiModelProperty(value = "微信唯一id") @ApiModelProperty(value = "微信唯一id")
......
...@@ -11,6 +11,8 @@ import com.yeejoin.amos.boot.module.hygf.biz.service.impl.HouseholdContractServi ...@@ -11,6 +11,8 @@ import com.yeejoin.amos.boot.module.hygf.biz.service.impl.HouseholdContractServi
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.PeasantHouseholdServiceImpl; import com.yeejoin.amos.boot.module.hygf.biz.service.impl.PeasantHouseholdServiceImpl;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.SurveyInformationServiceImpl; import com.yeejoin.amos.boot.module.hygf.biz.service.impl.SurveyInformationServiceImpl;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.RegionModel; import com.yeejoin.amos.feign.systemctl.model.RegionModel;
...@@ -19,16 +21,17 @@ import io.swagger.annotations.Api; ...@@ -19,16 +21,17 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
...@@ -41,6 +44,7 @@ import java.util.Collection; ...@@ -41,6 +44,7 @@ import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.CompletableFuture;
/** /**
* 农户信息 * 农户信息
...@@ -75,6 +79,9 @@ public class PeasantHouseholdWxController extends BaseController { ...@@ -75,6 +79,9 @@ public class PeasantHouseholdWxController extends BaseController {
@Value("${hygfProgram.loginPage:view/mine/minepage/LoginPhone}") @Value("${hygfProgram.loginPage:view/mine/minepage/LoginPhone}")
private String miniprogramLoginPage; private String miniprogramLoginPage;
@Autowired
private AmosRequestContext requestContext;
private static final String regionRedis = "app_region_redis"; private static final String regionRedis = "app_region_redis";
/*@TycloudOperation (ApiLevel = UserType.AGENCY, needAuth = false) /*@TycloudOperation (ApiLevel = UserType.AGENCY, needAuth = false)
...@@ -105,11 +112,11 @@ public class PeasantHouseholdWxController extends BaseController { ...@@ -105,11 +112,11 @@ public class PeasantHouseholdWxController extends BaseController {
@RequestMapping (value = "/login", method = RequestMethod.POST) @RequestMapping (value = "/login", method = RequestMethod.POST)
@ApiOperation (httpMethod = "POST", value = "微信授权登陆", notes = "微信授权登陆") @ApiOperation (httpMethod = "POST", value = "微信授权登陆", notes = "微信授权登陆")
public ResponseModel<PeasantHouseholdWxDto> wxUserLogin(@ApiParam @RequestBody MobileLoginParamDto mobileLoginParam) { public ResponseModel<PeasantHouseholdWxDto> wxUserLogin(@ApiParam @RequestBody MobileLoginParamDto mobileLoginParam) {
log.info("微信授权登录入参 => {}", mobileLoginParam);
if (StringUtils.isBlank(mobileLoginParam.getAmosUserId())) { if (StringUtils.isBlank(mobileLoginParam.getAmosUserId())) {
// 扫码的userId为空, 则取默认值 // 扫码的userId为空, 则取默认值
mobileLoginParam.setAmosUserId(defaultUserId); mobileLoginParam.setAmosUserId(defaultUserId);
} }
//peasantHouseholdServiceImpl.setPlatFormAccess();
return ResponseHelper.buildResponse(peasantHouseholdServiceImpl.wxUserLogin(mobileLoginParam)); return ResponseHelper.buildResponse(peasantHouseholdServiceImpl.wxUserLogin(mobileLoginParam));
} }
...@@ -117,12 +124,22 @@ public class PeasantHouseholdWxController extends BaseController { ...@@ -117,12 +124,22 @@ public class PeasantHouseholdWxController extends BaseController {
@RequestMapping (value = "/register", method = RequestMethod.POST) @RequestMapping (value = "/register", method = RequestMethod.POST)
@ApiOperation (httpMethod = "POST", value = "微信农户注册", notes = "微信农户注册") @ApiOperation (httpMethod = "POST", value = "微信农户注册", notes = "微信农户注册")
public ResponseModel<PeasantHouseholdDto> wxUserRegister(@ApiParam @RequestBody MobileLoginParamDto mobileLoginParam) { public ResponseModel<PeasantHouseholdDto> wxUserRegister(@ApiParam @RequestBody MobileLoginParamDto mobileLoginParam) {
// log.info("微信农户注册, 入参 => {}", JSONObject.toJSONString(mobileLoginParam)); log.info("微信农户注册, 入参 => {}", mobileLoginParam);
if (null == mobileLoginParam.getPeasantHouseholdDto()) {
throw new BadRequest("农户信息不能为空");
}
PeasantHouseholdDto model = mobileLoginParam.getPeasantHouseholdDto(); PeasantHouseholdDto model = mobileLoginParam.getPeasantHouseholdDto();
validatedPeasantHouseholdDto(model);
AgencyUserModel userInfo = getUserInfo(); AgencyUserModel userInfo = getUserInfo();
// 更新平台农户的真实姓名
CompletableFuture.supplyAsync(() -> {
// 机器人token
RequestContext.setAppKey("AMOS_STUDIO");
RequestContext.setProduct("AMOS_STUDIO_WEB");
RequestContext.setToken(requestContext.getToken());
userInfo.setRealName(model.getOwnersName());
Privilege.agencyUserClient.update(userInfo, userInfo.getUserId());
return null;
});
model.setAmosUserId(userInfo.getUserId());// 绑定平台userId model.setAmosUserId(userInfo.getUserId());// 绑定平台userId
model.setPeasantHouseholdNo(peasantHouseholdServiceImpl.getPeasantHouseholdNo()); model.setPeasantHouseholdNo(peasantHouseholdServiceImpl.getPeasantHouseholdNo());
model.setIsCertified(1);// 这里就实名认证 model.setIsCertified(1);// 这里就实名认证
...@@ -158,7 +175,8 @@ public class PeasantHouseholdWxController extends BaseController { ...@@ -158,7 +175,8 @@ public class PeasantHouseholdWxController extends BaseController {
} }
} }
} }
return ResponseHelper.buildResponse(peasantHouseholdServiceImpl.savePeasantHousehold(model)); PeasantHouseholdDto result = peasantHouseholdServiceImpl.savePeasantHousehold(model);
return ResponseHelper.buildResponse(result);
} }
public JSONArray getRegionName() { public JSONArray getRegionName() {
...@@ -219,17 +237,34 @@ public class PeasantHouseholdWxController extends BaseController { ...@@ -219,17 +237,34 @@ public class PeasantHouseholdWxController extends BaseController {
} }
@GetMapping("/getPersonalQrCode") private void validatedPeasantHouseholdDto(PeasantHouseholdDto model) {
@ApiOperation (httpMethod = "GET", value = " 获取个人经销商二维码", notes = " 获取个人经销商二维码") if (null == model) {
public void getPersonalQrCode( throw new BadRequest("农户信息不能为空");
@RequestParam (value = "fileType", required = false, defaultValue = "png") String fileType, }
@RequestParam (value = "width", required = false, defaultValue = "350") String width, if (StringUtils.isBlank(model.getOwnersName())) {
HttpServletResponse response) { throw new BadRequest("姓名不能为空");
AgencyUserModel userInfo = getUserInfo(); }
String accessToken = wxService.getAccessToken(); if (StringUtils.isBlank(model.getDeveloper())) {
String page = "view/mine/minepage/Login" + "?amosUserId=" + userInfo.getUserId() + "&qrCodeType=personal"; throw new BadRequest("开发人不能为空");
wxService.getSmallProQrCodeResponse(accessToken, null, page, Long.valueOf(width), null, null, null, response, }
page, fileType); if (StringUtils.isBlank(model.getDeveloperCode())) {
throw new BadRequest("开发方code不能为空");
}
if (StringUtils.isBlank(model.getDeveloperName())) {
throw new BadRequest("开发方名称不能为空");
}
if (null == model.getDeveloperId()) {
throw new BadRequest("开发方平台id不能为空");
}
if (null == model.getRegionalCompaniesSeq()) {
throw new BadRequest("区域公司id不能为空");
}
if (StringUtils.isBlank(model.getRegionalCompaniesCode())) {
throw new BadRequest("区域公司code不能为空");
}
if (StringUtils.isBlank(model.getRegionalCompaniesName())) {
throw new BadRequest("区域公司名称不能为空");
}
} }
} }
...@@ -69,6 +69,7 @@ import java.util.HashMap; ...@@ -69,6 +69,7 @@ import java.util.HashMap;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -163,8 +164,17 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -163,8 +164,17 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
model.setPeasantHouseholdNo(this.getPeasantHouseholdNo()); model.setPeasantHouseholdNo(this.getPeasantHouseholdNo());
model.setIsCertified(model.getIsCertified() == null ? 0 : model.getIsCertified());// 未认证 model.setIsCertified(model.getIsCertified() == null ? 0 : model.getIsCertified());// 未认证
if (model.getSequenceNbr() == null) {
List<PeasantHousehold> peasantHouseholds = this.query().eq("telephone", model.getTelephone()).orderByDesc("rec_date").list();
PeasantHousehold phd = peasantHouseholds.size() > 0 ? peasantHouseholds.get(0) : null;
if (phd != null) {
model.setSequenceNbr(phd.getSequenceNbr());
}
}
PeasantHouseholdDto peasantHousehold= this.createWithModel(model); PeasantHousehold peasantHousehold = new PeasantHousehold();
BeanUtils.copyProperties(model, peasantHousehold);
this.saveOrUpdate(peasantHousehold);
//生成合同 //生成合同
HouseholdContract householdContract=new HouseholdContract(); HouseholdContract householdContract=new HouseholdContract();
householdContract.setPartyA(peasantHousehold.getOwnersName()); householdContract.setPartyA(peasantHousehold.getOwnersName());
...@@ -185,7 +195,8 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -185,7 +195,8 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
householdContract.setProjectUserId(peasantHousehold.getAmosUserId()); householdContract.setProjectUserId(peasantHousehold.getAmosUserId());
householdContractServiceImpl.addHouseholdContract(householdContract); householdContractServiceImpl.addHouseholdContract(householdContract);
return peasantHousehold;
return model;
} }
public boolean deletePeasantHouseholdBySequenceNbr(Long sequenceNbr){ public boolean deletePeasantHouseholdBySequenceNbr(Long sequenceNbr){
...@@ -220,17 +231,17 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -220,17 +231,17 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
Page<PeasantHouseholdDto> peasantHouseholdDtoPage = this.queryForPage(page, "rec_date", false,developerCode,ownersName,developerId); Page<PeasantHouseholdDto> peasantHouseholdDtoPage = this.queryForPage(page, "rec_date", false,developerCode,ownersName,developerId);
List<PeasantHouseholdDto> records = peasantHouseholdDtoPage.getRecords(); List<PeasantHouseholdDto> records = peasantHouseholdDtoPage.getRecords();
List<PeasantHouseholdDto> newRecords = records.stream().map(item -> { List<PeasantHouseholdDto> newRecords = records.stream().map(item -> {
if(item.getSurveyOrNot() != null){ if(item.getSurveyOrNot() != null){
if (item.getSurveyOrNot() == 0) { if (item.getSurveyOrNot() == 0) {
item.setSurveyOrNotText("待勘察"); item.setSurveyOrNotText("待勘察");
} else if (item.getSurveyOrNot() == 1) { } else if (item.getSurveyOrNot() == 1) {
item.setSurveyOrNotText("已勘察"); item.setSurveyOrNotText("已勘察");
} else if (item.getSurveyOrNot() == 2) { } else if (item.getSurveyOrNot() == 2) {
item.setSurveyOrNotText("审核中"); item.setSurveyOrNotText("审核中");
} else if (item.getSurveyOrNot() == 3) { } else if (item.getSurveyOrNot() == 3) {
item.setSurveyOrNotText("审核完成"); item.setSurveyOrNotText("审核完成");
} }
} }
if (!StringUtils.isEmpty(item.getProjectAddressName())) { if (!StringUtils.isEmpty(item.getProjectAddressName())) {
item.setProjectAddressText(Arrays.asList(item.getProjectAddressName().split("/"))); item.setProjectAddressText(Arrays.asList(item.getProjectAddressName().split("/")));
...@@ -263,6 +274,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -263,6 +274,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
return this.updateById(peasantHousehold); return this.updateById(peasantHousehold);
} }
@Transactional(rollbackFor = Exception.class)
public PeasantHouseholdWxDto wxUserLogin(MobileLoginParamDto wxDTO) { public PeasantHouseholdWxDto wxUserLogin(MobileLoginParamDto wxDTO) {
// 通过手机号和验证码调用平台接口进行验证 // 通过手机号和验证码调用平台接口进行验证
String phoneNo = this.parsePhoneNo(wxDTO); String phoneNo = this.parsePhoneNo(wxDTO);
...@@ -271,7 +283,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -271,7 +283,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
} }
log.info("用户手机号码 => {} 开始登录", phoneNo); log.info("用户手机号码 => {} 开始登录", phoneNo);
wxDTO.setPhoneNo(phoneNo); wxDTO.setPhoneNo(phoneNo);
// // 机器人token
RequestContext.setAppKey("AMOS_STUDIO"); RequestContext.setAppKey("AMOS_STUDIO");
RequestContext.setProduct("AMOS_STUDIO_WEB"); RequestContext.setProduct("AMOS_STUDIO_WEB");
RequestContext.setToken(requestContext.getToken()); RequestContext.setToken(requestContext.getToken());
...@@ -294,10 +306,9 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -294,10 +306,9 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
} }
// 登录 // 登录
PeasantHouseholdWxDto loginResult = doLogin(wxDTO, registerUserModel); PeasantHouseholdWxDto loginResult = doLogin(wxDTO, registerUserModel);
// 判断是否注册过 // 查询农户信息
List<PeasantHousehold> peasantHouseholds = this.query().eq("telephone", phoneNo).orderByDesc("rec_date").list(); List<PeasantHousehold> peasantHouseholds = this.query().eq("telephone", phoneNo).orderByDesc("rec_date").list();
PeasantHousehold peasantHousehold = peasantHouseholds.size() > 0 ? peasantHouseholds.get(0) : null; PeasantHousehold peasantHousehold = peasantHouseholds.size() > 0 ? peasantHouseholds.get(0) : null;
// 没有注册过农户信息
if (null == peasantHousehold) { if (null == peasantHousehold) {
peasantHousehold = new PeasantHousehold(); peasantHousehold = new PeasantHousehold();
peasantHousehold.setIsCertified(0); peasantHousehold.setIsCertified(0);
...@@ -305,16 +316,18 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -305,16 +316,18 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
peasantHousehold.setReview(0); peasantHousehold.setReview(0);
peasantHousehold.setTelephone(phoneNo); peasantHousehold.setTelephone(phoneNo);
PeasantHouseholdDto peasantHouseholdDto = buildDefaultPeasantHouseholdDto(wxDTO.getAmosUserId(), wxDTO.getQrCodeType(), phoneNo); PeasantHouseholdDto peasantHouseholdDto = buildDefaultPeasantHouseholdDto(wxDTO.getAmosUserId(), wxDTO.getQrCodeType(), phoneNo);
peasantHousehold.setDeveloperCode(peasantHouseholdDto.getDeveloperCode());// 开发方code peasantHousehold.setDeveloperCode(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getDeveloperCode).orElse(""));// 开发方code
peasantHousehold.setDeveloperId(peasantHouseholdDto.getDeveloperId());// 开发方id peasantHousehold.setDeveloperId(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getDeveloperId).orElse(null));// 开发方id
peasantHousehold.setDeveloperName(peasantHouseholdDto.getDeveloperName());// 开发方名称 peasantHousehold.setDeveloperName(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getDeveloperName).orElse(""));// 开发方名称
peasantHousehold.setDeveloper(peasantHouseholdDto.getDeveloper());// 开发人 peasantHousehold.setDeveloper(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getDeveloper).orElse(""));// 开发人
peasantHousehold.setRegionalCompaniesSeq(peasantHouseholdDto.getRegionalCompaniesSeq()); peasantHousehold.setRegionalCompaniesSeq(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getRegionalCompaniesSeq).orElse(null));
peasantHousehold.setRegionalCompaniesCode(peasantHouseholdDto.getRegionalCompaniesCode()); peasantHousehold.setRegionalCompaniesCode(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getRegionalCompaniesCode).orElse(""));
peasantHousehold.setRegionalCompaniesName(peasantHouseholdDto.getRegionalCompaniesName()); peasantHousehold.setRegionalCompaniesName(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getRegionalCompaniesName).orElse(""));
peasantHousehold.setIsCertified(0);
// 过滤传给前端的数据 // 过滤传给前端的数据
this.save(peasantHousehold);
} }
log.info("返回给前端数据, 手机号码 => {}, 农户信息 => {}", phoneNo, peasantHousehold); log.debug("返回给前端数据, 手机号码 => {}, 农户信息 => {}", phoneNo, peasantHousehold);
// 装载农户信息 // 装载农户信息
loginResult.setPeasantHousehold(peasantHousehold); loginResult.setPeasantHousehold(peasantHousehold);
return loginResult; return loginResult;
...@@ -357,6 +370,9 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -357,6 +370,9 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
agencyUserModel.setRealName(mobileLoginParamDto.getPhoneNo()); agencyUserModel.setRealName(mobileLoginParamDto.getPhoneNo());
agencyUserModel.setPassword(custPassword); agencyUserModel.setPassword(custPassword);
agencyUserModel.setRePassword(custPassword); agencyUserModel.setRePassword(custPassword);
// model中有个openId, 传手机号,verifyCode值为手机号加密
agencyUserModel.setOpenId(mobileLoginParamDto.getPhoneNo());
agencyUserModel.setVerifyCode(com.yeejoin.precontrol.common.utils.DesUtil.encode(mobileLoginParamDto.getPhoneNo(), SECRETKEY));
agencyUserModel.setLockStatus("UNLOCK"); agencyUserModel.setLockStatus("UNLOCK");
agencyUserModel.setAgencyCode("JXIOP"); agencyUserModel.setAgencyCode("JXIOP");
agencyUserModel.setMobile(mobileLoginParamDto.getPhoneNo()); agencyUserModel.setMobile(mobileLoginParamDto.getPhoneNo());
...@@ -365,16 +381,6 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -365,16 +381,6 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
agencyUserModel.setOrgRoleSeqs(roleSeqMap); agencyUserModel.setOrgRoleSeqs(roleSeqMap);
log.debug("注册用户入参, agencyUserModel => {}", agencyUserModel); log.debug("注册用户入参, agencyUserModel => {}", agencyUserModel);
FeignClientResult<AgencyUserModel> agencyUserResult = Privilege.agencyUserClient.create(agencyUserModel); FeignClientResult<AgencyUserModel> agencyUserResult = Privilege.agencyUserClient.create(agencyUserModel);
try {
FeignClientResult<LoginInfoModel> wechatResult = Privilege.agencyUserClient.createWechatLoginInfo(agencyUserResult.getResult());
log.info("wechatResult:{}", wechatResult);
} catch (Exception e) {
e.printStackTrace();
}
/* agencyUserModel.setOpenId("openid");
agencyUserModel.setVerifyCode(com.yeejoin.precontrol.common.utils.DesUtil.encode(mobileLoginParamDto.getPhoneNo(), SECRETKEY));
FeignClientResult<AgencyUserModel> wechatResult = Privilege.agencyUserClient.wechatRegister(agencyUserModel);*/
return agencyUserResult; return agencyUserResult;
} }
...@@ -401,13 +407,9 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -401,13 +407,9 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
// 授权登录 // 授权登录
VerifyCodeAuthModel verifyCodeAuthModel = new VerifyCodeAuthModel(); VerifyCodeAuthModel verifyCodeAuthModel = new VerifyCodeAuthModel();
verifyCodeAuthModel.setLoginId(phoneNo); verifyCodeAuthModel.setLoginId(phoneNo);
verifyCodeAuthModel.setVerifyCode(com.yeejoin.precontrol.common.utils.DesUtil.encode(phoneNo, SECRETKEY));// 手机号码 + 密码 verifyCodeAuthModel.setVerifyCode(com.yeejoin.precontrol.common.utils.DesUtil.encode(phoneNo, SECRETKEY));// 手机号码 + 密码
log.info("微信登录入参 => {}", verifyCodeAuthModel); log.info("微信登录入参 => {}", verifyCodeAuthModel);
loginResult = Privilege.authClient.Wechat(verifyCodeAuthModel); loginResult = Privilege.authClient.Wechat(verifyCodeAuthModel);
/* IdPasswordAuthModel authModel = new IdPasswordAuthModel();
authModel.setLoginId(phoneNo);
authModel.setPassword(com.yeejoin.precontrol.common.utils.DesUtil.encode(registerPassword, SECRETKEY));
loginResult = Privilege.authClient.idpassword(authModel);*/
} else { } else {
// 验证码 // 验证码
VerifyCodeAuthModel model = new VerifyCodeAuthModel(); VerifyCodeAuthModel model = new VerifyCodeAuthModel();
...@@ -418,7 +420,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -418,7 +420,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
if (loginResult == null || loginResult.getStatus() != 200) { if (loginResult == null || loginResult.getStatus() != 200) {
log.error("远程调用Privilege服务失败: " + loginResult.getDevMessage()); log.error("远程调用Privilege服务失败: " + loginResult.getDevMessage());
String message = StringUtils.isEmpty(loginResult.getMessage()) ? "账号或密码错误" : loginResult.getMessage(); String message = StringUtils.isEmpty(loginResult.getMessage()) ? "账号或密码错误" : loginResult.getMessage();
throw new BadRequest(message); throw new RuntimeException(message);
} }
HashMap resultMap = (HashMap) loginResult.getResult(); HashMap resultMap = (HashMap) loginResult.getResult();
String token = resultMap.get("token").toString(); String token = resultMap.get("token").toString();
...@@ -430,41 +432,12 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -430,41 +432,12 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
peasantHouseholdWxDto.setExpire(Long.valueOf((String) resultMap.get("expire"))); peasantHouseholdWxDto.setExpire(Long.valueOf((String) resultMap.get("expire")));
peasantHouseholdWxDto.setUserId(userId); peasantHouseholdWxDto.setUserId(userId);
// 判断用户是否刚刚注册过 // 判断用户是否刚刚注册过
AgencyUserModel userModel;
/*if (registerUserModel != null) {
// 使用注册接口返回的用户信息
userModel = registerUserModel;
} else {
// 查询用户信息
FeignClientResult<AgencyUserModel> getme = Privilege.agencyUserClient.queryByUserId(userId);
*//*FeignClientResult<AgencyUserModel> getme = Privilege.agencyUserClient.getme();*//*
if (null == getme || getme.getStatus() != 200) {
throw new BadRequest("获取用户信息失败");
}
userModel = (AgencyUserModel) getme.getResult();
}*/
FeignClientResult<AgencyUserModel> getme = Privilege.agencyUserClient.queryByUserId(userId);
if (null == getme || getme.getStatus() != 200) {
throw new BadRequest("获取用户信息失败");
}
userModel = (AgencyUserModel) getme.getResult();
// 组装userInfo数据
Map<String, Object> userInfo = new HashMap<>();
userInfo.put("realName", userModel.getRealName());
userInfo.put("mobile", userModel.getMobile());
userInfo.put("orgNames", userModel.getOrgNames());
userInfo.put("orgNamesWithoutRole", userModel.getOrgNamesWithoutRole());
// userInfo.put("phoneNo", phoneNo);
// userInfo.put("companyId", userModel.getCompanys().get(0).getCompanyOrgCode());
//
// userInfo.put("userModel", userModel);
peasantHouseholdWxDto.setUserInfo(userInfo);
// 组装authInfo数据 // 组装authInfo数据
Map<String, Object> authInfo = new HashMap<>(); Map<String, Object> authInfo = new HashMap<>();
authInfo.put("token", resultMap.get("token")); authInfo.put("token", resultMap.get("token"));
authInfo.put("personId", resultMap.get("userId")); authInfo.put("personId", resultMap.get("userId"));
authInfo.put("appKey", "STUDIO_APP_MOBILE"); /*authInfo.put("appKey", "STUDIO_APP_MOBILE");
authInfo.put("product", "studio_normalapp_5133538"); authInfo.put("product", "studio_normalapp_5133538");*/
peasantHouseholdWxDto.setAuthInfo(authInfo); peasantHouseholdWxDto.setAuthInfo(authInfo);
return peasantHouseholdWxDto; return peasantHouseholdWxDto;
...@@ -480,11 +453,9 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -480,11 +453,9 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
* @throws * @throws
*/ */
public PeasantHouseholdDto buildDefaultPeasantHouseholdDto(String qrCodeType, AgencyUserModel userInfo) { public PeasantHouseholdDto buildDefaultPeasantHouseholdDto(String qrCodeType, AgencyUserModel userInfo) {
if (null == userInfo) { if (null == userInfo || CollectionUtils.isEmpty(userInfo.getCompanys())) {
throw new BadRequest("查询不到平台用户信息"); log.warn("userId:{} 查询不到经销商信息 或者 查询不到经销商单位信息");
} return null;
if (CollectionUtils.isEmpty(userInfo.getCompanys())) {
throw new BadRequest("查询不到经销商单位信息");
} }
log.info("通过区域/个人二维码扫描组装信息, user => {}, user's companys => {}", userInfo.getUserId(), JSONObject.toJSONString(userInfo.getCompanys())); log.info("通过区域/个人二维码扫描组装信息, user => {}, user's companys => {}", userInfo.getUserId(), JSONObject.toJSONString(userInfo.getCompanys()));
Long sequenceNbr = userInfo.getCompanys().get(0).getSequenceNbr(); Long sequenceNbr = userInfo.getCompanys().get(0).getSequenceNbr();
...@@ -492,15 +463,6 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -492,15 +463,6 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
String companyName = userInfo.getCompanys().get(0).getCompanyName(); String companyName = userInfo.getCompanys().get(0).getCompanyName();
// unitInfoServiceImpl.createCompanyAndUser 创建经销商的时候绑定的平台用户 // unitInfoServiceImpl.createCompanyAndUser 创建经销商的时候绑定的平台用户
List<UnitInfo> unitInfos = unitInfoServiceImpl.list(new LambdaQueryWrapper<UnitInfo>().eq(UnitInfo::getAmosCompanySeq, sequenceNbr)); List<UnitInfo> unitInfos = unitInfoServiceImpl.list(new LambdaQueryWrapper<UnitInfo>().eq(UnitInfo::getAmosCompanySeq, sequenceNbr));
UnitInfo unitInfo;
if (CollectionUtils.isEmpty(unitInfos)) {
log.warn("userId:{} 查询不到经销商信息", userInfo.getUserId());
throw new BadRequest("查询不到经销商信息");
}
unitInfo = unitInfos.get(0);
Long regionalCompaniesSeq = unitInfo.getRegionalCompaniesSeq();
String regionalCompaniesCode = unitInfo.getRegionalCompaniesCode();
String regionalCompaniesName = unitInfo.getRegionalCompaniesName();
PeasantHouseholdDto dto = new PeasantHouseholdDto(); PeasantHouseholdDto dto = new PeasantHouseholdDto();
// 先在后台创建一个角色和公司,微信农户新建的用户使用统一的 // 先在后台创建一个角色和公司,微信农户新建的用户使用统一的
// 用户光伏-微信农户 // 用户光伏-微信农户
...@@ -509,22 +471,42 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto ...@@ -509,22 +471,42 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
dto.setDeveloperId(sequenceNbr);// 开发方id dto.setDeveloperId(sequenceNbr);// 开发方id
dto.setDeveloperName(companyName);// 开发方名称 dto.setDeveloperName(companyName);// 开发方名称
dto.setDeveloper(userInfo.getRealName());// 开发人 dto.setDeveloper(userInfo.getRealName());// 开发人
dto.setRegionalCompaniesSeq(regionalCompaniesSeq); UnitInfo unitInfo;
dto.setRegionalCompaniesCode(regionalCompaniesCode); if (!CollectionUtils.isEmpty(unitInfos)) {
dto.setRegionalCompaniesName(regionalCompaniesName); log.warn("userId:{} 查询不到经销商信息", userInfo.getUserId());
unitInfo = unitInfos.get(0);
Long regionalCompaniesSeq = unitInfo.getRegionalCompaniesSeq();
String regionalCompaniesCode = unitInfo.getRegionalCompaniesCode();
String regionalCompaniesName = unitInfo.getRegionalCompaniesName();
dto.setRegionalCompaniesSeq(regionalCompaniesSeq);//所属区域公司id
dto.setRegionalCompaniesCode(regionalCompaniesCode);//所属区域公司code
dto.setRegionalCompaniesName(regionalCompaniesName);//所属区域公司名称
}
return dto; return dto;
} }
/**
* 农户通过扫描区域二维码进入注册,查询区域经销商的信息并
*
*
* @param userId userId
* @param qrCodeType qrCodeType
* @param phoneNo phoneNo
* @return {@link PeasantHouseholdDto}
* @author Provence
* @throws
*/
private PeasantHouseholdDto buildDefaultPeasantHouseholdDto(String userId, String qrCodeType, String phoneNo) { private PeasantHouseholdDto buildDefaultPeasantHouseholdDto(String userId, String qrCodeType, String phoneNo) {
// 获取区域 // 获取区域
if (StringUtils.isBlank(userId)) {
throw new BadRequest("区域二维码userId不能为空");
}
FeignClientResult<AgencyUserModel> userInfoResult = Privilege.agencyUserClient.queryByUserId(userId);// 获取用户 FeignClientResult<AgencyUserModel> userInfoResult = Privilege.agencyUserClient.queryByUserId(userId);// 获取用户
if (userInfoResult != null && userInfoResult.getStatus() != 200) { if (userInfoResult == null || userInfoResult.getStatus() != 200) {
throw new BadRequest("无效的userId"); return null;
} }
AgencyUserModel userInfo = userInfoResult.getResult(); AgencyUserModel userInfo = userInfoResult.getResult();
PeasantHouseholdDto dto = buildDefaultPeasantHouseholdDto(qrCodeType, userInfo); return buildDefaultPeasantHouseholdDto(qrCodeType, userInfo);
dto.setTelephone(phoneNo);
return dto;
} }
/** /**
......
...@@ -249,12 +249,13 @@ public class WxServiceImpl implements IWxService { ...@@ -249,12 +249,13 @@ public class WxServiceImpl implements IWxService {
@Override @Override
public JSONObject getCode2Session(String code) { public JSONObject getCode2Session(String code) {
String url = buildOpenIdUrl(appId, secret, code); String url = buildOpenIdUrl(appId, secret, code);
log.info("微信 code2Session, code =>{}, 请求 => {}", code, url);
String resultStr = HttpUtil.sendHttpGet(url); String resultStr = HttpUtil.sendHttpGet(url);
// resultStr => {"session_key":"Mj5xbDhcZU73DtUduI1xKg==","openid":"oRraY5aYJkxkDJiG4rBaaw4MSmPA"} // resultStr => {"session_key":"Mj5xbDhcZU73DtUduI1xKg==","openid":"oRraY5aYJkxkDJiG4rBaaw4MSmPA"}
log.info("微信 Code2Session, code =>{}, 结果 => {}", code, resultStr); log.info("微信 code2Session, code =>{}, 结果 => {}", code, resultStr);
JSONObject jsonObject = JSONObject.parseObject(resultStr); JSONObject jsonObject = JSONObject.parseObject(resultStr);
if (jsonObject == null || jsonObject.getIntValue("errcode") != 0) { if (jsonObject == null || jsonObject.getIntValue("errcode") != 0) {
throw new BadRequest("微信授权失败, 请重新授权"); throw new RuntimeException("微信授权失败, 请重新授权");
} }
return jsonObject; return jsonObject;
} }
......
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