Commit b955e5d3 authored by hezhuozhi's avatar hezhuozhi

27303 一个农户只能注册一个账号,无法满足农户有多个房子时,需签订多个不同合同的需求

parent c8f77d3d
package com.yeejoin.amos.boot.module.hygf.api.dto;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.Data;
@Data
public class PeasantHouseholdPageDto extends Page<PeasantHouseholdPageDto> {
private String nhUserId;
private String peasantHouseholdNo;
}
package com.yeejoin.amos.boot.module.hygf.biz.controller;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.hygf.api.dto.MobileLoginParamDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.PeasantHouseholdDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.PeasantHouseholdPageDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.PeasantHouseholdWxDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.PeasantHousehold;
import com.yeejoin.amos.boot.module.hygf.api.service.IWxService;
......@@ -24,7 +28,6 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
......@@ -45,37 +48,29 @@ import java.util.*;
* @date 2023-07-07
*/
@RestController
@Api (tags = "农户信息Api for mobile端")
@RequestMapping (value = "/peasant-household/mobile")
@Api(tags = "农户信息Api for mobile端")
@RequestMapping(value = "/peasant-household/mobile")
@Slf4j
public class PeasantHouseholdWxController extends BaseController {
private static final String regionRedis = "app_region_redis";
@Autowired
RedisUtils redisUtil;
@Autowired
SurveyInformationServiceImpl surveyInformationServiceImpl;
@Autowired
PeasantHouseholdServiceImpl peasantHouseholdServiceImpl;
@Autowired
HouseholdContractServiceImpl householdContractServiceImpl;
@Autowired
private IWxService wxService;
@Value("${dealer.userId}")
private String defaultUserId;
@Value("${hygfProgram.loginPage:view/mine/minepage/LoginPhone}")
private String miniprogramLoginPage;
@Autowired
private AmosRequestContext requestContext;
private static final String regionRedis = "app_region_redis";
/*@TycloudOperation (ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping (value = "/authenticate", method = RequestMethod.POST)
@ApiOperation (httpMethod = "POST", value = "微信农户认证", notes = "微信农户认证")
......@@ -83,7 +78,7 @@ public class PeasantHouseholdWxController extends BaseController {
return ResponseHelper.buildResponse(peasantHouseholdServiceImpl.doAuthenticate(sequenceNbr));
}*/
@TycloudOperation (ApiLevel = UserType.AGENCY, needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation("获取验证码")
@GetMapping("/getAuthCode")
public ResponseModel<Boolean> getAuthCode(@RequestParam String phoneNo) {
......@@ -100,9 +95,9 @@ public class PeasantHouseholdWxController extends BaseController {
return ResponseHelper.buildResponse(true);
}
@TycloudOperation (ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping (value = "/login", method = RequestMethod.POST)
@ApiOperation (httpMethod = "POST", value = "微信授权登陆", notes = "微信授权登陆")
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/login", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "微信授权登陆", notes = "微信授权登陆")
public ResponseModel<PeasantHouseholdWxDto> wxUserLogin(@ApiParam @RequestBody MobileLoginParamDto mobileLoginParam) {
log.info("微信授权登录入参 => {}", mobileLoginParam);
if (StringUtils.isBlank(mobileLoginParam.getAmosUserId())) {
......@@ -113,11 +108,10 @@ public class PeasantHouseholdWxController extends BaseController {
}
@TycloudOperation (ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping (value = "/getRegisterPhone", method = RequestMethod.POST)
@ApiOperation (httpMethod = "POST", value = "获取手机号及回填信息", notes = "获取手机号及回填信息")
public ResponseModel<Map<String,Object>> getRegisterPhone(@ApiParam @RequestBody MobileLoginParamDto mobileLoginParam) {
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/getRegisterPhone", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "获取手机号及回填信息", notes = "获取手机号及回填信息")
public ResponseModel<Map<String, Object>> getRegisterPhone(@ApiParam @RequestBody MobileLoginParamDto mobileLoginParam) {
log.info("微信授权注册入参 => {}", mobileLoginParam);
if (StringUtils.isBlank(mobileLoginParam.getAmosUserId())) {
// 扫码的userId为空, 则取默认值
......@@ -126,9 +120,74 @@ public class PeasantHouseholdWxController extends BaseController {
return ResponseHelper.buildResponse(peasantHouseholdServiceImpl.getRegisterPhone(mobileLoginParam));
}
@TycloudOperation (ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping (value = "/register", method = RequestMethod.POST)
@ApiOperation (httpMethod = "POST", value = "微信农户注册", notes = "微信农户注册")
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/getJxsAndNhData", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取经销商农户信息", notes = "获取经销商农户信息")
public ResponseModel<Map<String, Object>> getJxsAndNhData(@ApiParam(value = "农户Id") @RequestParam(value = "nhUserId") String nhUserId,
@ApiParam(value = "经销商Id") @RequestParam(value = "jxsUserId") String jxsUserId,
@ApiParam(value = "二维码类型") @RequestParam(value = "qrCodeType") String qrCodeType) {
return ResponseHelper.buildResponse(peasantHouseholdServiceImpl.getJxsAndNhData(nhUserId, jxsUserId, qrCodeType));
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/getPeasantHouseByUserId", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "分页获取农户", notes = "分页获取农户信息")
public ResponseModel<IPage<PeasantHousehold>> getPeasantHouseByUserId(@RequestBody PeasantHouseholdPageDto peasantHouseholdPageDto) {
return ResponseHelper.buildResponse(peasantHouseholdServiceImpl.getPeasantHousePage(peasantHouseholdPageDto));
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/addPeasantHousehold", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增农户", notes = "新增农户")
public ResponseModel<String> addPeasantHousehold(@ApiParam @RequestBody PeasantHouseholdDto peasantHouseholdDto) {
//此处是新增农户,根据用户id查询必须要有一个农户,否则直接抛错
List<PeasantHousehold> peasantHouseList = peasantHouseholdServiceImpl.getPeasantHouseByUserId(peasantHouseholdDto.getAmosUserId());
if (CollectionUtil.isEmpty(peasantHouseList)) {
throw new BadRequest("没有查询到注册的农户,请注册后在进行新增");
}
validatedPeasantHouseholdDto(peasantHouseholdDto);
peasantHouseholdDto.setPeasantHouseholdNo(peasantHouseholdServiceImpl.getPeasantHouseholdNo(peasantHouseholdDto.getRegionalCompaniesSeq()));
peasantHouseholdDto.setIsCertified(1);// 这里就实名认证
peasantHouseholdDto.setSurveyOrNot(0);
peasantHouseholdDto.setReview(0);
JSONArray regionName = getRegionName();
List<RegionModel> list = JSONArray.parseArray(regionName.toJSONString(), RegionModel.class);
// 处理项目地址
String area = "";
if (peasantHouseholdDto.getProjectAddress() != null && peasantHouseholdDto.getProjectAddress().size() != 0) {
for (Integer reg : peasantHouseholdDto.getProjectAddress())
for (RegionModel re : list) {
if (re.getRegionCode().equals(Integer.valueOf(reg))) {
area = area + re.getRegionName() + "/";
}
}
peasantHouseholdDto.setProjectAddressName(area.length() > 2 ? area.substring(0, area.length() - 1) : area);
if ("1".equals(peasantHouseholdDto.getIsPermanent()) || "true".equals(peasantHouseholdDto.getIsPermanent())) {
peasantHouseholdDto.setPermanentAddress(peasantHouseholdDto.getProjectAddress());
peasantHouseholdDto.setPermanentAddressDetail(peasantHouseholdDto.getProjectAddressDetail());
peasantHouseholdDto.setPermanentAddressName(area.length() > 2 ? area.substring(0, area.length() - 1) : area);
} else {
// 处理常住地址
String permanent = "";
if (peasantHouseholdDto.getPermanentAddress() != null && peasantHouseholdDto.getPermanentAddress().size() != 0) {
for (Integer reg : peasantHouseholdDto.getPermanentAddress())
for (RegionModel re : list) {
if (re.getRegionCode().equals(Integer.valueOf(reg))) {
permanent = permanent + re.getRegionName() + "/";
}
}
peasantHouseholdDto.setPermanentAddressName(permanent.length() > 2 ? permanent.substring(0, permanent.length() - 1) : permanent);
}
}
}
PeasantHouseholdDto result = peasantHouseholdServiceImpl.addNewPeasantHousehold(peasantHouseholdDto);
return ResponseHelper.buildResponse("success");
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/register", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "微信农户注册", notes = "微信农户注册")
public ResponseModel<PeasantHouseholdWxDto> wxUserRegister(@ApiParam @RequestBody MobileLoginParamDto mobileLoginParam) {
PeasantHousehold peasantHousehold = new PeasantHousehold();
try {
......@@ -138,7 +197,7 @@ public class PeasantHouseholdWxController extends BaseController {
log.info("微信农户注册, 入参 => {}", mobileLoginParam);
PeasantHouseholdDto model = mobileLoginParam.getPeasantHouseholdDto();
validatedPeasantHouseholdDto(model);
BeanDtoUtils.copyPropertiesAllNonNull(peasantHousehold,model);
BeanDtoUtils.copyPropertiesAllNonNull(peasantHousehold, model);
model.setPeasantHouseholdNo(peasantHouseholdServiceImpl.getPeasantHouseholdNo(model.getRegionalCompaniesSeq()));
model.setIsCertified(1);// 这里就实名认证
model.setSurveyOrNot(0);
......@@ -173,11 +232,11 @@ public class PeasantHouseholdWxController extends BaseController {
}
}
}
BeanDtoUtils.copyPropertiesAllNonNull(model,peasantHousehold);
BeanDtoUtils.copyPropertiesAllNonNull(model, peasantHousehold);
PeasantHouseholdDto result = peasantHouseholdServiceImpl.savePeasantHousehold(model, null);
peasantHouseholdWxDto.setPeasantHousehold(peasantHousehold);
return ResponseHelper.buildResponse(peasantHouseholdWxDto);
}catch (Exception e) {
} catch (Exception e) {
log.error(e.getMessage());
if (null != peasantHousehold) {
log.error("调用平台接口回滚注册的用户 => {}", e, peasantHousehold.getAmosUserId());
......@@ -227,12 +286,12 @@ public class PeasantHouseholdWxController extends BaseController {
}
@TycloudOperation (ApiLevel = UserType.AGENCY, needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping("/getRegionQrCode")
@ApiOperation (httpMethod = "GET", value = " 获取区域经销商二维码", notes = " 获取区域经销商二维码")
@ApiOperation(httpMethod = "GET", value = " 获取区域经销商二维码", notes = " 获取区域经销商二维码")
public ResponseModel<Map<String, Object>> getRegionQrCode(
@RequestParam (value = "fileType", required = false, defaultValue = "png") String fileType,
@RequestParam (value = "width", required = false, defaultValue = "350") String width,
@RequestParam(value = "fileType", required = false, defaultValue = "png") String fileType,
@RequestParam(value = "width", required = false, defaultValue = "350") String width,
HttpServletResponse response) {
AgencyUserModel userInfo = getUserInfo();
log.info("获取区域经销商二维码, userId:{}", userInfo.getUserId());
......
......@@ -2,20 +2,18 @@ package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.hygf.api.Enum.ArrivalStateeEnum;
import com.yeejoin.amos.boot.module.hygf.api.Enum.CodeEnum;
import com.yeejoin.amos.boot.module.hygf.api.Enum.PhoneRegisterTypeEum;
import com.yeejoin.amos.boot.module.hygf.api.Enum.TaskTypeStationEnum;
import com.yeejoin.amos.boot.module.hygf.api.config.UserEmpower;
import com.yeejoin.amos.boot.module.hygf.api.dto.*;
import com.yeejoin.amos.boot.module.hygf.api.entity.*;
import com.yeejoin.amos.boot.module.hygf.api.mapper.PeasantHouseholdMapper;
......@@ -57,86 +55,64 @@ import java.util.stream.Collectors;
*/
@Service
@Slf4j
public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto,PeasantHousehold,PeasantHouseholdMapper> implements IPeasantHouseholdService {
public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto, PeasantHousehold, PeasantHouseholdMapper> implements IPeasantHouseholdService {
public static final String SECRETKEY = "qaz";
@Autowired
SurveyInformationServiceImpl surveyInformationService;
@Autowired
SurveyDetailsServiceImpl surveyDetailsService;
@Autowired
InformationServiceImpl informationService;
@Autowired
ExtendedInformationServiceImpl extendedInformationService;
@Autowired
CommercialServiceImpl commercialService;
@Autowired
PeasantHouseholdMapper peasantHouseholdMapper;
@Autowired
SurveyInformationServiceImpl surveyInformationServiceImpl;
@Autowired
HouseholdContractServiceImpl householdContractServiceImpl;
@Autowired
PersonnelBusinessMapper personnelBusinessMapper;
@Autowired
UnitInfoServiceImpl unitInfoServiceImpl;
@Autowired
AmosRequestContext requestContext;
@Autowired
ToDoTasksServiceImpl toDoTasksServiceImpl;
@Autowired
RegionalCompaniesMapper regionalCompaniesMapper;
private Long TOKEN_TIME = 1209600l;
@Value("${amos.system.user.product}")
private String product;
@Value("${amos.system.user.app-key}")
private String appKey;
@Value("${login.environment}")
private String loginEnvironment;
@Value("${farmer.orgCode}")
private String orgCode;
@Value("${farmer.sequenceNbr}")
private Long orgSequenceNbr;
@Value("${farmer.orgNamesWithoutRole:智信能源科技有限公司}")
private String orgNamesWithoutRole;
@Value("${dealer.appcode}")
private String appCodes;
@Value("${platform.access.loginId}")
private String platfromAccessLoginId;
@Value("${platform.access.password}")
private String platfromAccessPassword;
@Value("${farmer.roleId:1678211468450885633}")
private String farmerRoleId;
@Value("${farmer.registerPassword}")
private String registerPassword;
@Autowired
private RedisUtils redisUtils;
@Autowired
private IWxService wxService;
@Autowired
SurveyInformationServiceImpl surveyInformationService;
@Autowired
SurveyDetailsServiceImpl surveyDetailsService;
@Autowired
InformationServiceImpl informationService;
@Autowired
ExtendedInformationServiceImpl extendedInformationService;
@Autowired
CommercialServiceImpl commercialService;
@Autowired
PeasantHouseholdMapper peasantHouseholdMapper;
@Autowired
SurveyInformationServiceImpl surveyInformationServiceImpl;
@Autowired
HouseholdContractServiceImpl householdContractServiceImpl;
@Autowired
PersonnelBusinessMapper personnelBusinessMapper;
@Autowired
UnitInfoServiceImpl unitInfoServiceImpl;
@Autowired
AmosRequestContext requestContext;
@Autowired
ToDoTasksServiceImpl toDoTasksServiceImpl;
@Autowired
RegionalCompaniesMapper regionalCompaniesMapper;
public static final String SECRETKEY = "qaz";
@Transactional (rollbackFor = Exception.class)
@Transactional(rollbackFor = Exception.class)
public PeasantHouseholdDto savePeasantHousehold(PeasantHouseholdDto model, AgencyUserModel userInfo) {
SurveyInformationDto surveyInformationDto = new SurveyInformationDto();
surveyInformationDto.setSurveyNumber(this.getkcNo(model.getRegionalCompaniesSeq()));
......@@ -164,7 +140,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
peasantHousehold.setConstructionState(ArrivalStateeEnum.待勘察.getCode());
this.saveOrUpdate(peasantHousehold);
//生成合同
HouseholdContract householdContract=new HouseholdContract();
HouseholdContract householdContract = new HouseholdContract();
householdContract.setPartyA(peasantHousehold.getOwnersName());
householdContract.setPeasantHouseholdNumber(peasantHousehold.getPeasantHouseholdNo());
householdContract.setPeasantHouseholdCard(peasantHousehold.getIdCard());
......@@ -184,49 +160,49 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
householdContractServiceImpl.addHouseholdContract(householdContract);
//生成待办任务
ToDoTasks toDoTasks= new ToDoTasks ( TaskTypeStationEnum.电站勘察.getCode(), peasantHousehold.getSequenceNbr(), "用户"+householdContract.getPartyA()+"电站信息勘察",householdContract.getDealerCode());
toDoTasksServiceImpl.addToDoTasksByUserId(peasantHousehold.getDeveloperUserId(),toDoTasks,"");
ToDoTasks toDoTasks = new ToDoTasks(TaskTypeStationEnum.电站勘察.getCode(), peasantHousehold.getSequenceNbr(), "用户" + householdContract.getPartyA() + "电站信息勘察", householdContract.getDealerCode());
toDoTasksServiceImpl.addToDoTasksByUserId(peasantHousehold.getDeveloperUserId(), toDoTasks, "");
ToDoTasks toDoTasks1= new ToDoTasks ( TaskTypeStationEnum.合同填报.getCode(), householdContract.getSequenceNbr(), "用户"+householdContract.getPartyA()+"的合同待发起",householdContract.getDealerCode());
toDoTasksServiceImpl.addToDoTasksByUserId(peasantHousehold.getDeveloperUserId(),toDoTasks1,"");
ToDoTasks toDoTasks1 = new ToDoTasks(TaskTypeStationEnum.合同填报.getCode(), householdContract.getSequenceNbr(), "用户" + householdContract.getPartyA() + "的合同待发起", householdContract.getDealerCode());
toDoTasksServiceImpl.addToDoTasksByUserId(peasantHousehold.getDeveloperUserId(), toDoTasks1, "");
return model;
}
public boolean deletePeasantHouseholdBySequenceNbr(Long sequenceNbr){
public boolean deletePeasantHouseholdBySequenceNbr(Long sequenceNbr) {
PeasantHouseholdDto peasantHouseholdDto = this.queryBySeq(sequenceNbr);
Long surveyInformationId = peasantHouseholdDto.getSurveyInformationId();
//删除勘察基本信息
surveyInformationService.deleteBySeq(surveyInformationId);
//删除扩展信息
QueryWrapper<ExtendedInformation> extendedInformationDeleteWrapper = new QueryWrapper<>();
extendedInformationDeleteWrapper.lambda().eq(ExtendedInformation::getSurveyInformationId,surveyInformationId);
extendedInformationDeleteWrapper.lambda().eq(ExtendedInformation::getSurveyInformationId, surveyInformationId);
extendedInformationService.getBaseMapper().delete(extendedInformationDeleteWrapper);
//删除勘察明细
QueryWrapper<SurveyDetails> surveyDetailsDeleteWrapper = new QueryWrapper<>();
surveyDetailsDeleteWrapper.lambda().eq(SurveyDetails::getSurveyInformationId,surveyInformationId);
surveyDetailsDeleteWrapper.lambda().eq(SurveyDetails::getSurveyInformationId, surveyInformationId);
surveyDetailsService.getBaseMapper().delete(surveyDetailsDeleteWrapper);
//删除商务信息
QueryWrapper<Commercial> commercialDeleteWrapper = new QueryWrapper<>();
commercialDeleteWrapper.lambda().eq(Commercial::getSurveyInformationId,surveyInformationId);
commercialDeleteWrapper.lambda().eq(Commercial::getSurveyInformationId, surveyInformationId);
commercialService.getBaseMapper().delete(commercialDeleteWrapper);
//删除资料归档信息
QueryWrapper<Information> informationDeleteWrapper = new QueryWrapper<>();
informationDeleteWrapper.lambda().eq(Information::getSurveyInformationId,surveyInformationId);
informationDeleteWrapper.lambda().eq(Information::getSurveyInformationId, surveyInformationId);
informationService.getBaseMapper().delete(informationDeleteWrapper);
//删除农户信息
return this.deleteBySeq(sequenceNbr);
}
public String getkcNo(Long sequenceNbr) {
RegionalCompanies da= regionalCompaniesMapper.selectRegionName(sequenceNbr);
if(da.getCompanyCode()==null||da.getCompanyCode().isEmpty()){
RegionalCompanies da = regionalCompaniesMapper.selectRegionName(sequenceNbr);
if (da.getCompanyCode() == null || da.getCompanyCode().isEmpty()) {
throw new BadRequest("区域公司编号为空, 请设置编号");
}
if(da.getRegionalAddress()==null||da.getRegionalAddress().isEmpty()){
if (da.getRegionalAddress() == null || da.getRegionalAddress().isEmpty()) {
throw new BadRequest("区域公司省市区为空, 请设置省市区");
}
String code= NumberUtil.getCode(CodeEnum.勘察.getCode(),da.getCompanyCode(),da.getRegionalAddress());
String code = NumberUtil.getCode(CodeEnum.勘察.getCode(), da.getCompanyCode(), da.getRegionalAddress());
return code;
}
......@@ -234,12 +210,12 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
* 分页查询
*/
public Page<PeasantHousehold> queryForPeasantHouseholdPage(Page<PeasantHousehold> page,String developerCode, String ownersName,Long developerId, Integer isCertified) {
int current = (int)page.getCurrent();
int size = (int)page.getSize();
public Page<PeasantHousehold> queryForPeasantHouseholdPage(Page<PeasantHousehold> page, String developerCode, String ownersName, Long developerId, Integer isCertified) {
int current = (int) page.getCurrent();
int size = (int) page.getSize();
PageHelper.startPage(current,size);
List<PeasantHousehold> records = peasantHouseholdMapper.queryForPage( developerCode,ownersName,developerId, isCertified);
PageHelper.startPage(current, size);
List<PeasantHousehold> records = peasantHouseholdMapper.queryForPage(developerCode, ownersName, developerId, isCertified);
PageInfo<PeasantHousehold> objectPageInfo = new PageInfo<PeasantHousehold>(records);
......@@ -248,7 +224,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
item.setIsAllRevoke(peasantHouseholdMapper.selectIsAllRevoke(item.getAmosUserId()));
if(item.getSurveyOrNot() != null){
if (item.getSurveyOrNot() != null) {
if (item.getSurveyOrNot() == 0) {
item.setSurveyOrNotText("待勘察");
} else if (item.getSurveyOrNot() == 1) {
......@@ -263,11 +239,11 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
if (!StringUtils.isEmpty(item.getProjectAddressName())) {
item.setProjectAddressText(Arrays.asList(item.getProjectAddressName().split("/")));
}
if(!StringUtils.isEmpty(item.getPermanentAddressName())){
if (!StringUtils.isEmpty(item.getPermanentAddressName())) {
item.setPermanentAddressText(Arrays.asList(item.getPermanentAddressName().split("/")));
}
if(item.getProjectAddressDetail()!=null){
item.setProjectAddressName(item.getProjectAddressName()+"/"+item.getProjectAddressDetail());
if (item.getProjectAddressDetail() != null) {
item.setProjectAddressName(item.getProjectAddressName() + "/" + item.getProjectAddressDetail());
}
return item;
......@@ -285,7 +261,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
* 列表查询 示例
*/
public List<PeasantHouseholdDto> queryForPeasantHouseholdList(@Condition(Operator.eq) Integer isCertified) {
return this.queryForList("" , false, isCertified);
return this.queryForList("", false, isCertified);
}
public Boolean doAuthenticate(Long sequenceNbr) {
......@@ -301,10 +277,10 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
@Transactional(rollbackFor = Exception.class)
public PeasantHouseholdWxDto wxUserLogin(MobileLoginParamDto wxDTO) {
// 通过手机号和验证码调用平台接口进行验证
String phoneNo ;
try{
String phoneNo;
try {
phoneNo = this.parsePhoneNo(wxDTO);
}catch (Exception e){
} catch (Exception e) {
throw new RuntimeException("解析手机号失败");
}
if (phoneNo == null) {
......@@ -320,7 +296,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
//判断是否非农户 如果存在即为非农户角色
List<Map<String, Object>> maps = peasantHouseholdMapper.selectUserIsHouse(phoneNo);
if (CollectionUtil.isNotEmpty(maps)){
if (CollectionUtil.isNotEmpty(maps)) {
throw new RuntimeException("该用户非农户,请切换后登录");
}
AgencyUserModel registerUserModel = null;
......@@ -331,7 +307,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
LoginInfoModel loginInfoModel = loginInfo.getResult();
if (loginInfoModel == null || !StringUtils.isNotBlank(loginInfoModel.getLoginId())) {
// 没有认证过, 去注册用户
if (StringUtils.isEmpty(wxDTO.getAmosUserId())){
if (StringUtils.isEmpty(wxDTO.getAmosUserId())) {
throw new RuntimeException("请扫描经销商开发人员区域二维码进行注册");
}
// FeignClientResult<AgencyUserModel> registerUserModelRestult = doRegister(wxDTO);
......@@ -401,7 +377,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
}
public Map<String,Object> getRegisterPhone(MobileLoginParamDto wxDTO){
public Map<String, Object> getRegisterPhone(MobileLoginParamDto wxDTO) {
// 机器人token
RequestContext.setAppKey("AMOS_STUDIO");
RequestContext.setProduct("AMOS_STUDIO_WEB");
......@@ -409,36 +385,36 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
PeasantHouseholdDto peasantHouseholdDto = this.buildDefaultPeasantHouseholdDto(wxDTO.getAmosUserId(), wxDTO.getQrCodeType(), wxDTO.getPhoneNo());
String phoneNo = null;
Map<String, Object> resultMap = BeanUtil.beanToMap(peasantHouseholdDto);
resultMap.put("isRegister",1);
resultMap.put("isRegister", 1);
try {
phoneNo = this.parsePhoneNo(wxDTO);
}catch (Exception e){
resultMap.put("telephone","");
} catch (Exception e) {
resultMap.put("telephone", "");
return resultMap;
}
//判断是否非农户 如果存在即为非农户角色
List<Map<String, Object>> maps = peasantHouseholdMapper.selectUserIsHouse(phoneNo);
if (CollectionUtil.isNotEmpty(maps)){
if (CollectionUtil.isNotEmpty(maps)) {
throw new BadRequest("该手机号已注册");
}
if (StringUtils.isNotEmpty(phoneNo)){
resultMap.put("telephone",phoneNo);
if (StringUtils.isNotEmpty(phoneNo)) {
resultMap.put("telephone", phoneNo);
FeignClientResult<LoginInfoModel> loginInfo = Privilege.agencyUserClient.getLoginInfo(phoneNo);
List<PeasantHousehold> peasantHouseholds = this.query().eq("telephone", phoneNo).eq("is_certified","1").orderByDesc("rec_date").list();
List<PeasantHousehold> peasantHouseholds = this.query().eq("telephone", phoneNo).eq("is_certified", "1").orderByDesc("rec_date").list();
if (loginInfo != null && 200 == loginInfo.getStatus()&& null!= loginInfo.getResult()
&&(peasantHouseholds.size()>0 || CollectionUtil.isNotEmpty(peasantHouseholds))){
resultMap.put("isRegister",0);
if (loginInfo != null && 200 == loginInfo.getStatus() && null != loginInfo.getResult()
&& (peasantHouseholds.size() > 0 || CollectionUtil.isNotEmpty(peasantHouseholds))) {
resultMap.put("isRegister", 0);
}
}else {
resultMap.put("telephone","");
} else {
resultMap.put("telephone", "");
}
return resultMap;
}
public PeasantHouseholdWxDto registerAndLogin(MobileLoginParamDto wxDTO){
public PeasantHouseholdWxDto registerAndLogin(MobileLoginParamDto wxDTO) {
// 机器人token
RequestContext.setAppKey("AMOS_STUDIO");
RequestContext.setProduct("AMOS_STUDIO_WEB");
......@@ -452,7 +428,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
LoginInfoModel loginInfoModel = loginInfo.getResult();
if (loginInfoModel == null || !StringUtils.isNotBlank(loginInfoModel.getLoginId())) {
// 没有认证过, 去注册用户
if (StringUtils.isEmpty(wxDTO.getAmosUserId())){
if (StringUtils.isEmpty(wxDTO.getAmosUserId())) {
throw new RuntimeException("请扫描经销商开发人员区域二维码进行注册");
}
FeignClientResult<AgencyUserModel> registerUserModelRestult = doRegister(wxDTO);
......@@ -625,7 +601,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
log.info("通过区域/个人二维码扫描组装信息, user => {}, user's companys => {}", userInfo.getUserId(), JSONObject.toJSONString(userInfo.getCompanys()));
//获取用户所在经销商单位
UserUnitInformationDto userUnitInformationDto=personnelBusinessMapper.getUserUnitInformationDto(userInfo.getUserId());
UserUnitInformationDto userUnitInformationDto = personnelBusinessMapper.getUserUnitInformationDto(userInfo.getUserId());
// Long sequenceNbr = userInfo.getCompanys().get(0).getSequenceNbr();
// String companyOrgCode = userInfo.getCompanys().get(0).getOrgCode();
......@@ -763,14 +739,14 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
* @throws
*/
public String getPeasantHouseholdNo(Long sequenceNbr) {
RegionalCompanies da= regionalCompaniesMapper.selectRegionName(sequenceNbr);
if(da.getCompanyCode()==null||da.getCompanyCode().isEmpty()){
RegionalCompanies da = regionalCompaniesMapper.selectRegionName(sequenceNbr);
if (da.getCompanyCode() == null || da.getCompanyCode().isEmpty()) {
throw new BadRequest("区域公司编号为空, 请设置编号");
}
if(da.getRegionalAddress()==null||da.getRegionalAddress().isEmpty()){
if (da.getRegionalAddress() == null || da.getRegionalAddress().isEmpty()) {
throw new BadRequest("区域公司省市区为空, 请设置省市区");
}
String code= NumberUtil.getCode(CodeEnum.农户.getCode(),da.getCompanyCode(),da.getRegionalAddress());
String code = NumberUtil.getCode(CodeEnum.农户.getCode(), da.getCompanyCode(), da.getRegionalAddress());
return code;
}
......@@ -787,9 +763,9 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
@Override
public List<PeasantHousehold> getInfoByIds(String ids) {
QueryWrapper<PeasantHousehold> queryWrapper = new QueryWrapper<>();
queryWrapper.select("sequence_nbr ","owners_name" ,"concat(project_address_name,project_address_detail) as project_address_name");
queryWrapper.in("sequence_nbr",Arrays.asList(ids.split(",")));
queryWrapper.eq("is_delete",0);
queryWrapper.select("sequence_nbr ", "owners_name", "concat(project_address_name,project_address_detail) as project_address_name");
queryWrapper.in("sequence_nbr", Arrays.asList(ids.split(",")));
queryWrapper.eq("is_delete", 0);
List<PeasantHousehold> peasantHouseholds = this.getBaseMapper().selectList(queryWrapper);
return peasantHouseholds;
......@@ -801,14 +777,14 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
// 根据sequenceNbr获取农户勘察状态
Integer surveyOrNot = peasantHouseholdMapper.selectSurveyOrNot(sequenceNbr);
if(surveyOrNot != 0) {
if (surveyOrNot != 0) {
throw new BadRequest("该用户已勘察, 不允许删除!");
}
// 查询该条数据能否被删除, 0不能删除, 1可以删除
Integer isAllRevok = peasantHouseholdMapper.selectIsAllRevoke(userId);
if(isAllRevok != 1) {
if (isAllRevok != 1) {
throw new BadRequest("该用户有未完成的任务, 不允许删除!");
}
......@@ -830,4 +806,75 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
}
public Map<String, Object> getJxsAndNhData(String nhUserId, String jxsUserId, String qrCodeType) {
QueryWrapper<PeasantHousehold> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("amos_user_id", nhUserId);
Map<String, Object> result = new HashMap<>();
List<PeasantHousehold> peasantHouseholds = this.getBaseMapper().selectList(queryWrapper);
result.put("nh", peasantHouseholds);
result.put("jxs", buildDefaultPeasantHouseholdDto(jxsUserId, qrCodeType, null));
return result;
}
public List<PeasantHousehold> getPeasantHouseByUserId(String nhUserId) {
QueryWrapper<PeasantHousehold> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("amos_user_id", nhUserId);
return this.getBaseMapper().selectList(queryWrapper);
}
public PeasantHouseholdDto addNewPeasantHousehold(PeasantHouseholdDto model) {
SurveyInformationDto surveyInformationDto = new SurveyInformationDto();
surveyInformationDto.setSurveyNumber(this.getkcNo(model.getRegionalCompaniesSeq()));
surveyInformationServiceImpl.createWithModel(surveyInformationDto);
model.setSurveyInformationId(surveyInformationDto.getSequenceNbr());
model.setSurveyOrNot(0);
model.setReview(0);
if (model.getCreationTime() == null) {
model.setCreationTime(new Date());
}
model.setPeasantHouseholdNo(this.getPeasantHouseholdNo(model.getRegionalCompaniesSeq()));
model.setIsCertified(model.getIsCertified() == null ? 0 : model.getIsCertified());// 未认证
PeasantHousehold peasantHousehold = new PeasantHousehold();
BeanUtils.copyProperties(model, peasantHousehold);
peasantHousehold.setSequenceNbr(null);
peasantHousehold.setConstructionState(ArrivalStateeEnum.待勘察.getCode());
this.save(peasantHousehold);
//生成合同
HouseholdContract householdContract = new HouseholdContract();
householdContract.setPartyA(peasantHousehold.getOwnersName());
householdContract.setPeasantHouseholdNumber(peasantHousehold.getPeasantHouseholdNo());
householdContract.setPeasantHouseholdCard(peasantHousehold.getIdCard());
householdContract.setDealerId(peasantHousehold.getDeveloperId());
householdContract.setDealerCode(peasantHousehold.getDeveloperCode());
householdContract.setDealerName(peasantHousehold.getDeveloperName());
householdContract.setPeasantHouseholdId(peasantHousehold.getSequenceNbr());
householdContract.setRegionalCompaniesCode(peasantHousehold.getRegionalCompaniesCode());
householdContract.setRegionalCompaniesName(peasantHousehold.getRegionalCompaniesName());
householdContract.setRegionalCompaniesSeq(peasantHousehold.getRegionalCompaniesSeq());
householdContract.setPeasantHouseholdPhone(peasantHousehold.getTelephone());
householdContract.setProjectAddressDetail(peasantHousehold.getProjectAddressDetail());
householdContract.setProjectAddressName(peasantHousehold.getProjectAddressName());
householdContract.setPermanentAddressDetail(peasantHousehold.getPermanentAddressDetail());
householdContract.setPermanentAddressName(peasantHousehold.getPermanentAddressName());
householdContract.setProjectUserId(peasantHousehold.getAmosUserId());
householdContractServiceImpl.addHouseholdContract(householdContract);
//生成待办任务
ToDoTasks toDoTasks = new ToDoTasks(TaskTypeStationEnum.电站勘察.getCode(), peasantHousehold.getSequenceNbr(), "用户" + householdContract.getPartyA() + "电站信息勘察", householdContract.getDealerCode());
toDoTasksServiceImpl.addToDoTasksByUserId(peasantHousehold.getDeveloperUserId(), toDoTasks, "");
ToDoTasks toDoTasks1 = new ToDoTasks(TaskTypeStationEnum.合同填报.getCode(), householdContract.getSequenceNbr(), "用户" + householdContract.getPartyA() + "的合同待发起", householdContract.getDealerCode());
toDoTasksServiceImpl.addToDoTasksByUserId(peasantHousehold.getDeveloperUserId(), toDoTasks1, "");
return model;
}
public IPage<PeasantHousehold> getPeasantHousePage(PeasantHouseholdPageDto peasantHouseholdPageDto) {
QueryWrapper<PeasantHousehold> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("amos_user_id", peasantHouseholdPageDto.getNhUserId());
queryWrapper.like(StrUtil.isNotEmpty(peasantHouseholdPageDto.getPeasantHouseholdNo()),"peasant_household_no", "%"+peasantHouseholdPageDto.getPeasantHouseholdNo()+"%");
return this.baseMapper.selectPage(new Page<>(peasantHouseholdPageDto.getCurrent(),peasantHouseholdPageDto.getSize()),queryWrapper);
}
}
\ No newline at end of file
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