Commit 8e45ec03 authored by Lambertliu's avatar Lambertliu

fix(jg):历史设备生成CertificateNo错误处理

parent 4f99b509
...@@ -323,4 +323,16 @@ public class JgUseRegistrationManageController extends BaseController { ...@@ -323,4 +323,16 @@ public class JgUseRegistrationManageController extends BaseController {
return ResponseHelper.buildResponse("Redis初始化完成!"); return ResponseHelper.buildResponse("Redis初始化完成!");
} }
/**
* 根据sequenceNbr查询---大屏使用
*
* @param applyNo 申请单号
* @return s
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/handleErrorDeviceCode")
@ApiOperation(httpMethod = "GET", value = "根据applyNo查询证管理表", notes = "根据applyNo查询证管理表")
public ResponseModel<Object> handleErrorDeviceCode(@RequestParam(value = "applyNo") String applyNo) {
return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.handleErrorDeviceCode(applyNo));
}
} }
...@@ -2166,12 +2166,23 @@ public class CommonServiceImpl implements ICommonService { ...@@ -2166,12 +2166,23 @@ public class CommonServiceImpl implements ICommonService {
} catch (ParseException e) { } catch (ParseException e) {
log.error("日期转换失败:", e); log.error("日期转换失败:", e);
} }
String equCode = Optional.ofNullable(equType.get("equCategoryCode")).orElse(equType.get("equDefineCode")); ResponseModel<String> responseModel = null;
String registrationCode = equCode + receiveCompanyCode + ym; if (isValidCreditCode(receiveCompanyCode)) {
ResponseModel<String> responseModel = tzsServiceFeignClient.deviceRegistrationCode(registrationCode); String equCode = Optional.ofNullable(equType.get("equDefineCode")).orElse(equType.get("equCategoryCode"));
String registrationCode = equCode + receiveCompanyCode + ym;
responseModel = tzsServiceFeignClient.deviceRegistrationCode(registrationCode);
}
return responseModel.getResult(); return responseModel.getResult();
} }
// 校验信用代码是否符合要求
public static boolean isValidCreditCode(String creditCode) {
// 检查是否是数字
if (!creditCode.matches("\\d+")) {
throw new BadRequest("接收机构编码错误: " + creditCode + ",请联系管理员!");
}
return true;
}
/** /**
* 获取最新的使用登记证书 * 获取最新的使用登记证书
......
...@@ -3,7 +3,9 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl; ...@@ -3,7 +3,9 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.dto.FormValue; import com.yeejoin.amos.boot.module.common.api.dto.FormValue;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationManageDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationManageDto;
import com.yeejoin.amos.boot.module.jg.api.dto.UseFlagParamDto; import com.yeejoin.amos.boot.module.jg.api.dto.UseFlagParamDto;
...@@ -15,6 +17,7 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.*; ...@@ -15,6 +17,7 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferService; import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferService;
import com.yeejoin.amos.boot.module.jg.api.service.IJgUseRegistrationManageService; import com.yeejoin.amos.boot.module.jg.api.service.IJgUseRegistrationManageService;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil; import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgMaintenanceRecordInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgMaintenanceRecordInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
...@@ -49,18 +52,19 @@ import org.typroject.tyboot.core.foundation.utils.Bean; ...@@ -49,18 +52,19 @@ import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.alibaba.fastjson.JSON.parseArray; import static com.alibaba.fastjson.JSON.parseArray;
import static com.yeejoin.amos.boot.module.jg.biz.service.impl.CommonServiceImpl.isValidCreditCode;
import static com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl.getAuditPassedDate; import static com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl.getAuditPassedDate;
/** /**
...@@ -120,6 +124,11 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -120,6 +124,11 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
CommonMapper commonMapper; CommonMapper commonMapper;
@Autowired @Autowired
private RedisTemplate<String, String> redisTemplate; private RedisTemplate<String, String> redisTemplate;
@Autowired
TzsServiceFeignClient tzsServiceFeignClient;
@Autowired
private JgCertificateChangeRecordMapper certificateChangeRecordMapper;
private static final long SCROLL_TIMEOUT = 180000; private static final long SCROLL_TIMEOUT = 180000;
private static final int SIZE = 1000; private static final int SIZE = 1000;
...@@ -759,4 +768,32 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -759,4 +768,32 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
jgUseRegistrationManageMapper.initUseRegistrationCodeIntoRedis(String.valueOf(LocalDate.now().getYear() % 100)) jgUseRegistrationManageMapper.initUseRegistrationCodeIntoRedis(String.valueOf(LocalDate.now().getYear() % 100))
.forEach(resultMap -> redisTemplate.opsForValue().set(resultMap.get("prefix"), resultMap.get("code"))); .forEach(resultMap -> redisTemplate.opsForValue().set(resultMap.get("prefix"), resultMap.get("code")));
} }
public Object handleErrorDeviceCode(String applyNo) {
LambdaQueryWrapper<JgUseRegistrationManage> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JgUseRegistrationManage::getApplyNo, applyNo);
JgUseRegistrationManage jgUseRegistrationManage = jgUseRegistrationManageMapper.selectOne(queryWrapper);
if (jgUseRegistrationManage != null) {
String ym = "";
try {
ym = Optional.of(DateUtils.dateFormat(jgUseRegistrationManage.getAuditPassDate(), DateUtils.DATE_PATTERN_MM)).orElse(DateUtils.dateFormat(new Date(), DateUtils.DATE_PATTERN_MM));
} catch (ParseException e) {
log.error("日期转换失败:", e);
}
ResponseModel<String> responseModel;
if (isValidCreditCode(jgUseRegistrationManage.getReceiveCompanyCode())) {
String equCode = Optional.ofNullable(jgUseRegistrationManage.getEquDefineCode()).orElse(jgUseRegistrationManage.getEquCategoryCode());
String registrationCode = equCode + jgUseRegistrationManage.getReceiveCompanyCode() + ym;
responseModel = tzsServiceFeignClient.deviceRegistrationCode(registrationCode);
jgUseRegistrationManage.setCertificateNo(responseModel.getResult());
jgUseRegistrationManageMapper.updateById(jgUseRegistrationManage);
LambdaUpdateWrapper<JgCertificateChangeRecord> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(JgCertificateChangeRecord::getApplyNo, applyNo);
updateWrapper.set(JgCertificateChangeRecord::getCertificateNo, responseModel.getResult());
certificateChangeRecordMapper.update(null, updateWrapper);
}
}
return "修复成功!";
}
} }
\ No newline at end of file
...@@ -72,7 +72,7 @@ public class GenerateCodeServiceImpl implements IGenerateCodeService { ...@@ -72,7 +72,7 @@ public class GenerateCodeServiceImpl implements IGenerateCodeService {
*/ */
@Override @Override
public String createDeviceRegistrationCode(String key) { public String createDeviceRegistrationCode(String key) {
return (key.length() == 16) ? generateSequence(key, SEQUENCE_TYPE_DR, LOCK_KEY_DR) : "生成码规则不对!"; return generateSequence(key, SEQUENCE_TYPE_DR, LOCK_KEY_DR);
} }
/** /**
......
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