From 16900a8d681aed70bca5b3fea8dc28715dde9712 Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期三, 17 七月 2024 09:53:13 +0800 Subject: [PATCH] 2024-07-17 朱宝民 重构了获取取水口两个接口 --- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java | 12 +++--- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/WXDataSourceNameSetFilter.java | 4 -- pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java | 4 ++ pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java | 19 ++++++++- pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java | 51 ++++++++++++++++++++++++- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java | 4 +- pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml | 4 +- pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml | 20 +++++----- 8 files changed, 90 insertions(+), 28 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/WXDataSourceNameSetFilter.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/WXDataSourceNameSetFilter.java index 385475b..3b127ad 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/WXDataSourceNameSetFilter.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/WXDataSourceNameSetFilter.java @@ -22,9 +22,6 @@ @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { - String ds = DataSourceContext.get(); - System.out.println(ds); - HttpServletRequest httpRequest = (HttpServletRequest) servletRequest; String wxDataSourceName = httpRequest.getHeader("tag"); if(wxDataSourceName != null && wxDataSourceName.trim().length() > 0){ @@ -33,7 +30,6 @@ DataSourceContext.set(wxDataSourceName); } else { log.info("鐢ㄦ埛鏈�夋嫨鏁版嵁婧�"); - DataSourceContext.set("ym"); } filterChain.doFilter(servletRequest, servletResponse); diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java index 234a1bf..4254d08 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java @@ -329,12 +329,12 @@ Data myData = (Data)response_CallBack.getContent(); // 鏇存柊鍛戒护鏃ュ織锛氭墽琛岀粨鏋溿�佽繑鍥炵粨鏋滄椂闂淬�佺粨鏋滃唴瀹� - rmCommandHistory = new RmCommandHistory(); - rmCommandHistory.setComId(comId); - rmCommandHistory.setResult((byte)1); - rmCommandHistory.setResultTime(new Date()); - rmCommandHistory.setResultText((JSONObject)JSON.toJSON(myData)); - rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory); + //rmCommandHistory = new RmCommandHistory(); + //rmCommandHistory.setComId(comId); + //rmCommandHistory.setResult((byte)1); + //rmCommandHistory.setResultTime(new Date()); + //rmCommandHistory.setResultText((JSONObject)JSON.toJSON(myData)); + //rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory); return BaseResponseUtils.buildSuccess(myData) ; } else { diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java index c5c2f24..3ab97a6 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java @@ -113,14 +113,14 @@ List<Map<String, Object>> getNoBindingIntakes(); /** - * 鑾峰彇鍙栨按鍙f暟閲忥紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛夊簾寮� + * 鑾峰彇鍙栨按鍙f暟閲忥紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛� * @param params * @return */ Long getOnLineIntakesCount(Map<?, ?> params); /** - * 鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛夊簾寮� + * 鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛� * @param params * @return */ diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml index ab10469..3b1c640 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml @@ -5,8 +5,8 @@ #name: ym type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver -# url: jdbc:mysql://192.168.40.166:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull - url: jdbc:mysql://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull + url: jdbc:mysql://192.168.40.166:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull +# url: jdbc:mysql://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull # url: jdbc:mysql://8.140.179.55:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull username: root password: dysql,;.abc!@# diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml index 3099a55..54809d4 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml @@ -358,31 +358,31 @@ WHERE id NOT IN(SELECT intakeId FROM pr_controller) AND deleted = 0 </select> - <!--鑾峰彇鍙栨按鍙f暟閲忥紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛� 搴熷純--> + <!--鑾峰彇鍙栨按鍙f暟閲忥紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛�--> <select id="getOnLineIntakesCount" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount FROM pr_controller con INNER JOIN pr_intake inta ON con.intakeId = inta.id left JOIN JSON_TABLE( - <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',--> - #{onLineMap}, - '$[*]' COLUMNS( - rtuAddr VARCHAR(20) PATH '$.rtuAddr', - isOnLine BOOLEAN PATH '$.isOnLine' - ) - ) rtus ON con.rtuAddr = rtus.rtuAddr + <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',--> + #{onLineMap}, + '$[*]' COLUMNS( + rtuAddr VARCHAR(20) PATH '$.rtuAddr', + isOnLine BOOLEAN PATH '$.isOnLine' + ) + ) rtus ON con.rtuAddr = rtus.rtuAddr <where> <if test="isOnLine != null"> rtus.isOnLine = #{isOnLine} </if> <if test="intakeNum != null and intakeNum != ''"> - AND inta.name LIKE CONCAT('%', #{intakeNum}, '%') + AND inta.name = #{intakeNum} </if> </where> </select> - <!--鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛� 搴熷純--> + <!--鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛�--> <select id="getOnLineIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake"> SELECT con.intakeId, diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java index 5ddabb6..e2ee1ef 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java @@ -30,14 +30,29 @@ private final IntakeSv intakeSv; /** - * 鑾峰彇鍙栨按鍙o紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛� + * 鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栧彇姘村彛瀵硅薄 + * @param qo + * @return + */ + @GetMapping(path = "one_intake") + public BaseResponse<QueryResultVo<VoOnLineIntake>> getOneIntake(OnLineIntakesQO qo) { + try { + return BaseResponseUtils.buildSuccess(intakeSv.selectOneIntake(qo)); + } catch (Exception e) { + log.error("鏌ヨ鍙栨按鍙e紓甯�", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + } + + /** + * 鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛� * @param qo * @return */ @GetMapping(path = "all_intakes") public BaseResponse<QueryResultVo<VoOnLineIntake>> getAllIntakes(OnLineIntakesQO qo) { try { - return BaseResponseUtils.buildSuccess(intakeSv.selectOnLineIntakes(qo)); + return BaseResponseUtils.buildSuccess(intakeSv.selectAllIntakes(qo)); } catch (Exception e) { log.error("鏌ヨ鍙栨按鍙e紓甯�", e); return BaseResponseUtils.buildException(e.getMessage()); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java index 32c3ed8..47ecf84 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java @@ -6,6 +6,7 @@ import com.dy.common.multiDataSource.DataSourceContext; import com.dy.common.mw.protocol.Command; import com.dy.common.webUtil.BaseResponse; +import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper; import com.dy.pipIrrGlobal.voPr.VoOnLineIntake; import com.dy.pipIrrWechat.intake.qo.OnLineIntakesQO; @@ -58,10 +59,10 @@ } /** - * 鑾峰彇鍙栨按鍙� + * 鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栧彇姘村彛瀵硅薄 * @return */ - public VoOnLineIntake selectOnLineIntakes(OnLineIntakesQO qo) { + public VoOnLineIntake selectOneIntake(OnLineIntakesQO qo) { Command com = new Command() ; com.id = Command.defaultId; com.code = "LCD0001"; @@ -96,6 +97,52 @@ } /** + * 鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛� + * @return + */ + public QueryResultVo<List<VoOnLineIntake>> selectAllIntakes(OnLineIntakesQO qo) { + Command com = new Command() ; + com.id = Command.defaultId; + com.code = "LCD0001"; + com.type = "innerCommand"; + comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw); + + JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com)); + if(response != null && response.getString("code").equals("0001")) { + JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap"); + HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class); + + JSONArray jsonArray = new JSONArray(); + for (Map.Entry<String, Boolean> entry : onLineMap.entrySet()) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("rtuAddr", entry.getKey()); + jsonObject.put("isOnLine", entry.getValue()); + jsonArray.add(jsonObject); + } + + qo.setOnLineMap(jsonArray.toJSONString()); + // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄 + String intakeNum = qo.getIntakeNum(); + if(intakeNum != null) { + qo.setIntakeNum(intakeNum.toLowerCase()); + } + + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + Long itemTotal = prIntakeMapper.getOnLineIntakesCount(params); + + QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>() ; + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = prIntakeMapper.getOnLineIntakes(params); + return rsVo; + } else { + QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>(); + return rsVo; + } + } + + /** * 鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛 * @param operator * @return diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java index 0e8d641..b6043c0 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; +import com.dy.common.multiDataSource.DataSourceContext; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.ResultCodeMsg; @@ -246,6 +247,7 @@ job_body.put("mchid", mchid); job_body.put("description", description); job_body.put("out_trade_no", orderNumber); + job_body.put("attach", DataSourceContext.get()); job_body.put("notify_url", notifyUrl); //璁㈠崟閲戦 @@ -420,6 +422,8 @@ JSONObject job_resource = JSONObject.parseObject(resource); // 瑙e瘑鍚庡彇鍑猴細鍟嗘埛璁㈠崟鍙枫�佸井淇℃敮浠樿鍗曞彿銆佷氦鏄撶姸鎬併�佹敮浠樺畬鎴愭椂闂� + String attach = job_resource.getString("attach"); + DataSourceContext.set(attach); String out_trade_no = job_resource.getString("out_trade_no"); String transaction_id = job_resource.getString("transaction_id"); String trade_state = job_resource.getString("trade_state"); -- Gitblit v1.8.0