diff --git a/lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/PhoneCardCryptoUtil.java b/lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/PhoneCardCryptoUtil.java new file mode 100644 index 00000000..b5b24879 --- /dev/null +++ b/lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/PhoneCardCryptoUtil.java @@ -0,0 +1,141 @@ +package com.zdxt.common.util; + +import cn.hutool.core.codec.Base64; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.crypto.SecureUtil; +import cn.hutool.crypto.asymmetric.KeyType; +import cn.hutool.crypto.asymmetric.RSA; +import cn.hutool.http.HttpRequest; +import com.alibaba.fastjson.JSONObject; + +import javax.crypto.Cipher; +import javax.crypto.spec.SecretKeySpec; +import java.nio.charset.StandardCharsets; + +/** + * 证件号加密工具 + * + * @author joelzzhang + */ +public class PhoneCardCryptoUtil { + + /** + * 以下字符串为密钥,可以通过配置来传递 + */ + public static final String OUTER_AES_KEY = "u3BPiZWALItH27e34oO6bw=="; + public static final String INNER_AES_KEY = "ol1hV81iCruo+thxtZGnCg=="; + public static final String PUBLIC_KEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDADIVdRXNyT5pmGxSUfwEup2Y1YCz7VfibMyyQhkpVP3ByKsoFDjZ30yW5gv70sQbqn/MCthTFqwh3/I/YLfthM3vU7TdlmNfnlKcQ6prxYofLkX8akrhgQVFerb/4DhcbAk5xvx12Dkeh/nzDf5Qw2K3CymRPnr4zN6ZjAL79HwIDAQAB"; + public static final String PRIVATE_KEY = "MIICdAIBADANBgkqhkiG9w0BAQEFAASCAl4wggJaAgEAAoGBAMAMhV1Fc3JPmmYbFJR/AS6nZjVgLPtV+JszLJCGSlU/cHIqygUONnfTJbmC/vSxBuqf8wK2FMWrCHf8j9gt+2Eze9TtN2WY1+eUpxDqmvFih8uRfxqSuGBBUV6tv/gOFxsCTnG/HXYOR6H+fMN/lDDYrcLKZE+evjM3pmMAvv0fAgMBAAECf2rTWPVVrHuC/ywzFz+CmSXAxLNSZbMCH0doYvs0hIrmvtjCjgN1F6P1z2yUpHBEbsetZEwdyQnEf74+WCuBaFIYjmQm/05grIxam/QrGibnV5qNiA0VeCkj6bUy+z5mt3/ithgzjmOiYIgMenjf6ut6RmgRDodgJiFbvSvfskECQQDoqGMNaUV+Y/O9h+l9eOCkSUOjOsL9WDRL34ei/jf7VFFYBZLs2GMzLunDkDz1dHvufDiMPeHUTTN8zIEEpNMVAkEA01Ehf9Np2zUqFQp3SW/fHVsaGM97JsbsTQrsDdUWwZLJTSQ7Yf+yg21GkNa8Mmlsp1OLyS607HV7lPlKO0LsYwJBAN1LTOv0taUCbVRZcj1mPEYHac5Ylh9jRlrkwp7GL3lfOf//TUD6kWCdvrvE9jaCFV9ByIecVLEavV53JkDEhgECQHgR40z0XXOWs8Cc38a0cDwH5b4vNjSEVwQ3roT1jSaUNxlD+xHl7hLLZosp2Gl0ia5RxF2d0mOBJaUyOMGPdy0CQCLBU3995JMoUyLgt2+Riw0PFbdxFEnKGyshAt5Q957/hC6L/V5tQNnh/AM9q23DIUQGb1whhxdIzV12qFSSS34="; + + /** + * 新版 AES/ECB/PKCS5Padding 对称密钥(与 userCrypto.js 保持一致) + * js 中: str1="qwepoiad", str2="sf12vfgi", key = str1+str2 + */ + private static final String AES_ECB_KEY = "qwepoiadsf12vfgi"; + + public static void main(String[] args) { + System.out.println("=============== 新版 AES/ECB 加解密示例 ==============="); + // 加密 + String source = "19925235717"; + String encrypted = aesEcbEncrypt(source); + System.out.println(source + " 加密后: " + encrypted); + + // 解密 + String decrypted = aesEcbDecrypt("pm1VDl8q3dfp7irhyhrtiw3amYU1jKdOhpjTqMWv0w="); + System.out.println(encrypted + " 解密后: " + decrypted); + + System.out.println("=============== 批量测试 ==============="); + String[] phones = {"13631554532", "13692276207"}; + for (String phone : phones) { + String enc = aesEcbEncrypt(phone); + System.out.println(phone + " 加密后: " + enc); + System.out.println(enc + " 解密后: " + aesEcbDecrypt(enc)); + } + } + + // ======================== 新版 AES/ECB 加解密(与 userCrypto.js 一致) ======================== + + /** + * AES/ECB/PKCS5Padding 加密(Java中PKCS5Padding等价于JS的PKCS7Padding,块大小16时行为一致) + * + * @param content 明文字符串 + * @return Base64 编码的密文 + */ + public static String aesEcbEncrypt(String content) { + try { + byte[] keyBytes = AES_ECB_KEY.getBytes(StandardCharsets.UTF_8); + SecretKeySpec keySpec = new SecretKeySpec(keyBytes, "AES"); + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); + cipher.init(Cipher.ENCRYPT_MODE, keySpec); + byte[] encrypted = cipher.doFinal(content.getBytes(StandardCharsets.UTF_8)); + return Base64.encode(encrypted); + } catch (Exception e) { + throw new RuntimeException("AES ECB 加密失败", e); + } + } + + /** + * AES/ECB/PKCS5Padding 解密(与 userCrypto.js 的 aesDecrypt 对应) + * + * @param encryptedText Base64 编码的密文 + * @return 解密后的明文字符串 + */ + public static String aesEcbDecrypt(String encryptedText) { + try { + byte[] keyBytes = AES_ECB_KEY.getBytes(StandardCharsets.UTF_8); + SecretKeySpec keySpec = new SecretKeySpec(keyBytes, "AES"); + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); + cipher.init(Cipher.DECRYPT_MODE, keySpec); + byte[] decrypted = cipher.doFinal(Base64.decode(encryptedText)); + return new String(decrypted, StandardCharsets.UTF_8); + } catch (Exception e) { + throw new RuntimeException("AES ECB 解密失败", e); + } + } + + // ======================== 旧版方法(保留兼容) ======================== + + /** + * 证件号通过RSA的公钥加密 + */ + public static String asymmetricEncryptIdCard(String publicKey, String privateKey, String content) { + RSA rsa = SecureUtil.rsa(privateKey, publicKey); + byte[] encrypt = rsa.encrypt(content, StandardCharsets.UTF_8, KeyType.PublicKey); + return Base64.encode(encrypt); + } + + /** + * 证件号通过RSA的私钥解密 + */ + public static String asymmetricDecryptIdCard(String publicKey, String privateKey, String content) { + RSA rsa = SecureUtil.rsa(privateKey, publicKey); + byte[] decrypt = rsa.decrypt(content, KeyType.PrivateKey); + return StrUtil.str(decrypt, StandardCharsets.UTF_8); + } + + /** + * 证件号对称加密后入库(旧版) + */ + public static String symmetricEncryptIdCard(String key, String content) { + return SecureUtil.aes(SecureUtil.decode(key)).encryptBase64(content); + } + + /** + * 证件号对称解密(旧版) + */ + public static String symmetricDecryptIdCard(String key, String content) { + return SecureUtil.aes(SecureUtil.decode(key)).decryptStr(content); + } + + public static String httpSendPost(String url, String userId, String userName, String appCode) { + HttpRequest request = HttpRequest.post(url) + .header("x-auth-channel", IdUtil.simpleUUID()) + .header("x-auth-app-code", appCode) + .form("userId", userId) + .form("userName", userName); + request.contentType("application/x-www-form-urlencoded"); + JSONObject jsonObject = JSONObject.parseObject(request.execute().body()); + return jsonObject.getString("data"); + } +} diff --git a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutEnforcementRegistrationController.java b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutEnforcementRegistrationController.java index 85bde295..bd1ae7aa 100644 --- a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutEnforcementRegistrationController.java +++ b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutEnforcementRegistrationController.java @@ -254,6 +254,10 @@ public class OutEnforcementRegistrationController extends BaseController public TableDataInfo queryEnterpriseList(EnforcementRegistration enforcementRegistration) { startPage(); + System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); + System.out.println("SearchValue:"+enforcementRegistration.getSearchValue()); + System.out.println("SearchText:"+enforcementRegistration.getSearchText()); + System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); List list = enforcementRegistrationService.selectEnterpriseRegistrationList(enforcementRegistration); DictDataBean dictParams = new DictDataBean(); dictParams.setDictType("law_enforce_category"); diff --git a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutEnterpriseInfoController.java b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutEnterpriseInfoController.java index 6a5c62e5..06a3e200 100644 --- a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutEnterpriseInfoController.java +++ b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutEnterpriseInfoController.java @@ -1,25 +1,16 @@ package com.zdxt.app.controller.external.company; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; -import com.zdxt.auth.dto.DictDataBean; -import com.zdxt.auth.feign.DictDataApi; -import com.zdxt.auth.feign.ZdxtFileCommonApi; +import com.alibaba.fastjson.JSONObject; import com.zdxt.code.domain.*; -import com.zdxt.code.mapper.EnforcementRegistrationMapper; import com.zdxt.code.service.*; import com.zdxt.common.ZDResponse; import com.zdxt.common.controller.BaseController; -import com.zdxt.common.util.StringUtils; -import com.zdxt.common.util.TableDataInfo; -import com.zdxt.common.zdxtFile.ZdxtFileCommon; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; -import java.util.*; - /** * 外部接口-企业执法-在线投诉Controller * @@ -33,6 +24,7 @@ public class OutEnterpriseInfoController extends BaseController { @Autowired private IEnterpriseInformationService enterpriseInformationService; @Autowired private IQrCodeGenerateHistoryService iQrCodeGenerateHistoryService; + @Autowired private ThirdLoginService thirdLoginService; @GetMapping("/getQrCode") @ResponseBody @@ -60,4 +52,15 @@ public class OutEnterpriseInfoController extends BaseController { return enterpriseInformationService.insertEnterpriseInformation(enterpriseInformation) > 0 ? ZDResponse.success("登记成功"): ZDResponse.error("登记失败"); } + + /** + * 添加深i企 + * @param jsonObject + * @return + */ + @PostMapping("/addLiqUserCompany") + @ResponseBody + public ZDResponse addLiqUserCompany(@RequestBody JSONObject jsonObject) { + return thirdLoginService.addLiqUserCompany(jsonObject) ? ZDResponse.success("登记成功") : ZDResponse.error("登记失败"); + } } diff --git a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutUserController.java b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutUserController.java new file mode 100644 index 00000000..4bfd1b8f --- /dev/null +++ b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutUserController.java @@ -0,0 +1,38 @@ +package com.zdxt.app.controller.external.company; + +import com.alibaba.fastjson.JSONObject; +import com.zdxt.auth.dto.DeptBean; +import com.zdxt.auth.feign.DeptApi; +import com.zdxt.code.domain.EnterpriseInformation; +import com.zdxt.code.service.ThirdLoginService; +import com.zdxt.common.ZDResponse; +import com.zdxt.common.controller.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @Author: kylin + * @Date: 2024/5/1 3:00 下午 + * @Version: 1.0 + * @Desc: TODO + */ +@Controller +@RequestMapping("/external/user") +public class OutUserController extends BaseController { + + @Autowired private ThirdLoginService thirdLoginService; + + /** + * 新增保存企业信息登记 + */ + @PostMapping("/addLiqUser") + @ResponseBody + public ZDResponse addLiqUser(@RequestBody JSONObject jsonObject) + { + Long userId = thirdLoginService.addLiqUser(jsonObject); + return ZDResponse.success("登记成功", userId); + } +} diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CorsFilter.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CorsFilter.java index d0df3972..e3342c00 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CorsFilter.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CorsFilter.java @@ -31,7 +31,7 @@ public class CorsFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //配置可信域名 - String[] authhosts = {"http://10.132.108.3:85","http://jdm.szssfj.cn","http://localhost:85","http://192.168.31.196:3301","http://172.16.20.74:85", + String[] authhosts = {"http://10.132.108.3:85","http://jdm.szssfj.cn","http://localhost:85","http://192.168.31.196:3301","http://172.16.20.74:85", "http://192.168.145.155", "http://zfjdm.lggov.cn", "https://zfjdm.lggov.cn", "http://localhost:3301","http://10.132.108.3:81","http://10.132.108.3:85", "http://192.168.1.130:3301", "http://172.16.20.74:3301", "http://10.132.108.1", "http://10.132.108.6"}; String authost = ""; HttpServletRequest httprequest = (HttpServletRequest) request; diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/XssAndSqlFilter.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/XssAndSqlFilter.java index 7d49db08..adfa006f 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/XssAndSqlFilter.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/XssAndSqlFilter.java @@ -38,7 +38,8 @@ public class XssAndSqlFilter implements Filter { String uri = req.getRequestURI(); if (uri.indexOf("/system/notice/") >= 0 || uri.indexOf("/app/code/registration/") >= 0 - || uri.indexOf("/app/enterpriseInformation/getEnterpriseInfoBySj") >= 0) { + || uri.indexOf("/app/enterpriseInformation/getEnterpriseInfoBySj") >= 0 + || uri.indexOf("/external/") >= 0) { chain.doFilter(request, response); return; } diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/ThirdLoginService.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/ThirdLoginService.java index b934deb4..366b4f9e 100644 --- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/ThirdLoginService.java +++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/ThirdLoginService.java @@ -22,6 +22,7 @@ public interface ThirdLoginService { * @return */ Long addSiqUser(JSONObject jsonObject); + Long addLiqUser(JSONObject jsonObject); /** * 添加深i企 @@ -29,6 +30,12 @@ public interface ThirdLoginService { * @return */ Boolean addSiqUserCompany(JSONObject jsonObject); + /** + * 添加龙i企用户 + * @param jsonObject + * @return + */ + Boolean addLiqUserCompany(JSONObject jsonObject); void siqTestLogin(String userId,String userName); diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ComplaintStatisticsImpl.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ComplaintStatisticsImpl.java index 2d8200e3..e212177f 100644 --- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ComplaintStatisticsImpl.java +++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ComplaintStatisticsImpl.java @@ -6,6 +6,7 @@ import com.zdxt.auth.project.system.dict.mapper.DictDataMapper; import com.zdxt.code.domain.*; import com.zdxt.code.mapper.ComplaintStatisticsMapper; import com.zdxt.code.mapper.EnforcementRegistrationMapper; +import com.zdxt.code.mapper.NonEnforcementRegistrationMapper; import com.zdxt.code.service.ComplaintStatisticsService; import com.zdxt.common.annotation.DataScope; import com.zdxt.domain.auth.Dept; @@ -28,6 +29,8 @@ public class ComplaintStatisticsImpl implements ComplaintStatisticsService { private DictDataMapper dictDataMapper; @Autowired private EnforcementRegistrationMapper enforcementRegistrationMapper; + @Autowired + private NonEnforcementRegistrationMapper nonEnforcementRegistrationMapper; @Override @DataScope(deptField = "complaint_department_id") public List selectComplaintStatisticsList(ComplaintStatistics complaintStatistics){ @@ -97,6 +100,10 @@ public class ComplaintStatisticsImpl implements ComplaintStatisticsService { } }else {//检查事项投诉 EnforcementRegistration enforcementRegistration=enforcementRegistrationMapper.selectEnforcementRegistrationById(enterpriseComplaint.getRelId()); + NonEnforcementRegistration nonEnforcementRegistration = null; + if(null == enforcementRegistration) { + nonEnforcementRegistration = nonEnforcementRegistrationMapper.selectNonEnforcementRegistrationById(enterpriseComplaint.getRelId()); + } // List departmentIdList = Arrays.asList(enterpriseComplaint.getComplaintDepartmentIds().split(",")); ComplaintStatistics complaintStatistics = new ComplaintStatistics(); complaintStatistics.setCid(enterpriseComplaint.getId()); @@ -128,7 +135,11 @@ public class ComplaintStatisticsImpl implements ComplaintStatisticsService { if (enterpriseComplaint.getEnterpriseAddress() != null && !"".equals(enterpriseComplaint.getEnterpriseAddress())) { complaintStatistics.setEnterpriseAddress(enterpriseComplaint.getEnterpriseAddress()); } - complaintStatistics.setComplaintDepartmentId(enforcementRegistration.getBureauDeptId()); + if (null == enforcementRegistration) { + complaintStatistics.setComplaintDepartmentId(nonEnforcementRegistration.getBureauDeptId()); + } else { + complaintStatistics.setComplaintDepartmentId(enforcementRegistration.getBureauDeptId()); + } complaintStatistics.setComplaintDepartment(enterpriseComplaint.getBureauDeptName()); complaintStatisticsMapper.insertComplaintStatistics(complaintStatistics); } diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnforcementRegistrationServiceImpl.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnforcementRegistrationServiceImpl.java index b527937e..eb3c9e53 100644 --- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnforcementRegistrationServiceImpl.java +++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnforcementRegistrationServiceImpl.java @@ -29,6 +29,7 @@ import com.zdxt.code.mapper.LinkageDictMapper; import com.zdxt.code.service.*; import com.zdxt.common.annotation.DataScope; import com.zdxt.common.util.DateUtils; +import com.zdxt.common.util.SpringUtils; import com.zdxt.common.util.StringUtils; import com.zdxt.common.zdxtFile.AttFileRespDTO; import com.zdxt.common.zdxtFile.FilePreviewUtilBean; @@ -298,7 +299,7 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat @Override public List selectEnforcementRegistrationAndAddressList(EnforcementRegistration enforcementRegistration) { List enforcementRegistrations = - enforcementRegistrationMapper.selectEnforcementRegistrationAndAddressList(enforcementRegistration); + SpringUtils.getAopProxy(this).selectEnforcementRegistrationAndAddressList(enforcementRegistration); return enforcementRegistrations; } @Override @@ -1003,7 +1004,7 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat String jd=iDictDataService.selectDictLabel(enforcementRegistration.getQy(),enforcementRegistration.getJd()); enforcementRegistration.setJd(jd); enforcementRegistration.setQy(qy); - List list = enforcementRegistrationMapper.selectEnforcementRegistrationAndAddressList(enforcementRegistration); + List list = SpringUtils.getAopProxy(this).selectEnforcementRegistrationAndAddressList(enforcementRegistration); for(int i=0;i jdList=iDictDataService.selectDictDataByType(enforcementRegistration.getQy()); enforcementRegistration.setQy(qy); - List list = enforcementRegistrationMapper.selectEnforcementRegistrationAndAddressList(enforcementRegistration); + List list = SpringUtils.getAopProxy(this).selectEnforcementRegistrationAndAddressList(enforcementRegistration); /*List jdStrings=new ArrayList<>(); for(DictData dictData:jdList){ jdStrings.add(dictData.getDictLabel()); @@ -1044,7 +1045,7 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat for(DictData dictData:qyList){ qyStrings.add(dictData.getDictLabel()); } - List list = enforcementRegistrationMapper.selectEnforcementRegistrationAndAddressList(enforcementRegistration); + List list = SpringUtils.getAopProxy(this).selectEnforcementRegistrationAndAddressList(enforcementRegistration); List enforcementRegistrationsList=new ArrayList<>(); //enterpriseIsNot为过滤开发环境时无企业信息的情况,正式环境可将编号abc注释 List enterpriseIsNot=list.stream().filter(item->item.getEnterpriseAddress()==null).collect(Collectors.toList());//a diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterpriseInformationServiceImpl.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterpriseInformationServiceImpl.java index 951038af..a625a823 100644 --- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterpriseInformationServiceImpl.java +++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterpriseInformationServiceImpl.java @@ -336,8 +336,6 @@ public class EnterpriseInformationServiceImpl implements IEnterpriseInformationS enterpriseMerchantAuthorization.setMerchantTel(user.getPhonenumber()); iEnterpriseMerchantAuthorizationService.insertEnterpriseMerchantAuthorization(enterpriseMerchantAuthorization); } - - return i; } diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java index 221fc7ab..d5f14545 100644 --- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java +++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java @@ -10,17 +10,15 @@ import com.zdxt.auth.feign.UserApi; import com.zdxt.auth.framework.shiro.jwt.JWTUtils; import com.zdxt.auth.framework.shiro.nopaddword.LoginType; import com.zdxt.auth.framework.shiro.nopaddword.UserToken; +import com.zdxt.auth.project.system.user.service.IUserService; import com.zdxt.code.domain.EnterpriseInformation; import com.zdxt.code.domain.Zfryjdm2405301; import com.zdxt.code.mapper.Xzjcjbxx025711Mapper; import com.zdxt.code.service.IEnterpriseInformationService; import com.zdxt.code.service.ThirdLoginService; import com.zdxt.code.utils.ServiceInvocation; -import com.zdxt.common.util.IdCardCryptoUtil; +import com.zdxt.common.util.*; import com.zdxt.common.ZDResponse; -import com.zdxt.common.util.DateUtils; -import com.zdxt.common.util.StringUtils; -import com.zdxt.common.util.UserConstants; import com.zdxt.domain.auth.User; import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpResponse; @@ -66,6 +64,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService { private UserApi userApi; @Autowired private DeptApi deptApi; + @Autowired private IUserService userService; @Autowired private IEnterpriseInformationService enterpriseInformationService; @@ -221,6 +220,39 @@ public class ThirdLoginServiceImpl implements ThirdLoginService { return null; } + @Override + public Long addLiqUser(JSONObject jsonObject) { + User userDomin = userService.selectUserByKingdeeUserId(jsonObject.getString("uid")); + if (userDomin == null) { + UserBean userBean = new UserBean(); + //设置默认用户权限,权限为默认值 + userBean.setRoleId(178L); + // StringId 和 金蝶Id + userBean.setStrUserId(jsonObject.getString("uid")); + userBean.setKingdeeUserId(jsonObject.getString("uid")); + //用户姓名 + userBean.setUserName(jsonObject.getString("name")); + //手机号码 + String phone = PhoneCardCryptoUtil.aesEcbDecrypt(jsonObject.getString("mobile")); + userBean.setPhonenumber(phone); + userBean.setLoginName(phone); + //TODO 密码漏洞 设置为默认密码 + userBean.setPassword("szsf@zfjd"); + userBean.setCreateTime(DateUtils.getNowDate()); +// userBean.setUserId(Long.valueOf(userId)); + //部门ID设置为默认值 + userBean.setDeptId("405"); + //默认设置深i企用户类型为 1 + userBean.setUserSource(1); + UserBean ub = userApi.getClientUserByUserLoginName(userBean.getLoginName(), 1); + if (null != ub && null != ub.getUserId()) { + return ub.getUserId(); + } + return userApi.insertUserResId(userBean); + } + return userDomin.getUserId(); + } + @Override public Long addSiqUser(JSONObject jsonObject) { @@ -310,6 +342,27 @@ public class ThirdLoginServiceImpl implements ThirdLoginService { return tmp.getUserId(); } + @Override + public Boolean addLiqUserCompany(JSONObject jsonObject) { + //判断当前登录人是否已经在本系统中登记了企业信息 + EnterpriseInformation enterpriseInformation1 = new EnterpriseInformation(); + enterpriseInformation1.setEnterpriseNumber(jsonObject.getString("unicode")); + List enterpriseInformations = enterpriseInformationService.selectEnterpriseInformationList(enterpriseInformation1); + if(enterpriseInformations.size() == 0){ + //保存企业信息 + EnterpriseInformation enterpriseInformation = new EnterpriseInformation(); + //企业统一信用代码 + enterpriseInformation.setEnterpriseNumber(jsonObject.getString("unicode")); + //企业名称 + enterpriseInformation.setEnterpriseName(jsonObject.getString("name")); + //用户Id + enterpriseInformation.setUserId(Long.valueOf(jsonObject.getString("userId"))); + + return enterpriseInformationService.insertEnterpriseInformation(enterpriseInformation) > 0 ? Boolean.TRUE : Boolean.FALSE; + } + return true; + } + @Override public Boolean addSiqUserCompany(JSONObject jsonObject) { //判断当前登录人是否已经在本系统中登记了企业信息 diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/EnterpriseComplaintMapper.xml b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/EnterpriseComplaintMapper.xml index e50405e9..b43c7be0 100644 --- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/EnterpriseComplaintMapper.xml +++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/EnterpriseComplaintMapper.xml @@ -101,9 +101,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" or r.law_enforcement_basis_text like concat(concat('%',#{searchValue}),'%') or c.problem_description like concat(concat('%',#{searchValue}),'%')) - - and (c.enforce_type ='3' or c.rel_id is not null) - + + + ORDER BY c.create_time DESC diff --git a/lib/EmergencyServiceApi/emergencyAuthServiceApi/src/main/java/com/zdxt/auth/dto/UserBean.java b/lib/EmergencyServiceApi/emergencyAuthServiceApi/src/main/java/com/zdxt/auth/dto/UserBean.java index 6b6db684..26c144e8 100644 --- a/lib/EmergencyServiceApi/emergencyAuthServiceApi/src/main/java/com/zdxt/auth/dto/UserBean.java +++ b/lib/EmergencyServiceApi/emergencyAuthServiceApi/src/main/java/com/zdxt/auth/dto/UserBean.java @@ -183,6 +183,32 @@ public class UserBean implements Serializable { */ private Integer userSource; + /** + * 金蝶原始组织结构id(既应急系统部门id) + */ + private String kingdeeOrgId; + + /** + * 金蝶原始用户id + */ + private String kingdeeUserId; + + public String getKingdeeOrgId() { + return kingdeeOrgId; + } + + public void setKingdeeOrgId(String kingdeeOrgId) { + this.kingdeeOrgId = kingdeeOrgId; + } + + public String getKingdeeUserId() { + return kingdeeUserId; + } + + public void setKingdeeUserId(String kingdeeUserId) { + this.kingdeeUserId = kingdeeUserId; + } + public String getDeptName() { return deptName; }