diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java b/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java new file mode 100644 index 0000000..d8050fb --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java @@ -0,0 +1,378 @@ +package com.chinaunicom.mall.ebtp.project.common; + +import com.alibaba.fastjson.JSONArray; +import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum; +import com.chinaunicom.mall.ebtp.common.util.JsonUtils; +import lombok.extern.slf4j.Slf4j; + +import javax.crypto.Cipher; +import java.security.*; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; +import java.util.*; + +@Slf4j +public class RSAUtil { + + public static final String KEY_ALGORITHM = "RSA"; + public static final String SIGNATURE_ALGORITHM = "MD5withRSA"; + + private static final String PUBLIC_KEY = "RSAPublicKey"; + private static final String PRIVATE_KEY = "RSAPrivateKey"; + + /** + * 初始化密钥 + * + * @return + * @throws Exception + */ + public static Map initKey() throws Exception { + KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(KEY_ALGORITHM); + keyPairGen.initialize(1024); + KeyPair keyPair = keyPairGen.generateKeyPair(); + + // 公钥 + RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic(); +// logger.info("------" + publicKey); + // 私钥 + RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate(); +// logger.info("------" + publicKey); + + Map keyMap = new HashMap (2); + + keyMap.put(PUBLIC_KEY, publicKey); + keyMap.put(PRIVATE_KEY, privateKey); + return keyMap; + } + + /** + * 取得私钥 + * + * @param keyMap + * @return + * @throws Exception + */ + public static String getPrivateKey(Map keyMap) + throws Exception { + Key key = (Key) keyMap.get(PRIVATE_KEY); + return encryptBASE64(key.getEncoded()); + } + + /** + * 取得公钥 + * + * @param keyMap + * @return + * @throws Exception + */ + public static String getPublicKey(Map keyMap) + throws Exception { + Key key = (Key) keyMap.get(PUBLIC_KEY); + return encryptBASE64(key.getEncoded()); + } + + + /** + * 解密
+ * 用私钥解密 + * + * @param data + * @param key + * @return + * @throws Exception + */ + public static String decryptByPrivateKey64(String data, String key) + throws Exception { + return new String(decryptByPrivateKey(decryptBASE64(data),key)); + } + public static byte[] decryptByPrivateKey(byte[] data, String key) + throws Exception { + // 对密钥解密 + byte[] keyBytes = decryptBASE64(key); + + // 取得私钥 + PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + Key privateKey = keyFactory.generatePrivate(pkcs8KeySpec); + + // 对数据解密 + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.DECRYPT_MODE, privateKey); + + return cipher.doFinal(data); + } + /** + * 解密
+ * 用私钥解密 + * + * @param data + * @param key + * @return + * @throws Exception + */ + public static String decryptByPrivateKeyString(byte[] data, String key) + throws Exception { + return new String(decryptByPrivateKey(data, key)); + } + + + /** + * 解密
+ * 用公钥解密 + * + * @param data + * @param key + * @return + * @throws Exception + */ + public static String decryptByPublicKey64(String data, String key) + throws Exception { + + return new String(decryptByPublicKey(decryptBASE64(data),key)); + } + public static byte[] decryptByPublicKey(byte[] data, String key) + throws Exception { + // 对密钥解密 + byte[] keyBytes = decryptBASE64(key); + + // 取得公钥 + X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + Key publicKey = keyFactory.generatePublic(x509KeySpec); + + // 对数据解密 + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.DECRYPT_MODE, publicKey); + + return cipher.doFinal(data); + } + + /** + * 加密
+ * 用公钥加密 + * + * @param data + * @param key + * @return + * @throws Exception + */ + public static String encryptByPublicKey64(String data, String key) throws Exception { + + return encryptBASE64(encryptByPublicKey(data.getBytes(),key)); + } + public static byte[] encryptByPublicKey(byte[] data, String key) + throws Exception { + // 对公钥解密 + byte[] keyBytes = decryptBASE64(key); + + // 取得公钥 + X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + Key publicKey = keyFactory.generatePublic(x509KeySpec); + + // 对数据加密 + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.ENCRYPT_MODE, publicKey); + + return cipher.doFinal(data); + } + + /** + * 加密
+ * 用私钥加密 + * + * @param data + * @param key + * @return + * @throws Exception + */ + public static String encryptByPrivateKey64(String data, String key) + throws Exception { + + return encryptBASE64(encryptByPrivateKey(data.getBytes(),key)); + } + public static byte[] encryptByPrivateKey(byte[] data, String key) + throws Exception { + // 对密钥解密 + byte[] keyBytes = decryptBASE64(key); + + // 取得私钥 + PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + Key privateKey = keyFactory.generatePrivate(pkcs8KeySpec); + + // 对数据加密 + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.ENCRYPT_MODE, privateKey); + + return cipher.doFinal(data); + } + + /** + * 用私钥对信息生成数字签名 + * + * @param data + * 加密数据 + * @param privateKey + * 私钥 + * + * @return + * @throws Exception + */ + public static String sign(byte[] data, String privateKey) throws Exception { + // 解密由base64编码的私钥 + byte[] keyBytes = decryptBASE64(privateKey); + + // 构造PKCS8EncodedKeySpec对象 + PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); + + // KEY_ALGORITHM 指定的加密算法 + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + + // 取私钥匙对象 + PrivateKey priKey = keyFactory.generatePrivate(pkcs8KeySpec); + + // 用私钥对信息生成数字签名 + Signature signature = Signature.getInstance(SIGNATURE_ALGORITHM); + signature.initSign(priKey); + signature.update(data); + + return encryptBASE64(signature.sign()); + } + + /** + * 校验数字签名 + * + * @param data + * 加密数据 + * @param publicKey + * 公钥 + * @param sign + * 数字签名 + * + * @return 校验成功返回true 失败返回false + * @throws Exception + * + */ + public static boolean verify(byte[] data, String publicKey, String sign) + throws Exception { + + // 解密由base64编码的公钥 + byte[] keyBytes = decryptBASE64(publicKey); + + // 构造X509EncodedKeySpec对象 + X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes); + + // KEY_ALGORITHM 指定的加密算法 + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + + // 取公钥匙对象 + PublicKey pubKey = keyFactory.generatePublic(keySpec); + + Signature signature = Signature.getInstance(SIGNATURE_ALGORITHM); + signature.initVerify(pubKey); + signature.update(data); + + // 验证签名是否正常 + return signature.verify(decryptBASE64(sign)); + } + + public static byte[] decryptBASE64(String key) throws Exception { + return Base64.getDecoder().decode(key); + } + + public static String encryptBASE64(byte[] key) throws Exception { + return Base64.getEncoder().encodeToString(key); + } + + public static String encrypt(String value,String publicKey){ + try { + String v = encryptBASE64(RSAUtil.encryptByPublicKey(value.getBytes(), publicKey)); + return v; + }catch (Exception e){ + log.error("加密异常",e); + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("加密异常", true); + } + return ""; + } + public static String decrypt(String value,String privateKey){ + try { + byte[] decodedData = decryptByPrivateKey(decryptBASE64(value), privateKey); + String target = new String(decodedData); + return target; + }catch (Exception e){ + log.error("解密异常",e); + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("解密异常", true); + } + return ""; + } + + public static void main(String[] args) { + Map keyMap; + try { + //Map map = initKey(); + //System.out.println(map); +// keyMap = initKey(); +// System.out.println(keyMap); + //取得公钥和么私钥 + //keyMap = initKey(); +// String publicKey = getPublicKey(keyMap); +// String privateKey = getPrivateKey(keyMap); + String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2Jje0B+QYd5o3njTmc74b4FyatzyrXm+bzuxLcjOwtSBoOtAi3j3NcyEheZuPBe1SDkbY+PMOAotEv+aGMZI79hkyIYjxw/RldR7GpKTU5eO+VWYlSH7g7E7o4IVGR/QltFGQd+8kyNJ40AYbMo6U7MCmlBm9S0WaKlHI9cOJhQIDAQAB"; + String privateKey = "MIICeQIBADANBgkqhkiG9w0BAQEFAASCAmMwggJfAgEAAoGBALYmN7QH5Bh3mjeeNOZzvhvgXJq3PKteb5vO7EtyM7C1IGg60CLePc1zISF5m48F7VIORtj48w4Ci0S/5oYxkjv2GTIhiPHD9GV1HsakpNTl475VZiVIfuDsTujghUZH9CW0UZB37yTI0njQBhsyjpTswKaUGb1LRZoqUcj1w4mFAgMBAAECgYEAmG93YoTQEOHXAAC4iLwIN1AWb6w1a70GbkBHZARY2eNbEZ9WnDedRRi6e0dINfNh3q/v/pio3+qlHo3yoA9QLs68YW8yy1xgGqTBsFMhn8Zh1KQ7Alle0+KJdytvpfvf6/YwW6oUk2Y44vm6nVa8EjXKYqloV/PROMa0uTYWUQECQQDvMk/XJ1wjG42IoyLxVSfsMfSCelJvYBYxaFfNPxOYWdOfSSEnAj7QNkDnhuDrLbbsnyy3KvLnUqkILU8fuZLhAkEAwvH5MRwSXpjwZY8xFCLv4YShDB6pG8l4rScjzV5B8SL2DhE/evha5obMO5d+iB73JBP03W6juSCilksy5zovJQJBAI+/Q54ASG3MzCTWLVStIV3fs5qKGmpWa1/r3gA5rPP836G1GBhSUB9ey2iYdSjAg1L2Ya/+PpXn5i9E0200X+ECQQCCQ05QEoHz1B5Ovq/81JuWBhnXD2XQu393tH+n6yQFDWd9XukcMngLMmemKkTSkF50LSGiFRwxyCzcYMNS3v5BAkEA5t2hOtPieYU9SrFENtgQTvtU7WmUumS0mTsDnnGUKsx2hMn8acKPVOskT+VzGg4A2kDoKo+5C9LQp1lc/RkI6A=="; + + System.out.println("字符类型公钥:" + publicKey); + System.out.println("字符类型私钥:" + privateKey); +// + System.out.println("公钥加密——私钥解密---------------"); + System.out.println(""); + List list = new ArrayList<>(); + list.add("1833431789433962497"); + list.add("1833333549888880640"); + list.add("1833047764807839745"); + list.add("1833043779094966273"); + String source = JSONArray.toJSONString(list); + System.out.println("\r加密前文字:\r\n" + source); + String encodedData = encryptByPublicKey64(source, publicKey); + System.out.println("加密后文字:\r\n" + encodedData); + String decodedData = decryptByPrivateKey64(encodedData, privateKey); + System.out.println("解密后文字: \r\n" + decodedData); + + System.out.println("私钥加密——公钥解密---------------"); +// //对内容进行加密和解密 + String str = "18560016885"; +// //私钥加密 + String encode = encryptByPrivateKey64(str,privateKey); + System.out.println("私钥加密结果:" + encode); + //公钥解密 + String decode = decryptByPublicKey64(encode,publicKey); + System.out.println("公钥解密结果:" + new String(decode)); + + String encode2 = "VXNSDBTe04nosTN+JJrgZCy1yfYmCBv4c+m67DoWCpX++bLaBtUUFBFpfdJmBRU0Qo2dwkSeKW/wNYueO7zJHX4eS5IHN3wmD5HXcS0TCpxkUAEo7yltP+jtSp9kkcGQ8tjsJlmfrTB9X1jJiJ4xPQJ9fZtFojbaWHNGED4sZlc="; + String decode2 = decryptByPublicKey64(encode2,publicKey); + System.out.println("公钥解密结果:" + new String(decode2)); + + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * String转私钥PrivateKey + * + * @param key + * @return + * @throws Exception + */ + public static PrivateKey getPrivateKey(String key) throws Exception { + byte[] keyBytes; + keyBytes = org.apache.commons.codec.binary.Base64.decodeBase64(key); + PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance("RSA"); + PrivateKey privateKey = keyFactory.generatePrivate(keySpec); + return privateKey; + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/controller/ProjectRecordController.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/controller/ProjectRecordController.java index 1662c86..5f67ab3 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/controller/ProjectRecordController.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/controller/ProjectRecordController.java @@ -4,19 +4,28 @@ package com.chinaunicom.mall.ebtp.project.projectrecord.controller; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum; +import com.chinaunicom.mall.ebtp.common.log.OperationLogDetail; +import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogBusinessModule; +import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogType; import com.chinaunicom.mall.ebtp.project.checkSpecialCharacters.CheckUtil; +import com.chinaunicom.mall.ebtp.project.common.RSAUtil; import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecord; import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO; import com.chinaunicom.mall.ebtp.project.projectrecord.service.IProjectRecordService; +import com.chinaunicom.mall.ebtp.project.projectrecord.vo.ProjectInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -27,6 +36,7 @@ import java.util.Map; * @author daixc * @date 2020/10/26 */ +@Slf4j @RestController @Api(tags = "项目建档信息") @RequestMapping("/v1/projectRecord") @@ -38,6 +48,8 @@ public class ProjectRecordController{ @Resource private CheckUtil checkUtil; + @Value("${mconfig.rsa.field.pivate_key}") + private String rsa_field_pivate_key; /** * 插入新数据 * @@ -325,4 +337,27 @@ public class ProjectRecordController{ return BaseResponse.success(projectRecordService.getRoleVerificationByInquiryId(inquiryId)); } + + /** + * 根据项目projectBizNum查询项目负责人相关信息 + *私钥加密 公钥解密 + * @param projectBizNums + * @return 返回结果 + */ + @ApiOperation("根据项目ids查询项目负责人相关信息") + @PostMapping("/getProjectInfoList") + @OperationLogDetail(businessModule = EbtpLogBusinessModule.OTHER,operationType = EbtpLogType.UPDATE,detail = "客服-根据项目projectBizNum查询项目负责人相关信息") + public BaseResponse> getProjectInfoList(@ApiParam(value = "对象数据", required = true) @RequestBody List projectBizNums) { + List projectBizNumList = new ArrayList<>(); + projectBizNums.forEach(v->{ + try { + String str = RSAUtil.decryptByPrivateKey64(v, rsa_field_pivate_key); + projectBizNumList.add(str); + }catch (Exception e){ + log.error("无效请求",e); + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("无效请求", true); + } + }); + return BaseResponse.success(projectRecordService.getProjectInfoList(projectBizNumList)); + } } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/IProjectRecordService.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/IProjectRecordService.java index d5360da..9011b3a 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/IProjectRecordService.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/IProjectRecordService.java @@ -6,6 +6,7 @@ import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustVO; import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecord; import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO; +import com.chinaunicom.mall.ebtp.project.projectrecord.vo.ProjectInfo; import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSectionVO; import java.math.BigDecimal; @@ -223,4 +224,6 @@ public interface IProjectRecordService extends IBaseService{ * @return 返回结果 */ Map getRoleVerificationByInquiryId(String inquiryId); + + List getProjectInfoList(List projectBizNums); } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java index 4b229fe..d9a4640 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java @@ -2,6 +2,8 @@ package com.chinaunicom.mall.ebtp.project.projectrecord.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.json.JSON; +import cn.hutool.json.JSONString; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,10 +24,7 @@ import com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.service.IBizQua import com.chinaunicom.mall.ebtp.project.bidratio.entity.BidRatio; import com.chinaunicom.mall.ebtp.project.bidratio.service.IBidRatioService; import com.chinaunicom.mall.ebtp.project.checkSpecialCharacters.CheckUtil; -import com.chinaunicom.mall.ebtp.project.common.EbpProjectCommonUtil; -import com.chinaunicom.mall.ebtp.project.common.InquiryCommonUtil; -import com.chinaunicom.mall.ebtp.project.common.ProjectCommonUtil; -import com.chinaunicom.mall.ebtp.project.common.ProjectExceptionEnum; +import com.chinaunicom.mall.ebtp.project.common.*; import com.chinaunicom.mall.ebtp.project.dict.entity.DictProvincesCode; import com.chinaunicom.mall.ebtp.project.dict.service.IDictProvincesCodeService; import com.chinaunicom.mall.ebtp.project.dictchooseprocess.entity.DictChooseProcess; @@ -45,6 +44,7 @@ import com.chinaunicom.mall.ebtp.project.projectrecord.dao.ProjectRecordMapper; import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecord; import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO; import com.chinaunicom.mall.ebtp.project.projectrecord.service.IProjectRecordService; +import com.chinaunicom.mall.ebtp.project.projectrecord.vo.ProjectInfo; import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSection; import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSectionVO; import com.chinaunicom.mall.ebtp.project.projectsection.service.IProjectSectionFlowService; @@ -61,6 +61,8 @@ import io.seata.core.context.RootContext; import io.seata.spring.annotation.GlobalTransactional; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -1440,4 +1442,35 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl getProjectInfoList(List projectBizNums) { + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("请提供参数",projectBizNums==null || projectBizNums.isEmpty()); + //List list = this.listByIds(projectIds); + List list = this.list((new LambdaQueryWrapper().in(ProjectRecord::getProjectBizNum,projectBizNums))); + if(list==null || list.isEmpty()){ + return new ArrayList<>(); + } + List reList =new ArrayList<>(); + list.forEach(v->{ + ProjectInfo projectInfo =new ProjectInfo(); + BeanUtils.copyProperties(v,projectInfo); + try { +// projectInfo.setAppManagerId(new String(RSAUtil.encryptByPrivateKey(v.getAppManagerId().getBytes(), rsa_field_pivate_key))); +// projectInfo.setAppManagerTel(new String(RSAUtil.encryptByPrivateKey(v.getAppManagerTel().getBytes(), rsa_field_pivate_key))); +// projectInfo.setOwnerContactId(new String(RSAUtil.encryptByPrivateKey(v.getOwnerContactId().getBytes(), rsa_field_pivate_key))); +// projectInfo.setOwnerContactTel(new String(RSAUtil.encryptByPrivateKey(v.getOwnerContactTel().getBytes(), rsa_field_pivate_key))); + projectInfo.setAppManagerId(RSAUtil.encryptByPrivateKey64(v.getAppManagerId(), rsa_field_pivate_key)); + projectInfo.setAppManagerTel(RSAUtil.encryptByPrivateKey64(v.getAppManagerTel(), rsa_field_pivate_key)); + projectInfo.setOwnerContactId(RSAUtil.encryptByPrivateKey64(v.getOwnerContactId(), rsa_field_pivate_key)); + projectInfo.setOwnerContactTel(RSAUtil.encryptByPrivateKey64(v.getOwnerContactTel(), rsa_field_pivate_key)); + reList.add(projectInfo); + } catch (Exception e) { + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("信息返回失败,请联系招标采购中心",true); + } + }); + return reList; + } } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/vo/ProjectInfo.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/vo/ProjectInfo.java new file mode 100644 index 0000000..5d4a322 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/vo/ProjectInfo.java @@ -0,0 +1,73 @@ +package com.chinaunicom.mall.ebtp.project.projectrecord.vo; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * + * + * @author daixc + * @date 2020/10/26 + */ +@Data +@Accessors(chain = true) +@ApiModel("项目信息") +public class ProjectInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty(value = "主键") + @JsonSerialize(using = ToStringSerializer.class) + private String id; + /** + * 项目流水号 + */ + @ApiModelProperty(value = "项目流水号") + private String projectBizNum; + + /** + * 招标项目责任人(代理机构项目经理)id + */ + @ApiModelProperty(value = "招标项目责任人(代理机构项目经理)id") + private String appManagerId; + + /** + * 招标项目责任人 + */ + @ApiModelProperty(value = "招标项目责任人") + private String appManagerName; + + /** + * 招标项目责任人联系方式 + */ + @ApiModelProperty(value = "招标项目责任人联系方式") + private String appManagerTel; + + /** + * 采购经理id + */ + @ApiModelProperty(value = "采购经理id") + private String ownerContactId; + + /** + * 采购经理名称 + */ + @ApiModelProperty(value = "采购经理名称") + private String ownerContactName; + + /** + * 采购经理联系方式 + */ + @ApiModelProperty(value = "采购经理联系方式") + private String ownerContactTel; + +} diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index a8ec12e..bc899d7 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -121,6 +121,11 @@ check: num-value: 33333 length: 2000 checkBoolen: false + tokentime: + timeLimit: 5000 + onof: 0 + checkprivateKey : MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAk7N3OeQS9WJa/v5dX/s9/DCKpJ8kOjR1Zrh1X+TF98udqGbGBWmiyVk2SqGPA4Q9kUCWw46CocjE047gx5AFrQIDAQABAkAIHG/stvCvlxImNLPOBI8X3VaPycmEhML5vCF9/aM9g1SuFa298Q5W8FqAmm8SE5lRpw2yyToWtLbufJtAa7wFAiEAxViJBkLU4wfPCwiPiAn17owXbocC9rj3fAzEH9DYDdcCIQC/mZp4ujO035Qqw2QQeFWpDc/vITx1OTWaxq6/LvvwGwIgXTZLSmzItw9aKOD7QotJ4UnES41zxetp4er5u/leA3MCIGcRw2ZEjII1b+hdOdweT75kfsId9/77apm7Xc/c/4yXAiEAnBrCiVXRNN+slO0MYaxynr4eIiPG/EjYBYxXlwBpeOc= + checkpublicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJOzdznkEvViWv7+XV/7PfwwiqSfJDo0dWa4dV/kxffLnahmxgVposlZNkqhjwOEPZFAlsOOgqHIxNOO4MeQBa0CAwEAAQ== hystrix: command: @@ -169,6 +174,9 @@ mconfig: service-name-notification : core-service-notification-center wfSectionNo: '080' wfSectionName: 标段重新评审审批单 + rsa: + field: + pivate_key: MIICeQIBADANBgkqhkiG9w0BAQEFAASCAmMwggJfAgEAAoGBALYmN7QH5Bh3mjeeNOZzvhvgXJq3PKteb5vO7EtyM7C1IGg60CLePc1zISF5m48F7VIORtj48w4Ci0S/5oYxkjv2GTIhiPHD9GV1HsakpNTl475VZiVIfuDsTujghUZH9CW0UZB37yTI0njQBhsyjpTswKaUGb1LRZoqUcj1w4mFAgMBAAECgYEAmG93YoTQEOHXAAC4iLwIN1AWb6w1a70GbkBHZARY2eNbEZ9WnDedRRi6e0dINfNh3q/v/pio3+qlHo3yoA9QLs68YW8yy1xgGqTBsFMhn8Zh1KQ7Alle0+KJdytvpfvf6/YwW6oUk2Y44vm6nVa8EjXKYqloV/PROMa0uTYWUQECQQDvMk/XJ1wjG42IoyLxVSfsMfSCelJvYBYxaFfNPxOYWdOfSSEnAj7QNkDnhuDrLbbsnyy3KvLnUqkILU8fuZLhAkEAwvH5MRwSXpjwZY8xFCLv4YShDB6pG8l4rScjzV5B8SL2DhE/evha5obMO5d+iB73JBP03W6juSCilksy5zovJQJBAI+/Q54ASG3MzCTWLVStIV3fs5qKGmpWa1/r3gA5rPP836G1GBhSUB9ey2iYdSjAg1L2Ya/+PpXn5i9E0200X+ECQQCCQ05QEoHz1B5Ovq/81JuWBhnXD2XQu393tH+n6yQFDWd9XukcMngLMmemKkTSkF50LSGiFRwxyCzcYMNS3v5BAkEA5t2hOtPieYU9SrFENtgQTvtU7WmUumS0mTsDnnGUKsx2hMn8acKPVOskT+VzGg4A2kDoKo+5C9LQp1lc/RkI6A== # 用户暴露给 prometheus 的健康数据 @@ -191,3 +199,5 @@ allow: apis: - ^POST\./?v1/.*$ - ^GET\./?v1/.*$ + +