UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -2391,8 +2391,8 @@ List<TripOrderVo> tripOrderVos = processTripOrderVos(orderList); String filePath = tripSheetGenerator.generatePdf(tripOrderVos); File attachment = new File(filePath); String displayFileName = "贵人家园行程单.pdf"; emailUtil.sendEmailWithAttachment(tripSheet.getRecipientEmail(), "行程单", "请查收您的行程单", attachment,displayFileName); String displayFileName = "贵人家园出行-行程单.pdf"; emailUtil.sendEmailWithAttachment(tripSheet.getRecipientEmail(), "贵人家园出行-行程单", "贵人家园出行-行程单", attachment,displayFileName); attachment.delete(); // 发送成功后删除临时文件 Map<String, Object> result = new HashMap<>(); result.put("orderNum", orderList.size()); UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
@@ -11,6 +11,7 @@ import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.ResultUtil; import com.stylefeng.guns.modular.system.util.WeChatUtil; import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil; import com.stylefeng.guns.modular.system.warpper.LoginWarpper; import com.stylefeng.guns.modular.system.warpper.UserInfoWarpper; import com.stylefeng.guns.modular.system.warpper.VerifiedWarpper; @@ -393,6 +394,12 @@ if(null == uid){ return ResultUtil.tokenErr(); } UserInfo userInfo = userInfoService.selectById(uid); if(ToolUtil.isEmpty(userInfo.getOnconUUID())){ String onconUUIDByMobile = UserUtil.getOnconUUIDByMobile("15828353127"); userInfo.setOnconUUID(onconUUIDByMobile); userInfoService.updateById(userInfo); } Map<String, Object> map = userInfoService.queryUserInfo(uid); UserWithdrawal userWithdrawal1 = userWithdrawalService.selectOne(new EntityWrapper<UserWithdrawal>() .eq("phone", map.get("phone")) UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java
@@ -184,7 +184,7 @@ * @return */ public static PayInfo tradePayOff1(TradePayOff1Data tradePayOff1Data) { tradePayOff1Data.setPartnerId("5400004"); tradePayOff1Data.setPartnerId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "5401007" : "5400004"); tradePayOff1Data.setTimeout("72H"); tradePayOff1Data.setScene("TRAFFIC"); tradePayOff1Data.setCurrency("RMB"); @@ -201,7 +201,7 @@ TradeRequest request = new TradeRequest<TradePayOff1Data>(); request.setSceneId("1911676727023968256"); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1954795404533583872" : "1911676727023968256"); request.setAppId(qianYunTongConfig.getAppkey()); request.setConfigVersion(1); request.setRequestId(UUIDUtil.getRandomCode()); @@ -392,7 +392,7 @@ tradeOrderCreateData.setTimeout("72H"); tradeOrderCreateData.setOrderAppId("52270015"); tradeOrderCreateData.setChannelSource("GRJYCXWXXCX"); tradeOrderCreateData.setPayPartnerId("5400004"); tradeOrderCreateData.setPayPartnerId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "5401007" : "5400004"); tradeOrderCreateData.setCurrency("RMB"); tradeOrderCreateData.setNeedLoginFlag("N"); tradeOrderCreateData.setAccessMode("APP"); @@ -406,7 +406,7 @@ TradeRequest request = new TradeRequest<TradeOrderCreateData>(); request.setSceneId("1945688132719169536"); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1954793280550756352" : "1945688132719169536"); request.setAppId(qianYunTongConfig.getAppkey()); request.setConfigVersion(1); request.setRequestId(UUIDUtil.getRandomCode()); @@ -458,7 +458,7 @@ createOrderRequest.setChannelSource("GRJYCXWXXCX"); TradeRequest request = new TradeRequest<CreateOrderRequest>(); request.setSceneId("1948289607125864448"); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1954792737421942784" : "1948289607125864448"); request.setAppId(qianYunTongConfig.getAppkey()); request.setConfigVersion(1); request.setRequestId(UUIDUtil.getRandomCode()); @@ -504,7 +504,7 @@ * @return */ public static PayInfo tradePayOff(TradePayOffData tradePayOffData) { tradePayOffData.setPartnerId("5400005"); tradePayOffData.setPartnerId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "5401008" : "5400005"); tradePayOffData.setTimeout("72H"); tradePayOffData.setScene("TRAFFIC"); tradePayOffData.setCurrency("RMB"); @@ -540,9 +540,9 @@ TradeRequest request = new TradeRequest<TradePayOffData>(); request.setSceneId("1774717104844095488"); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1954794605782913024" : "1774717104844095488"); request.setAppId(qianYunTongConfig.getAppkey()); request.setConfigVersion(2); request.setConfigVersion("prod".equals(qianYunTongConfig.getActiveProfile()) ? 1 : 2); request.setRequestId(UUIDUtil.getRandomCode()); request.setData(tradePayOffData); //请求路径 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongConfig.java
@@ -186,7 +186,7 @@ } if("prod".equals(activeProfile)){ this.setAppkey("10001104"); this.setPrivateKeyPath("/root/server/app/key/private_key.pem"); this.setPrivateKeyPath("/etraffic/server/private_key.pem"); this.setUserName("xiwang"); this.setStatus("1"); this.setApiUrl("http://jjzhongtai.stqcloud.com:10010"); UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java
@@ -25,10 +25,7 @@ private static QianYunTongConfig qianYunTongConfig = SpringContextsUtil.getBean(QianYunTongConfig.class).getQianYunTongConfig(); public static void main(String[] args) { // List<QYTUserInfo> userInfoByPhone = getUserInfoByPhone("15828353127"); // System.out.println(userInfoByPhone); } /** @@ -321,4 +318,51 @@ return object.getBoolean("isok"); } /** * 根据手机号码获取易信uuid * @param mobile * @return */ public static String getOnconUUIDByMobile(String mobile) { //请求路径 String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/getOnconUUIDByMobile"; //私钥文件 String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath(); //注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密 String appKey = qianYunTongConfig.getAppkey();//appkey Map<String, String> headers = new HashMap<>(); headers.put("Content-Type", "application/json"); Map<String, Object> contentMap = new HashMap<String, Object>(); Date nowdate = new Date(); SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss"); String timeStamp = date.format(nowdate); String messageId = UUID.randomUUID().toString().replaceAll("-", ""); contentMap.put(SystemParameterNames.getAppKey(), appKey); contentMap.put(SystemParameterNames.getMessage_id(), messageId); contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName()); contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus()); Map<String, String> map = new HashMap<>(); map.put("mobile", mobile); contentMap.put("content", JSON.toJSONString(map)); log.info("【根据手机号码获取易信uuid】请求地址:" + url); log.info("【根据手机号码获取易信uuid】请求参数:" + JSON.toJSONString(contentMap)); String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, contentMap); log.info("【根据手机号码获取易信uuid】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); String retCode = jsonObject.getString("retCode"); if (!"0".equals(retCode)) { log.error("【根据手机号码获取易信uuid】请求失败:" + result); throw new RuntimeException("【根据手机号码获取易信uuid】请求失败:" + result); } JSONObject object = jsonObject.getJSONObject("object"); Integer status = object.getInteger("status"); if(0 != status){ log.error("【身份证实名认证】请求失败:" + object.getString("desc")); throw new RuntimeException("【身份证实名认证】请求失败:" + object.getString("desc")); } return object.getString("onconUUID"); } } UserQYTTravel/guns-admin/src/main/resources/application-dev.yml
@@ -15,7 +15,6 @@ name: user-server profiles: active: dev # active: prod mvc: static-path-pattern: /static/** view: UserQYTTravel/guns-admin/src/main/resources/application-produce.yml
@@ -14,8 +14,7 @@ application: name: user-server profiles: active: dev # active: prod active: prod mvc: static-path-pattern: /static/** view: @@ -30,18 +29,13 @@ max-request-size: 100MB max-file-size: 100MB redis: host: 192.168.110.80 port: 6379 password: 123456 host: 10.31.1.219 port: 6410 password: Qnz_jt@20#25 database: 0 # redis: # host: 172.21.35.151 # port: 6512 # password: SC_cache@20#25 # database: 0 # timeout: 1000 # cluster: # nodes: 172.21.35.151:6512,172.21.35.152:6512,172.21.35.153:6512,172.21.35.151:6513,172.21.35.152:6513,172.21.35.153:6513 timeout: 1000 cluster: nodes: 10.31.1.219:6410,10.31.1.30:6410,10.31.1.97:6411 mybatis-plus: typeAliasesPackage: com.stylefeng.guns.modular @@ -53,7 +47,7 @@ eureka: client: service-url: #注册中心地址 defaultZone: http://sinata:sinata@192.168.110.85:8000/eureka #启用身份验证的方式连接 defaultZone: http://sinata:sinata@127.0.0.1:8000/eureka #启用身份验证的方式连接 register-with-eureka: true #在注册中心进行注册 fetch-registry: true #从Eureka中获取注册信息。 @@ -66,29 +60,22 @@ spring: datasource: url: jdbc:mysql://192.168.110.80:3306/qyttravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai username: root password: 123456 db-name: qyttravel #用来搜集数据库的所有表 url: jdbc:mysql://10.31.9.146:8066/qnjt_ridingdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai username: qnjt_ridingusr password: qnjtriding@Prom2025 db-name: traffic_scdb #用来搜集数据库的所有表 filters: wall,mergeStat #spring: # datasource: # url: jdbc:mysql://172.21.35.140:8066/traffic_scdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai # username: traffic_scusr # password: QYT_sc@20#25 # db-name: traffic_scdb #用来搜集数据库的所有表 # filters: wall,mergeStat --- spring: data: mongodb: uri: mongodb://192.168.110.80:27017/traveling_track # uri: mongodb://qyt_jtcx:qyt_jtcx2025@172.21.35.195:27017,172.21.35.196:27017/traveling_track host: 10.31.204.66 port: 27009 username: qnjt_ridingmgdb password: qnjtriding@Prom2025 database: qnjt_ridingmgdb --- @@ -117,12 +104,12 @@ appKey: 111 # qyt: socket_uri: http://192.168.110.85:6000 socket_uri: http://10.31.182.13:6000 --- #支付回调地址 #正式环境 callbackPath: https://traffic.qytzt.cn/user callbackPath: https://traffic.qytzt.cn/chuxing/user --- @@ -133,10 +120,10 @@ #邮件配置 spring: mail: host: smtp.qq.com port: 465 username: 1721849008@qq.com password: nhnbmjfdywilcbdj # 这里是授权码,不是邮箱登录密码 host: smtp.163.com port: 993 username: QYTJT001@163.com password: GPaYdKdsQphDGRJd # 这里是授权码,不是邮箱登录密码 properties: mail: smtp: @@ -146,4 +133,4 @@ # pdf生成位置 trip: sheet: filePath: D:/qytPdf/ filePath: /etraffic/server/qytPdf/ UserQYTTravel/guns-admin/src/main/resources/application-test.yml
@@ -72,7 +72,7 @@ spring: data: mongodb: host: 10.88.204.206,10.88.204.207,10.88.204.208 host: 10.88.204.206 port: 27009 username: qn_riding_adm password: QN_riding@Prom2025 @@ -106,7 +106,7 @@ appKey: 111 # qyt: socket_uri: http://192.168.110.85:6000 socket_uri: http://10.88.188.199:6000 --- #支付回调地址