From 37c5ca5e6e8007a694ec1f8b80e1da523c6257fb Mon Sep 17 00:00:00 2001 From: yss <17921@qq.com> Date: Mon, 9 Sep 2024 11:23:48 +0800 Subject: [PATCH 01/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D-=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E8=B4=9F=E8=B4=A3=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mall/ebtp/project/common/RSAUtil.java | 367 ++++++++++++++++++ .../controller/ProjectRecordController.java | 13 + .../service/IProjectRecordService.java | 3 + .../impl/ProjectRecordServiceImpl.java | 33 +- .../project/projectrecord/vo/ProjectInfo.java | 77 ++++ 5 files changed, 489 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/vo/ProjectInfo.java 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..1c6edd0 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java @@ -0,0 +1,367 @@ +package com.chinaunicom.mall.ebtp.project.common; + +import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum; +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.Base64; +import java.util.HashMap; +import java.util.Map; + +@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 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 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 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 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(""); +// String source = "220101199902020022"; +// System.out.println("\r加密前文字:\r\n" + source); +// byte[] data = source.getBytes(); +// byte[] encodedData = encryptByPublicKey(data, publicKey); +// System.out.println("加密后文字:\r\n" + encryptBASE64(encodedData)); +// byte[] decodedData = decryptByPrivateKey(encodedData, privateKey); +// String target = new String(decodedData); +// System.out.println("解密后文字: \r\n" + target); + + System.out.println("私钥加密——公钥解密--------------"); + String source1 = "这是一行测试RSA数字签名的无意义文字"; + System.out.println("原文字:\r\n" + source1); + byte[] data1 = source1.getBytes(); + byte[] encodedData1 = encryptByPrivateKey(data1, privateKey); + System.out.println("加密后:\r\n" + new String(encodedData1)); + byte[] decodedData1 = decryptByPublicKey(encodedData1, publicKey); + String target1 = new String(decodedData1); + System.out.println("解密后: \r\n" + target1); + System.out.println("私钥签名——公钥验证签名------------------"); +// String sign = sign(encodedData, privateKey); +// System.out.println("签名:\r" + sign); +// boolean status = verify(encodedData, publicKey, sign); +// System.out.println("验证结果:\r" + status); +// //对内容进行加密和解密 + String str = "zqb1231456"; + byte[] strByte = str.getBytes(); +// //私钥加密 + byte[] encode = encryptByPrivateKey(strByte,privateKey); + System.out.println("私钥加密结果:" + encryptBASE64(encode)); + //公钥解密 + byte[] decode = decryptByPublicKey(encode,publicKey); + System.out.println("公钥解密结果:" + new String(decode)); + + } 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..4fc2088 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 @@ -8,6 +8,7 @@ import com.chinaunicom.mall.ebtp.project.checkSpecialCharacters.CheckUtil; 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; @@ -325,4 +326,16 @@ public class ProjectRecordController{ return BaseResponse.success(projectRecordService.getRoleVerificationByInquiryId(inquiryId)); } + + /** + * 根据项目ids查询项目负责人相关信息 + * + * @param projectIds + * @return 返回结果 + */ + @ApiOperation("审查人员取消公开") + @PostMapping("/getProjectInfoList") + public BaseResponse> getProjectInfoList(@ApiParam(value = "对象数据", required = true) @RequestBody List projectIds) { + return BaseResponse.success(projectRecordService.getProjectInfoList(projectIds)); + } } 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..c1ac73b 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 projectIds); } 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..46a2d40 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 @@ -22,10 +22,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 +42,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 +59,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 +1440,29 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl getProjectInfoList(List projectIds) { + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("请提供参数",projectIds==null || projectIds.isEmpty()); + List list = this.listByIds(projectIds); + 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(RSAUtil.encryptByPrivateKey(v.getAppManagerId().getBytes(), rsa_field_pivate_key)); + projectInfo.setAppManagerTel(RSAUtil.encryptByPrivateKey(v.getAppManagerTel().getBytes(), rsa_field_pivate_key)); + projectInfo.setOwnerContactId(RSAUtil.encryptByPrivateKey(v.getOwnerContactId().getBytes(), rsa_field_pivate_key)); + projectInfo.setOwnerContactTel(RSAUtil.encryptByPrivateKey(v.getOwnerContactTel().getBytes(), rsa_field_pivate_key)); + } catch (Exception e) { + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("信息返回失败,请联系招标采购中心",projectIds==null || projectIds.isEmpty()); + } + }); + 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..ebbf7b3 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/vo/ProjectInfo.java @@ -0,0 +1,77 @@ +package com.chinaunicom.mall.ebtp.project.projectrecord.vo; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +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 org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 项目建档实体类 BizProjectRecord + * + * @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; + + /** + * 招标项目责任人(代理机构项目经理)id + */ + @ApiModelProperty(value = "招标项目责任人(代理机构项目经理)id") + private byte[] appManagerId; + + /** + * 招标项目责任人(代理机构项目经理,根据当前账号对应人员联系方式自动填入,可修改) + */ + @ApiModelProperty(value = "招标项目责任人(代理机构项目经理,根据当前账号对应人员联系方式自动填入,可修改)") + private String appManagerName; + + /** + * 招标项目责任人联系方式(代理机构项目经理联系方式,根据当前账号对应人员联系方式自动填入,可修改) + */ + @ApiModelProperty(value = "招标项目责任人联系方式(代理机构项目经理联系方式,根据当前账号对应人员联系方式自动填入,可修改)") + private byte[] appManagerTel; + + /** + * 采购经理id + */ + @ApiModelProperty(value = "采购经理id") + private byte[] ownerContactId; + + /** + * 采购经理名称 + */ + @ApiModelProperty(value = "采购经理名称") + private String ownerContactName; + + /** + * 采购经理联系方式 + */ + @ApiModelProperty(value = "采购经理联系方式") + private byte[] ownerContactTel; + +} From 1f4e01a9892706b9c015d5f944433d01d39a84c3 Mon Sep 17 00:00:00 2001 From: yss <17921@qq.com> Date: Mon, 9 Sep 2024 15:36:24 +0800 Subject: [PATCH 02/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D-=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E8=B4=9F=E8=B4=A3=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ProjectRecordServiceImpl.java | 8 ++++---- .../project/projectrecord/vo/ProjectInfo.java | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) 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 46a2d40..1eb4511 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 @@ -1455,10 +1455,10 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl Date: Tue, 10 Sep 2024 13:45:10 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D-=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E8=B4=9F=E8=B4=A3=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectrecord/service/impl/ProjectRecordServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 1eb4511..47f9a72 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 @@ -1459,10 +1459,11 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl Date: Tue, 10 Sep 2024 14:38:37 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D-=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E8=B4=9F=E8=B4=A3=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mall/ebtp/project/common/RSAUtil.java | 4 ++-- .../controller/ProjectRecordController.java | 4 ++-- .../ebtp/project/projectrecord/vo/ProjectInfo.java | 13 ++----------- 3 files changed, 6 insertions(+), 15 deletions(-) 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 index 1c6edd0..9859fc2 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java @@ -320,7 +320,7 @@ public class RSAUtil { // System.out.println("解密后文字: \r\n" + target); System.out.println("私钥加密——公钥解密--------------"); - String source1 = "这是一行测试RSA数字签名的无意义文字"; + String source1 = "fengyong"; System.out.println("原文字:\r\n" + source1); byte[] data1 = source1.getBytes(); byte[] encodedData1 = encryptByPrivateKey(data1, privateKey); @@ -334,7 +334,7 @@ public class RSAUtil { // boolean status = verify(encodedData, publicKey, sign); // System.out.println("验证结果:\r" + status); // //对内容进行加密和解密 - String str = "zqb1231456"; + String str = "18560016885"; byte[] strByte = str.getBytes(); // //私钥加密 byte[] encode = encryptByPrivateKey(strByte,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 4fc2088..44e8a9c 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 @@ -329,11 +329,11 @@ public class ProjectRecordController{ /** * 根据项目ids查询项目负责人相关信息 - * + *私钥加密 公钥解密 * @param projectIds * @return 返回结果 */ - @ApiOperation("审查人员取消公开") + @ApiOperation("根据项目ids查询项目负责人相关信息") @PostMapping("/getProjectInfoList") public BaseResponse> getProjectInfoList(@ApiParam(value = "对象数据", required = true) @RequestBody List projectIds) { return BaseResponse.success(projectRecordService.getProjectInfoList(projectIds)); 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 index 5b5d464..efe9713 100644 --- 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 @@ -1,32 +1,23 @@ package com.chinaunicom.mall.ebtp.project.projectrecord.vo; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; -import com.fasterxml.jackson.annotation.JsonFormat; 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 org.hibernate.validator.constraints.Length; -import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; /** - * 项目建档实体类 BizProjectRecord + * * * @author daixc * @date 2020/10/26 */ @Data @Accessors(chain = true) -@ApiModel("项目建档信息") +@ApiModel("项目信息") public class ProjectInfo implements Serializable { private static final long serialVersionUID = 1L; From f5b3a5c1e2e1091299eab7da680d9160ac4fc6f0 Mon Sep 17 00:00:00 2001 From: yss <17921@qq.com> Date: Wed, 11 Sep 2024 08:50:43 +0800 Subject: [PATCH 05/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D-=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E8=B4=9F=E8=B4=A3=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=A0=B9=E6=8D=AEprojectBizNum?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProjectRecordController.java | 12 ++++++++---- .../service/impl/ProjectRecordServiceImpl.java | 8 ++++---- 2 files changed, 12 insertions(+), 8 deletions(-) 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 44e8a9c..7409503 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,6 +4,9 @@ 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.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.projectrecord.entity.ProjectRecord; import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO; @@ -328,14 +331,15 @@ public class ProjectRecordController{ } /** - * 根据项目ids查询项目负责人相关信息 + * 根据项目projectBizNum查询项目负责人相关信息 *私钥加密 公钥解密 - * @param projectIds + * @param projectBizNums * @return 返回结果 */ @ApiOperation("根据项目ids查询项目负责人相关信息") @PostMapping("/getProjectInfoList") - public BaseResponse> getProjectInfoList(@ApiParam(value = "对象数据", required = true) @RequestBody List projectIds) { - return BaseResponse.success(projectRecordService.getProjectInfoList(projectIds)); + @OperationLogDetail(businessModule = EbtpLogBusinessModule.OTHER,operationType = EbtpLogType.UPDATE,detail = "客服-根据项目projectBizNum查询项目负责人相关信息") + public BaseResponse> getProjectInfoList(@ApiParam(value = "对象数据", required = true) @RequestBody List projectBizNums) { + return BaseResponse.success(projectRecordService.getProjectInfoList(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 47f9a72..6736c49 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 @@ -1444,9 +1444,9 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl getProjectInfoList(List projectIds) { - CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("请提供参数",projectIds==null || projectIds.isEmpty()); - List list = this.listByIds(projectIds); + public List getProjectInfoList(List projectBizNums) { + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("请提供参数",projectBizNums==null || projectBizNums.isEmpty()); + List list = this.list(new LambdaQueryWrapper().in(ProjectRecord::getProjectBizNum,projectBizNums)); if(list==null || list.isEmpty()){ return new ArrayList<>(); } @@ -1461,7 +1461,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl Date: Wed, 11 Sep 2024 10:06:19 +0800 Subject: [PATCH 06/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D-=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E8=B4=9F=E8=B4=A3=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF-=E5=85=A5=E5=8F=82projectBizNum=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProjectRecordController.java | 6 +++--- .../projectrecord/service/IProjectRecordService.java | 2 +- .../service/impl/ProjectRecordServiceImpl.java | 10 +++++++++- 3 files changed, 13 insertions(+), 5 deletions(-) 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 7409503..99566d4 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 @@ -333,13 +333,13 @@ public class ProjectRecordController{ /** * 根据项目projectBizNum查询项目负责人相关信息 *私钥加密 公钥解密 - * @param projectBizNums + * @param projectBizNumString * @return 返回结果 */ @ApiOperation("根据项目ids查询项目负责人相关信息") @PostMapping("/getProjectInfoList") @OperationLogDetail(businessModule = EbtpLogBusinessModule.OTHER,operationType = EbtpLogType.UPDATE,detail = "客服-根据项目projectBizNum查询项目负责人相关信息") - public BaseResponse> getProjectInfoList(@ApiParam(value = "对象数据", required = true) @RequestBody List projectBizNums) { - return BaseResponse.success(projectRecordService.getProjectInfoList(projectBizNums)); + public BaseResponse> getProjectInfoList(@ApiParam(value = "对象数据", required = true) @RequestParam String projectBizNumString) { + return BaseResponse.success(projectRecordService.getProjectInfoList(projectBizNumString)); } } 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 c1ac73b..bb27f2d 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 @@ -225,5 +225,5 @@ public interface IProjectRecordService extends IBaseService{ */ Map getRoleVerificationByInquiryId(String inquiryId); - List getProjectInfoList(List projectIds); + List getProjectInfoList(String projectBizNumString); } 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 6736c49..fb03918 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; @@ -1444,7 +1446,13 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl getProjectInfoList(List projectBizNums) { + public List getProjectInfoList(String projectBizNumString) { + try { + projectBizNumString=RSAUtil.decryptByPrivateKeyString(projectBizNumString.getBytes(), rsa_field_pivate_key); + } catch (Exception e) { + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("请提供正确参数",true); + } + List projectBizNums= JsonUtils.jsonToList(projectBizNumString,String.class); CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("请提供参数",projectBizNums==null || projectBizNums.isEmpty()); List list = this.list(new LambdaQueryWrapper().in(ProjectRecord::getProjectBizNum,projectBizNums)); if(list==null || list.isEmpty()){ From 3bf92b10379b630781c296390bbfd45f34727930 Mon Sep 17 00:00:00 2001 From: yss <17921@qq.com> Date: Wed, 11 Sep 2024 11:27:23 +0800 Subject: [PATCH 07/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D-=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E8=B4=9F=E8=B4=A3=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF-=E5=85=A5=E5=8F=82projectBizNum=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mall/ebtp/project/common/RSAUtil.java | 28 +++++++++---------- .../impl/ProjectRecordServiceImpl.java | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) 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 index 9859fc2..2d13c32 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java @@ -1,6 +1,7 @@ package com.chinaunicom.mall.ebtp.project.common; 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; @@ -9,9 +10,7 @@ import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec; -import java.util.Base64; -import java.util.HashMap; -import java.util.Map; +import java.util.*; @Slf4j public class RSAUtil { @@ -307,17 +306,18 @@ public class RSAUtil { System.out.println("字符类型公钥:" + publicKey); System.out.println("字符类型私钥:" + privateKey); -// -// System.out.println("公钥加密——私钥解密---------------"); -// System.out.println(""); -// String source = "220101199902020022"; -// System.out.println("\r加密前文字:\r\n" + source); -// byte[] data = source.getBytes(); -// byte[] encodedData = encryptByPublicKey(data, publicKey); -// System.out.println("加密后文字:\r\n" + encryptBASE64(encodedData)); -// byte[] decodedData = decryptByPrivateKey(encodedData, privateKey); -// String target = new String(decodedData); -// System.out.println("解密后文字: \r\n" + target); + + System.out.println("公钥加密——私钥解密---------------"); + System.out.println(""); + List list=Arrays.asList("1805120921623646209"); + String source = JsonUtils.objectToJson(list); + System.out.println("\r加密前文字:\r\n" + source); + byte[] data = source.getBytes(); + byte[] encodedData = encryptByPublicKey(data, publicKey); + System.out.println("加密后文字:\r\n" + encryptBASE64(encodedData)); + byte[] decodedData = decryptByPrivateKey(encodedData, privateKey); + String target = new String(decodedData); + System.out.println("解密后文字: \r\n" + target); System.out.println("私钥加密——公钥解密--------------"); String source1 = "fengyong"; 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 fb03918..d596380 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 @@ -1448,7 +1448,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl getProjectInfoList(String projectBizNumString) { try { - projectBizNumString=RSAUtil.decryptByPrivateKeyString(projectBizNumString.getBytes(), rsa_field_pivate_key); + projectBizNumString=new String(RSAUtil.decryptByPrivateKey(projectBizNumString.getBytes(), rsa_field_pivate_key)); } catch (Exception e) { CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("请提供正确参数",true); } From a69b8e5c8d2965cad3540bfce3ae91090c792206 Mon Sep 17 00:00:00 2001 From: yss <17921@qq.com> Date: Wed, 11 Sep 2024 11:28:39 +0800 Subject: [PATCH 08/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D-=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E8=B4=9F=E8=B4=A3=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF-=E5=85=A5=E5=8F=82projectBizNum=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectrecord/service/impl/ProjectRecordServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) 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 d596380..a5556b2 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 @@ -1447,6 +1447,9 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl getProjectInfoList(String projectBizNumString) { +// 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=="; + try { projectBizNumString=new String(RSAUtil.decryptByPrivateKey(projectBizNumString.getBytes(), rsa_field_pivate_key)); } catch (Exception e) { From 570a99c243c548478a3447fbde2d02ab733f1731 Mon Sep 17 00:00:00 2001 From: yss <17921@qq.com> Date: Wed, 11 Sep 2024 13:50:43 +0800 Subject: [PATCH 09/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D-=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E8=B4=9F=E8=B4=A3=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF-=E5=85=A5=E5=8F=82projectBizNum=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java | 1 + .../projectrecord/service/impl/ProjectRecordServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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 index 2d13c32..3584b8a 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java @@ -315,6 +315,7 @@ public class RSAUtil { byte[] data = source.getBytes(); byte[] encodedData = encryptByPublicKey(data, publicKey); System.out.println("加密后文字:\r\n" + encryptBASE64(encodedData)); + System.out.println("加密后文字2:\r\n" + new String(encodedData)); byte[] decodedData = decryptByPrivateKey(encodedData, privateKey); String target = new String(decodedData); System.out.println("解密后文字: \r\n" + target); 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 a5556b2..55d5efa 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 @@ -1451,7 +1451,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl Date: Wed, 11 Sep 2024 14:18:58 +0800 Subject: [PATCH 10/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D-=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E8=B4=9F=E8=B4=A3=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF-=E5=85=A5=E5=8F=82projectBizNum=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-local.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) 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/.*$ + + From b47beb1e12177b0e7f58195e975acef61d6dd0cd Mon Sep 17 00:00:00 2001 From: yss <17921@qq.com> Date: Wed, 11 Sep 2024 15:01:37 +0800 Subject: [PATCH 11/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D-=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E8=B4=9F=E8=B4=A3=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF-=E5=85=A5=E5=8F=82projectBizNum=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectrecord/service/impl/ProjectRecordServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 55d5efa..94bb8b2 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 @@ -1451,7 +1451,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl Date: Wed, 11 Sep 2024 15:07:14 +0800 Subject: [PATCH 12/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D=E9=9C=80=E6=B1=82-?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B4=9F=E8=B4=A3=E4=BA=BA=E6=94=B9=E9=80=A0?= =?UTF-8?q?=EF=BC=88=E5=8A=A0=E5=AF=86=E4=BC=A0=E9=80=92=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mall/ebtp/project/common/RSAUtil.java | 59 ++++++++++--------- .../controller/ProjectRecordController.java | 23 +++++++- .../service/IProjectRecordService.java | 2 +- .../impl/ProjectRecordServiceImpl.java | 27 ++++----- 4 files changed, 63 insertions(+), 48 deletions(-) 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 index 3584b8a..24832f4 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java @@ -1,5 +1,6 @@ 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; @@ -82,6 +83,10 @@ public class RSAUtil { * @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 { // 对密钥解密 @@ -122,6 +127,11 @@ public class RSAUtil { * @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 { // 对密钥解密 @@ -148,6 +158,10 @@ public class RSAUtil { * @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 { // 对公钥解密 @@ -174,6 +188,11 @@ public class RSAUtil { * @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 { // 对密钥解密 @@ -306,42 +325,26 @@ public class RSAUtil { System.out.println("字符类型公钥:" + publicKey); System.out.println("字符类型私钥:" + privateKey); - +// System.out.println("公钥加密——私钥解密---------------"); System.out.println(""); - List list=Arrays.asList("1805120921623646209"); - String source = JsonUtils.objectToJson(list); + List list = new ArrayList<>(); + list.add("220101199902020022"); + String source = JSONArray.toJSONString(list); System.out.println("\r加密前文字:\r\n" + source); - byte[] data = source.getBytes(); - byte[] encodedData = encryptByPublicKey(data, publicKey); - System.out.println("加密后文字:\r\n" + encryptBASE64(encodedData)); - System.out.println("加密后文字2:\r\n" + new String(encodedData)); - byte[] decodedData = decryptByPrivateKey(encodedData, privateKey); - String target = new String(decodedData); - System.out.println("解密后文字: \r\n" + target); + 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 source1 = "fengyong"; - System.out.println("原文字:\r\n" + source1); - byte[] data1 = source1.getBytes(); - byte[] encodedData1 = encryptByPrivateKey(data1, privateKey); - System.out.println("加密后:\r\n" + new String(encodedData1)); - byte[] decodedData1 = decryptByPublicKey(encodedData1, publicKey); - String target1 = new String(decodedData1); - System.out.println("解密后: \r\n" + target1); - System.out.println("私钥签名——公钥验证签名------------------"); -// String sign = sign(encodedData, privateKey); -// System.out.println("签名:\r" + sign); -// boolean status = verify(encodedData, publicKey, sign); -// System.out.println("验证结果:\r" + status); + System.out.println("私钥加密——公钥解密---------------"); // //对内容进行加密和解密 String str = "18560016885"; - byte[] strByte = str.getBytes(); // //私钥加密 - byte[] encode = encryptByPrivateKey(strByte,privateKey); - System.out.println("私钥加密结果:" + encryptBASE64(encode)); + String encode = encryptByPrivateKey64(str,privateKey); + System.out.println("私钥加密结果:" + encode); //公钥解密 - byte[] decode = decryptByPublicKey(encode,publicKey); + String decode = decryptByPublicKey64(encode,publicKey); System.out.println("公钥解密结果:" + new String(decode)); } catch (Exception e) { 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 99566d4..5cfdce6 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,10 +4,13 @@ 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.common.util.JsonUtils; 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; @@ -15,12 +18,15 @@ 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; @@ -31,6 +37,7 @@ import java.util.Map; * @author daixc * @date 2020/10/26 */ +@Slf4j @RestController @Api(tags = "项目建档信息") @RequestMapping("/v1/projectRecord") @@ -42,6 +49,8 @@ public class ProjectRecordController{ @Resource private CheckUtil checkUtil; + @Value("${mconfig.rsa.field.pivate_key}") + private String rsa_field_pivate_key; /** * 插入新数据 * @@ -333,13 +342,21 @@ public class ProjectRecordController{ /** * 根据项目projectBizNum查询项目负责人相关信息 *私钥加密 公钥解密 - * @param projectBizNumString + * @param projectBizNums * @return 返回结果 */ @ApiOperation("根据项目ids查询项目负责人相关信息") @PostMapping("/getProjectInfoList") @OperationLogDetail(businessModule = EbtpLogBusinessModule.OTHER,operationType = EbtpLogType.UPDATE,detail = "客服-根据项目projectBizNum查询项目负责人相关信息") - public BaseResponse> getProjectInfoList(@ApiParam(value = "对象数据", required = true) @RequestParam String projectBizNumString) { - return BaseResponse.success(projectRecordService.getProjectInfoList(projectBizNumString)); + public BaseResponse> getProjectInfoList(@ApiParam(value = "对象数据", required = true) @RequestParam(value = "projectBizNums", required = false) String projectBizNums) { + List projectBizNumList = new ArrayList<>(); + try { + String str = RSAUtil.decryptByPrivateKey64(projectBizNums, rsa_field_pivate_key); + projectBizNumList = JsonUtils.jsonToList(str,String.class); + }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 bb27f2d..c1ac73b 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 @@ -225,5 +225,5 @@ public interface IProjectRecordService extends IBaseService{ */ Map getRoleVerificationByInquiryId(String inquiryId); - List getProjectInfoList(String projectBizNumString); + List getProjectInfoList(List projectIds); } 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 94bb8b2..b45122a 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 @@ -1446,18 +1446,9 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl getProjectInfoList(String projectBizNumString) { -// 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=="; - - try { - projectBizNumString=RSAUtil.decrypt(projectBizNumString,rsa_field_pivate_key); - } catch (Exception e) { - CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("请提供正确参数",true); - } - List projectBizNums= JsonUtils.jsonToList(projectBizNumString,String.class); - CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("请提供参数",projectBizNums==null || projectBizNums.isEmpty()); - List list = this.list(new LambdaQueryWrapper().in(ProjectRecord::getProjectBizNum,projectBizNums)); + public List getProjectInfoList(List projectIds) { + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("请提供参数",projectIds==null || projectIds.isEmpty()); + List list = this.listByIds(projectIds); if(list==null || list.isEmpty()){ return new ArrayList<>(); } @@ -1466,10 +1457,14 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl Date: Wed, 11 Sep 2024 15:30:12 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D=E9=9C=80=E6=B1=82-?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B4=9F=E8=B4=A3=E4=BA=BA=E6=94=B9=E9=80=A0?= =?UTF-8?q?=EF=BC=88=E5=8A=A0=E5=AF=86=E4=BC=A0=E9=80=92=EF=BC=89=20?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E9=A1=B9=E7=9B=AE=E7=BC=96=E5=8F=B7=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chinaunicom/mall/ebtp/project/common/RSAUtil.java | 9 ++++++++- .../projectrecord/service/IProjectRecordService.java | 2 +- .../service/impl/ProjectRecordServiceImpl.java | 7 ++++--- 3 files changed, 13 insertions(+), 5 deletions(-) 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 index 24832f4..4462a1b 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java @@ -329,7 +329,10 @@ public class RSAUtil { System.out.println("公钥加密——私钥解密---------------"); System.out.println(""); List list = new ArrayList<>(); - list.add("220101199902020022"); + list.add("1833431789433962496"); + list.add("1833333549884686336"); + list.add("1833047764807839744"); + list.add("1833043779094966272"); String source = JSONArray.toJSONString(list); System.out.println("\r加密前文字:\r\n" + source); String encodedData = encryptByPublicKey64(source, publicKey); @@ -347,6 +350,10 @@ public class RSAUtil { 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(); } 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 c1ac73b..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 @@ -225,5 +225,5 @@ public interface IProjectRecordService extends IBaseService{ */ Map getRoleVerificationByInquiryId(String inquiryId); - List getProjectInfoList(List projectIds); + 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 b45122a..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 @@ -1446,9 +1446,10 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl getProjectInfoList(List projectIds) { - CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("请提供参数",projectIds==null || projectIds.isEmpty()); - List list = this.listByIds(projectIds); + public List 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<>(); } From ae25d8d94a68a391247e9a7b8ab960b65fe32770 Mon Sep 17 00:00:00 2001 From: zhangqinbin <181961702@qq.com> Date: Wed, 11 Sep 2024 15:34:31 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D=E9=9C=80=E6=B1=82-?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B4=9F=E8=B4=A3=E4=BA=BA=E6=94=B9=E9=80=A0?= =?UTF-8?q?=EF=BC=88=E5=8A=A0=E5=AF=86=E4=BC=A0=E9=80=92=EF=BC=89=20?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E9=A1=B9=E7=9B=AE=E7=BC=96=E5=8F=B7=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/chinaunicom/mall/ebtp/project/common/RSAUtil.java | 8 ++++---- .../mall/ebtp/project/projectrecord/vo/ProjectInfo.java | 5 +++++ 2 files changed, 9 insertions(+), 4 deletions(-) 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 index 4462a1b..d8050fb 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/common/RSAUtil.java @@ -329,10 +329,10 @@ public class RSAUtil { System.out.println("公钥加密——私钥解密---------------"); System.out.println(""); List list = new ArrayList<>(); - list.add("1833431789433962496"); - list.add("1833333549884686336"); - list.add("1833047764807839744"); - list.add("1833043779094966272"); + 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); 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 index efe9713..5d4a322 100644 --- 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 @@ -28,6 +28,11 @@ public class ProjectInfo implements Serializable { @ApiModelProperty(value = "主键") @JsonSerialize(using = ToStringSerializer.class) private String id; + /** + * 项目流水号 + */ + @ApiModelProperty(value = "项目流水号") + private String projectBizNum; /** * 招标项目责任人(代理机构项目经理)id From a8dc170f9c7af4a81b610f16f8242e9394d0fe05 Mon Sep 17 00:00:00 2001 From: yss <17921@qq.com> Date: Wed, 11 Sep 2024 15:58:22 +0800 Subject: [PATCH 15/15] =?UTF-8?q?=E5=AE=A2=E6=9C=8D-=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E8=B4=9F=E8=B4=A3=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF-=E5=85=A5=E5=8F=82projectBizNum=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProjectRecordController.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) 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 5cfdce6..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 @@ -8,7 +8,6 @@ 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.common.util.JsonUtils; 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; @@ -348,15 +347,17 @@ public class ProjectRecordController{ @ApiOperation("根据项目ids查询项目负责人相关信息") @PostMapping("/getProjectInfoList") @OperationLogDetail(businessModule = EbtpLogBusinessModule.OTHER,operationType = EbtpLogType.UPDATE,detail = "客服-根据项目projectBizNum查询项目负责人相关信息") - public BaseResponse> getProjectInfoList(@ApiParam(value = "对象数据", required = true) @RequestParam(value = "projectBizNums", required = false) String projectBizNums) { + public BaseResponse> getProjectInfoList(@ApiParam(value = "对象数据", required = true) @RequestBody List projectBizNums) { List projectBizNumList = new ArrayList<>(); - try { - String str = RSAUtil.decryptByPrivateKey64(projectBizNums, rsa_field_pivate_key); - projectBizNumList = JsonUtils.jsonToList(str,String.class); - }catch (Exception e){ - log.error("无效请求",e); - CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("无效请求", true); - } + 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)); } }