From 06c1e69816f028c3108ce4e1e01db4251e481b06 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 05 七月 2024 08:41:21 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/qo/QoCommand.java | 40 ++ pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java | 168 +++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoRecharge.java | 25 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java | 12 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java | 13 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoCommand.java | 41 ++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java | 2 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java | 36 ++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaUserMapper.java | 4 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java | 48 ++- pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Card.java | 27 + pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Usability.java | 22 + pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/DtoBase.java | 6 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java | 7 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java | 24 + pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java | 34 + pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml | 77 +++-- pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/resources/application.yml | 2 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java | 33 ++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml | 61 ++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java | 17 + pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandCtrl.java | 43 +++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml | 5 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java | 21 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/result/WechatResultCode.java | 7 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/resources/log4j2.yml | 2 pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml | 10 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voBa/VoUserInfo.java | 2 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java | 6 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveOpen.java | 5 30 files changed, 682 insertions(+), 118 deletions(-) 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 c4931dc..6275ab9 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 @@ -256,6 +256,7 @@ // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator); rmCommandHistoryMapper.insert(rmCommandHistory); + comId = rmCommandHistory.getId(); // 鍥炶皟寮傚父 if(!response_CallBack.getCode().equals("0001")) { @@ -289,12 +290,24 @@ System.out.println(job_subData); Boolean dealResult = job_subData.getBoolean("success"); if(!dealResult) { + /** + * 鎵ц澶辫触 + * 鏇存柊鎵ц缁撴灉銆佽繑鍥炵粨鏋滄椂闂淬�佺粨鏋滃唴瀹� + */ + rmCommandHistory = new RmCommandHistory(); + rmCommandHistory.setId(comId); + rmCommandHistory.setResult((byte)0); + rmCommandHistory.setResultTime(new Date()); + rmCommandHistory.setResultText((JSONObject)JSON.toJSON(response_CallBack.getContent())); + rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory); return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); } /** - * 鎵ц鎴愬姛锛岃繑鍥炲洖璋冨唴瀹� + * 鎵ц鎴愬姛 * 濡傛灉鏄紑鍏抽榾锛氭洿鏀硅櫄鎷熷崱鐘舵�侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� + * 鏇存柊鎵ц缁撴灉銆佽繑鍥炵粨鏋滄椂闂淬�佺粨鏋滃唴瀹� + * 杩斿洖鍥炶皟鍐呭 */ if(comType != null) { SeVirtualCard virtualCard = new SeVirtualCard(); @@ -311,6 +324,15 @@ // 鍥炶皟杩斿洖鐨勫唴瀹� Data myData = (Data)response_CallBack.getContent(); + + // 鏇存柊鍛戒护鏃ュ織锛氭墽琛岀粨鏋溿�佽繑鍥炵粨鏋滄椂闂淬�佺粨鏋滃唴瀹� + rmCommandHistory = new RmCommandHistory(); + rmCommandHistory.setId(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/daoBa/BaUserMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaUserMapper.java index 08a4e2f..0721be2 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaUserMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaUserMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoBa.BaUser; +import com.dy.pipIrrGlobal.pojoPr.PrController; import com.dy.pipIrrGlobal.voBa.VoUserInfo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -11,6 +12,8 @@ @Mapper public interface BaUserMapper extends BaseMapper<BaUser> { + + BaUser selectByPrimaryKey(Long id); /** * 鐢ㄦ埛鐧诲綍 @@ -130,5 +133,4 @@ */ List<Map<String, Object>> getRoleNamesByUserId(@Param("userId") Long userId); - BaUser selectById(Long id); } 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 4d85be0..171aca8 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 @@ -132,4 +132,11 @@ * @return */ List<VoOnLineIntake> getUsedIntakes(@Param("onLineMap") String onLineMap, @Param("operator") Long operator); + + /** + * 鍙栨按鍙e悕绉版崲鍙栨按鍙D锛屾壂鐮佸紑闃�浣跨敤 + * @param intakeName + * @return + */ + Long getIntakeIdByName(String intakeName); } diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java index 7161e1c..34f45dd 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java @@ -4,10 +4,12 @@ import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; import com.dy.pipIrrGlobal.voRm.VoUnclosedParam; import com.dy.pipIrrGlobal.voRm.VoUnclosedValve; +import com.dy.pipIrrGlobal.voRm.VoCommand; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * @author ZhuBaoMin @@ -43,6 +45,19 @@ * @param intakeId * @return */ - //VoUnclosedParam getUncloseParam(Long intakeId); VoUnclosedParam getUncloseParam(@Param("onLineMap") String onLineMap, @Param("intakeId")Long intakeId); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍛戒护鏃ュ織鍘嗗彶璁板綍鎬绘暟 + * @param params + * @return + */ + Long getCommandHistoriesCount(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍛戒护鏃ュ織鍘嗗彶璁板綍 + * @param params + * @return + */ + List<VoCommand> getCommandHistories(Map<?, ?> params); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voBa/VoUserInfo.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voBa/VoUserInfo.java index f79881f..f2373d2 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voBa/VoUserInfo.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voBa/VoUserInfo.java @@ -21,7 +21,7 @@ private static final long serialVersionUID = 202401241704002L; @Schema(title = "鐢ㄦ埛ID") - private String userId; + private String id; @Schema(title = "鐢ㄦ埛濮撳悕") private String userName; diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoCommand.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoCommand.java new file mode 100644 index 0000000..73f38e6 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoCommand.java @@ -0,0 +1,41 @@ +package com.dy.pipIrrGlobal.voRm; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * @author ZhuBaoMin + * @date 2024-07-02 16:22 + * @LastEditTime 2024-07-02 16:22 + * @Description 鍛戒护鏃ュ織瑙嗗浘 + */ + +@Data +public class VoCommand { + private static final long serialVersionUID = 1L; + + @JSONField(serializeUsing= ObjectWriterImplToString.class) + private Long id; + + private String commandName; + + private String intakeName; + + private String rtuAddr; + + private String protocol; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date sendTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date resultTime; + + private String result; + + private String userName; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java index 365a623..1434dd0 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java @@ -1,5 +1,7 @@ package com.dy.pipIrrGlobal.voSe; +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; import com.dy.common.po.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -20,17 +22,36 @@ public class VoRecharge implements BaseEntity { private static final long serialVersionUID = 1L; - @Schema(title = "ID") - private String id; + //@Schema(title = "ID") + //private String id; + + @JSONField(serializeUsing= ObjectWriterImplToString.class) + private Long opeId; + + @JSONField(serializeUsing= ObjectWriterImplToString.class) + private Long cardId; @Schema(title = "鍐滄埛濮撳悕") private String clientName; + private String phone; + + private String idCard; + @Schema(title = "鍐滄埛缂栧彿") private String clientNum; - @Schema(title = "姘村崱缂栧彿") - private String cardNum; + private String address; + + /** + * 姘村崱浣欓 + */ + private Float money; + + @JSONField(serializeUsing= ObjectWriterImplToString.class) + private Long cardNum; + + private Integer cardCost; @Schema(title = "鍏呭�奸噾棰�") private Float amount; @@ -48,7 +69,9 @@ private Float price; @Schema(title = "鎿嶄綔浜�") - private String operator; + private String opr; + + private String operateType; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml index e2e5d47..a07541e 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml @@ -291,7 +291,7 @@ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鐢ㄦ埛鍒楄〃--> <select id="getUsers" resultType="com.dy.pipIrrGlobal.voBa.VoUserInfo"> SELECT - CAST(id AS char) AS userId, + CAST(id AS char) AS id, phone, name AS userName, disabled AS stateId, @@ -343,4 +343,12 @@ WHERE userId = ${userId} </select> + + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List" /> + from ba_user + where id = #{id,jdbcType=BIGINT} + </select> </mapper> \ No newline at end of file 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 2ee04fa..363e4e2 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml @@ -437,4 +437,9 @@ </if> </where> </select> + + <!--鍙栨按鍙e悕绉版崲鍙栨按鍙D锛屾壂鐮佸紑闃�浣跨敤--> + <select id="getIntakeIdByName" resultType="java.lang.Long"> + SELECT id AS intakeId FROM pr_intake WHERE `name` = #{intakeName} + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml index 5394661..2ef9373 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml @@ -246,4 +246,65 @@ LIMIT 0,1 </select> + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍛戒护鏃ュ織鍘嗗彶璁板綍鎬绘暟--> + <select id="getCommandHistoriesCount" resultType="java.lang.Long"> + SELECT + COUNT(*) AS recordCount + FROM rm_command_history his + INNER JOIN pr_intake inta ON inta.id = his.intake_id + LEFT JOIN se_client cli ON cli.id = his.operator + LEFT JOIN ba_user user ON user.id = his.operator + <where> + <if test = "commandName != null and commandName !=''"> + AND his.command_name LIKE CONCAT('%',#{commandName},'%') + </if> + <if test = "result != null"> + AND his.result = #{result} + </if> + <if test = "timeStart != null and timeStop != null"> + AND his.send_time BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍛戒护鏃ュ織鍘嗗彶璁板綍--> + <select id="getCommandHistories" resultType="com.dy.pipIrrGlobal.voRm.VoCommand"> + SELECT + his.id, + his.command_name AS commandName, + inta.name AS intakeName, + his.rtu_addr AS rtuAddr, + his.protocol, + his.send_time AS sendTime, + his.result_time AS resultTime, + (CASE + WHEN his.result = 1 THEN "鎴愬姛" + ELSE "澶辫触" + END) AS result, + his.result_text, + IFNULL(cli.name, user.name) AS userName + FROM rm_command_history his + INNER JOIN pr_intake inta ON inta.id = his.intake_id + LEFT JOIN se_client cli ON cli.id = his.operator + LEFT JOIN ba_user user ON user.id = his.operator + <where> + <if test = "commandName != null and commandName !=''"> + AND his.command_name LIKE CONCAT('%',#{commandName},'%') + </if> + <if test = "result != null"> + AND his.result = #{result} + </if> + + <if test = "timeStart != null and timeStop != null"> + AND his.send_time BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + ORDER BY his.send_time DESC + <trim prefix="limit " > + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml index d9fa1de..00047cf 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml @@ -235,10 +235,10 @@ select COUNT(*) AS recordCount FROM se_card_operate ope - INNER JOIN se_client_card card ON ope.card_id = card.id - INNER JOIN se_client cli ON ope.client_id = cli.id - INNER JOIN ba_user us ON ope.operator = us.id - Left JOIN se_payment_method pay ON ope.payment_id = pay.id + INNER JOIN se_client_card card ON ope.card_id = card.id + INNER JOIN se_client cli ON ope.client_id = cli.id + INNER JOIN ba_user us ON ope.operator = us.id + Left JOIN se_payment_method pay ON ope.payment_id = pay.id <where> AND ope.operate_type in(2, 5) <if test = "clientName != null and clientName !=''"> @@ -253,38 +253,51 @@ AND card.cardNum like CONCAT('%',#{cardNum},'%') </if> - <if test = "paymentId != null and paymentId > 0"> - AND ope.payment_id = ${paymentId} - </if> + <!-- <if test = "paymentId != null and paymentId > 0">--> + <!-- AND ope.payment_id = ${paymentId}--> + <!-- </if>--> - <if test = "rechargeTimeStart != null and rechargeTimeStop != null"> - AND ope.operate_dt BETWEEN #{rechargeTimeStart} AND #{rechargeTimeStop} - </if> + <!-- <if test = "rechargeTimeStart != null and rechargeTimeStop != null">--> + <!-- AND ope.operate_dt BETWEEN #{rechargeTimeStart} AND #{rechargeTimeStop}--> + <!-- </if>--> </where> </select> <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍏呭�艰褰�--> <select id="getRecharges" resultType="com.dy.pipIrrGlobal.voSe.VoRecharge"> SELECT - CAST(ope.id AS char) AS id, - cli.name AS clientName, - cli.clientNum, - CAST(card.cardNum AS char) AS cardNum, - IFNULL(ope.trade_amount, 0) AS amount, - IFNULL(ope.refund_amount, 0) AS refundAmount, - (IFNULL(ope.money, 0) + IFNULL(ope.trade_amount, 0)) AS afterRecharge, - -- ope.payment_id AS paymentId, - pay.name AS paymentName, - ope.price, - us.name AS operator, - ope.operate_dt + ope.id AS opeId, + card.id AS cardId, + cli.name AS clientName, + cli.phone, + cli.idCard, + cli.clientNum, + cli.address, + card.money, + CASE + WHEN card.cardNum LIKE '10%' THEN CONCAT(SUBSTRING(card.cardNum, 7, 6),SUBSTRING(card.cardNum, 14, 4)) + ELSE card.cardNum + END AS cardNum, + IFNULL(ope.card_cost,0) AS cardCost, + IFNULL(ope.trade_amount, 0) AS amount, + IFNULL(ope.refund_amount, 0) AS refundAmount, + (IFNULL(ope.money, 0) + IFNULL(ope.trade_amount, 0)) AS afterRecharge, + pay.name AS paymentName, + ope.price, + us.name AS opr, + (CASE + WHEN ope.operate_type = 1 THEN "寮�鍗�" + WHEN ope.operate_type = 2 THEN "鍏呭��" + WHEN ope.operate_type = 5 THEN "杩旇繕" + END) AS operateType, + ope.operate_dt FROM se_card_operate ope INNER JOIN se_client_card card ON ope.card_id = card.id - INNER JOIN se_client cli ON ope.client_id = cli.id - INNER JOIN ba_user us ON ope.operator = us.id - Left JOIN se_payment_method pay ON ope.payment_id = pay.id + INNER JOIN se_client cli ON ope.client_id = cli.id + INNER JOIN ba_user us ON ope.operator = us.id + Left JOIN se_payment_method pay ON ope.payment_id = pay.id <where> - AND ope.operate_type in(2, 5) + AND ope.operate_type in(1, 2, 5) <if test = "clientName != null and clientName !=''"> AND cli.name like CONCAT('%',#{clientName},'%') </if> @@ -297,13 +310,13 @@ AND card.cardNum like CONCAT('%',#{cardNum},'%') </if> - <if test = "paymentId != null and paymentId > 0"> - AND ope.payment_id = ${paymentId} - </if> +<!-- <if test = "paymentId != null and paymentId > 0">--> +<!-- AND ope.payment_id = ${paymentId}--> +<!-- </if>--> - <if test = "rechargeTimeStart != null and rechargeTimeStop != null"> - AND ope.operate_dt BETWEEN #{rechargeTimeStart} AND #{rechargeTimeStop} - </if> +<!-- <if test = "rechargeTimeStart != null and rechargeTimeStop != null">--> +<!-- AND ope.operate_dt BETWEEN #{rechargeTimeStart} AND #{rechargeTimeStop}--> +<!-- </if>--> </where> ORDER BY ope.operate_dt DESC <trim prefix="limit " > diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java index 3735170..6638d2e 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java @@ -58,7 +58,7 @@ * @param dataCd83CloseVo 鍏抽榾涓婃姤鏁版嵁瀵硅薄 */ private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo) throws Exception { - RmOpenCloseValveLast poLast = sv.getRmOpenCloseValveLast(controller.getIntakeId()) ; + RmOpenCloseValveLast poLast = sv.getRmOpenCloseValveLast(rtuAddr) ; if(poLast == null){ //鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鎺у埗鍣ㄧ殑寮�鍏抽榾鏁版嵁 //棣栧厛鐢熸垚鏈�鏂版暟鎹強鍘嗗彶鏁版嵁锛屽苟鍏堜繚瀛� diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java index 2ac39f3..355834b 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java @@ -43,7 +43,7 @@ @Value("${user.defaultTrueRandomFalsePassword:true}") private Boolean defaultTrueRandomFalsePassword; - @Value("${user.defaultPassword:ABC123}") + @Value("${user.defaultPassword:abc_123}") private String defaultPassword; @Autowired @@ -207,7 +207,8 @@ po.supperAdmin = null;//璁剧疆涓簄ull锛屼笉鍋氭洿鏂� po.deleted = null;//璁剧疆涓簄ull锛屼笉鍋氭洿鏂� po.orgTag = null;//璁剧疆涓簄ull锛屼笉鍋氭洿鏂� - po.password = MD5.encrypt(po.password);//杩涜鍔犲瘑 +// 淇敼鐢ㄦ埛淇℃伅涓嶈繘琛屽瘑鐮佷慨鏀� +// po.password = MD5.encrypt(po.password);//杩涜鍔犲瘑 count = this.sv.update(po); this.sv.setRoles(po.id, po.roleIds); } catch (Exception e) { @@ -284,7 +285,7 @@ /** * 閲嶇疆瀵嗙爜 - * @param vo form琛ㄥ崟瀵硅薄 + * @param * @return 鏄惁鎴愬姛 */ @Operation(summary = "閲嶇疆瀵嗙爜", description = "鎻愪氦鏁版嵁锛坒orm琛ㄥ崟json鏁版嵁锛夛紝杩涜瀵嗙爜閲嶇疆") @@ -296,21 +297,21 @@ schema = @Schema(implementation = Boolean.class))} ) }) - @PostMapping(path = "resetPassword", consumes = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(path = "resetPassword") @SsoAop() - public BaseResponse<Boolean> resetPassword(@RequestBody ResetPasswordVo vo) throws Exception { - if (vo.id == null) { + public BaseResponse<Boolean> resetPassword(String id) throws Exception { + if (id == null || id == "") { return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖"); } - String password = MD5.encrypt(vo.password);//杩涜鍔犲瘑鐮� - Long idLg = Long.parseLong(vo.id); + Long idLg = Long.parseLong(id); int count; try { BaUser po = this.sv.selectById(idLg); if (Objects.isNull(po)) { return BaseResponseUtils.buildFail("鏈緱鍒扮敤鎴凤紝璇锋眰澶辫触"); - } else { - count = this.sv.changePassword(idLg, password); + }else { + String defaultPassword1 = MD5.encrypt(defaultPassword);//杩涜鍔犲瘑鐮� + count = this.sv.changePassword(idLg, defaultPassword1); } } catch (Exception e) { log.error("淇濆瓨鐢ㄦ埛寮傚父", e); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java index 6534304..c11a566 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java @@ -50,7 +50,7 @@ * @return 鐢ㄦ埛瀹炰綋 */ public BaUser selectById(Long id) { - return this.dao.selectById(id); + return this.dao.selectByPrimaryKey(id); } /** @@ -76,7 +76,7 @@ if(list_users.size() > 0) { for(int i = 0; i < list_users.size(); i++) { VoUserInfo voUserInfo = list_users.get(i); - String userId = voUserInfo.getUserId(); + String userId = voUserInfo.getId(); JSONArray array_roleIds = new JSONArray(); List<Map<String, Object>> list_roleIds = Optional.ofNullable(this.dao.getRoleIdsByUserId(Long.parseLong(userId))).orElse(new ArrayList<>()); @@ -221,7 +221,7 @@ if(map.size() == 0) { return null; } - voUserInfo.setUserId(String.valueOf(userId)); + voUserInfo.setId(String.valueOf(userId)); voUserInfo.setUserName(map.get("userName").toString()); voUserInfo.setPhone(map.get("phone").toString()); voUserInfo.setBlockId(map.get("blockId").toString()); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/resources/application.yml b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/resources/application.yml index 28a280a..973e64a 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/resources/application.yml +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/resources/application.yml @@ -3,7 +3,7 @@ include: global, database, database-ym, database-pj user: defaultTrueRandomFalsePassword: true #true:閲囩敤榛樿瀵嗙爜锛宖alse:绯荤粺浜х敓闅忔満瀵嗙爜 - defaultPassword: "ABC123" + defaultPassword: "abc_123" #actutor鐨剋eb绔彛 management: diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/resources/log4j2.yml b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/resources/log4j2.yml index 924901d..903a76c 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/resources/log4j2.yml +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/resources/log4j2.yml @@ -65,7 +65,7 @@ # 涓哄寘閰嶇疆鐗规畩鐨凩og绾у埆锛屾柟渚胯皟璇曪紝 # 涓嶅彈Loggers.Root.level闄愬埗 Logger: - - name: com.dy.pipIrrGlobal.daoSe + - name: com.dy.pipIrrGlobal.daoPr additivity: false #鍘婚櫎閲嶅鐨刲og level: debug #杈撳嚭鏃ュ織绾у埆 AppenderRef: diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandCtrl.java new file mode 100644 index 0000000..5133c35 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandCtrl.java @@ -0,0 +1,43 @@ +package com.dy.pipIrrRemote.common; + +import com.dy.common.aop.SsoAop; +import com.dy.common.webUtil.BaseResponse; +import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.common.webUtil.QueryResultVo; +import com.dy.pipIrrGlobal.voRm.VoCommand; +import com.dy.pipIrrRemote.common.qo.QoCommand; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author ZhuBaoMin + * @date 2024-07-03 9:48 + * @LastEditTime 2024-07-03 9:48 + * @Description + */ + +@Slf4j +@RestController +@RequestMapping(path="get") +@RequiredArgsConstructor +public class CommandCtrl { + private final CommandSv commandSv; + + @GetMapping(path = "/command_history") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoCommand>>> get(QoCommand vo){ + try { + QueryResultVo<List<VoCommand>> res = commandSv.getCommandHistories(vo); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鑾峰彇鍏呭�艰褰曞紓甯�", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java index 585e387..0fc696d 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java @@ -15,13 +15,17 @@ import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.voPr.VoOnLineIntake; +import com.dy.pipIrrGlobal.voRm.VoCommand; import com.dy.pipIrrGlobal.voRm.VoUnclosedParam; import com.dy.pipIrrGlobal.voRm.VoUnclosedValve; import com.dy.pipIrrGlobal.voSe.VoVirtualCard; +import com.dy.pipIrrRemote.common.qo.QoCommand; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.stereotype.Service; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -179,4 +183,36 @@ public SeClientCard geClientCardByCardId(Long cardId) { return seClientCardMapper.selectByPrimaryKey(cardId); } + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍛戒护鏃ュ織鍘嗗彶璁板綍 + * @param query + * @return + */ + public QueryResultVo<List<VoCommand>> getCommandHistories(QoCommand query) { + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + // 瀹屽杽鏌ヨ璧锋鏃堕棿 + String timeStart = query.getTimeStart(); + String timeStop = query.getTimeStop(); + if(timeStart != null) { + timeStart = timeStart + " 00:00:00"; + query.setTimeStart(timeStart); + } + if(timeStop != null) { + timeStop = timeStop + " 23:59:59"; + query.setTimeStop(timeStop); + } + + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(query); + + Long itemTotal = rmCommandHistoryMapper.getCommandHistoriesCount(params); + + QueryResultVo<List<VoCommand>> rsVo = new QueryResultVo<>() ; + rsVo.pageSize = query.pageSize ; + rsVo.pageCurr = query.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = rmCommandHistoryMapper.getCommandHistories(params); + return rsVo ; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Card.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Card.java new file mode 100644 index 0000000..4194193 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Card.java @@ -0,0 +1,27 @@ +package com.dy.pipIrrRemote.common.dto; + +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +/** + * @author ZhuBaoMin + * @date 2024-06-29 11:01 + * @LastEditTime 2024-06-29 11:01 + * @Description 鐗╃悊姘村崱 + */ + +@Data +public class Card extends DtoBase { + public static final long serialVersionUID = 202406291102001L; + + /** + * 姘村崱鍦板潃 + */ + @NotBlank(message = "姘村崱鍦板潃涓嶈兘涓虹┖") + private String cardAddr; + + /** + * 姘村崱缂栧彿 + */ + private Long cardNum; +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Usability.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Usability.java new file mode 100644 index 0000000..b94ede4 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Usability.java @@ -0,0 +1,22 @@ +package com.dy.pipIrrRemote.common.dto; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * @author ZhuBaoMin + * @date 2024-07-02 11:00 + * @LastEditTime 2024-07-02 11:00 + * @Description 缁堢鐢ㄦ按鏈夋晥鎬у璞� + */ + +@Data +public class Usability extends DtoBase { + public static final long serialVersionUID = 202407021101001L; + + /** + * 缁堢鐢ㄦ按鏈夋晥鎬� + */ + @NotNull(message = "缁堢鐢ㄦ按鏈夋晥鎬т笉鑳戒负绌�") + private Boolean valid; +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/qo/QoCommand.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/qo/QoCommand.java new file mode 100644 index 0000000..8491229 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/qo/QoCommand.java @@ -0,0 +1,40 @@ +package com.dy.pipIrrRemote.common.qo; + +import com.dy.common.webUtil.QueryConditionVo; +import lombok.*; + +/** + * @author ZhuBaoMin + * @date 2024-07-03 9:25 + * @LastEditTime 2024-07-03 9:25 + * @Description 鍛戒护鏃ュ織鍘嗗彶璁板綍鏌ヨ瑙嗗浘 + */ + +@Data +@EqualsAndHashCode(callSuper = false) +@ToString(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class QoCommand extends QueryConditionVo { + + /** + * 鍛戒护鍚嶇О + */ + private String commandName; + + /** + * 鍛戒护缁撴灉锛�0-澶辫触锛�1-鎴愬姛 + */ + private Integer result; + + /** + * 鏌ヨ璧峰鏃堕棿 + */ + private String timeStart; + + /** + * 鏌ヨ鎴鏃堕棿 + */ + private String timeStop; +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java index 15af450..84668b9 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java @@ -6,9 +6,7 @@ import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com97Vo; import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com98Vo; import com.dy.common.mw.protocol.p206V202404.CodeV202404; -import com.dy.common.mw.protocol.p206V202404.downVos.ComCd15Vo; -import com.dy.common.mw.protocol.p206V202404.downVos.ComCd92_A2Vo; -import com.dy.common.mw.protocol.p206V202404.downVos.ComCd93_A3Vo; +import com.dy.common.mw.protocol.p206V202404.downVos.*; import com.dy.common.util.IDLongGenerator; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; @@ -20,9 +18,7 @@ import com.dy.pipIrrGlobal.voRm.VoUnclosedValve; import com.dy.pipIrrGlobal.voSe.VoVirtualCard; import com.dy.pipIrrRemote.common.CommandSv; -import com.dy.pipIrrRemote.common.dto.DtoBase; -import com.dy.pipIrrRemote.common.dto.Recharge; -import com.dy.pipIrrRemote.common.dto.ValveOpen; +import com.dy.pipIrrRemote.common.dto.*; import com.dy.pipIrrRemote.result.RemoteResultCode; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; @@ -393,4 +389,164 @@ return BaseResponseUtils.buildFail("绯荤粺鏆備笉鏀寔璇ュ崗璁�"); } } + + /** + * 寮哄埗鍏抽榾 + * @param card + * @param bindingResult + * @return + */ + @PostMapping(path = "forced_close", consumes = MediaType.APPLICATION_JSON_VALUE) + @Transactional(rollbackFor = Exception.class) + @SsoAop() + public BaseResponse<Boolean> forcedClose(@RequestBody @Valid Card card, BindingResult bindingResult) { + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + + Long intakeId = card.getIntakeId(); + String cardAddr = card.getCardAddr(); + Long operator = card.getOperator(); + Long comId = idLongGenerator.generate(); + + // 鑾峰彇绯荤粺鍙傛暟 + if(!setuped) { + setUp(); + } + + // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚 + JSONObject job_rtu = getRtu(intakeId, null); + if(job_rtu == null) { + return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage()); + } + String rtuAddr = job_rtu.getString("rtuAddr"); + String protocol = job_rtu.getString("protocol"); + + String commandCode = null; + if(protocol.equals("p206V202404")) { + // 鑾峰彇鍔熻兘鐮� + commandCode = CodeV202404.cd_9C; + + // 鍒涘缓瑙嗗浘 + ComCd9CVo param = new ComCd9CVo(); + param.controllerType = controllerType; + param.projectNo = projectNo; + param.icCardAddr = cardAddr; + + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 1 鍑嗗鍙傛暟 + * 2 璋冪敤鍏叡鏂规硶 + */ + Param myParam = new Param(); + myParam.setComId(comId); + myParam.setCommandCode(commandCode); + myParam.setCommandName(CodeV202404.getCodeName(commandCode)); + myParam.setIntakeId(intakeId); + myParam.setRtuAddr(rtuAddr); + myParam.setProtocol(protocol); + myParam.setParam(param); + myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); + } else if(protocol.equals("p206V1_0_1")) { + return BaseResponseUtils.buildErrorMsg(RemoteResultCode.THE_DEVICE_DOES_NOT_HAVE_THIS_FUNCTION.getMessage()); + } else { + return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�"); + } + } + + /** + * 璁惧缁堢鐢ㄦ按鎺у埗 + * @param usability + * @param bindingResult + * @return + */ + @PostMapping(path = "usability", consumes = MediaType.APPLICATION_JSON_VALUE) + @Transactional(rollbackFor = Exception.class) + @SsoAop() + public BaseResponse<Boolean> usability(@RequestBody @Valid Usability usability, BindingResult bindingResult) { + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + + Long intakeId = usability.getIntakeId(); + Boolean valid = usability.getValid(); + Long operator = usability.getOperator(); + Long comId = idLongGenerator.generate(); + + // 鑾峰彇绯荤粺鍙傛暟 + if(!setuped) { + setUp(); + } + + // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚 + JSONObject job_rtu = getRtu(intakeId, null); + if(job_rtu == null) { + return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage()); + } + String rtuAddr = job_rtu.getString("rtuAddr"); + String protocol = job_rtu.getString("protocol"); + + String commandCode = null; + if(protocol.equals("p206V202404")) { + if(valid) { + // 鑾峰彇鍔熻兘鐮� + commandCode = CodeV202404.cd_30; + + // 鍒涘缓瑙嗗浘 + ComCd31Vo param = new ComCd31Vo(); + param.controllerType = controllerType; + param.projectNo = projectNo; + param.valid = true; + + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 1 鍑嗗鍙傛暟 + * 2 璋冪敤鍏叡鏂规硶 + */ + Param myParam = new Param(); + myParam.setComId(comId); + myParam.setCommandCode(commandCode); + myParam.setCommandName(CodeV202404.getCodeName(commandCode)); + myParam.setIntakeId(intakeId); + myParam.setRtuAddr(rtuAddr); + myParam.setProtocol(protocol); + myParam.setParam(param); + myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); + }else { + // 鑾峰彇鍔熻兘鐮� + commandCode = CodeV202404.cd_31; + + // 鍒涘缓瑙嗗浘 + ComCd31Vo param = new ComCd31Vo(); + param.controllerType = controllerType; + param.projectNo = projectNo; + param.valid = false; + + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 1 鍑嗗鍙傛暟 + * 2 璋冪敤鍏叡鏂规硶 + */ + Param myParam = new Param(); + myParam.setComId(comId); + myParam.setCommandCode(commandCode); + myParam.setCommandName(CodeV202404.getCodeName(commandCode)); + myParam.setIntakeId(intakeId); + myParam.setRtuAddr(rtuAddr); + myParam.setProtocol(protocol); + myParam.setParam(param); + myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); + } + } else if(protocol.equals("p206V1_0_1")) { + return BaseResponseUtils.buildErrorMsg(RemoteResultCode.THE_DEVICE_DOES_NOT_HAVE_THIS_FUNCTION.getMessage()); + } else { + return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�"); + } + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java index 7ff5012..cb6bb55 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java @@ -798,11 +798,17 @@ @GetMapping(path = "/getRecharges") @SsoAop() public BaseResponse<QueryResultVo<List<VoRecharge>>> get(QoRecharge vo){ + // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙� + if(vo != null && vo.getCardNum() != null) { + String cardNumS = String.valueOf(vo.getCardNum()).trim(); + if(cardNumS.length() == 10) { + cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6); + vo.setCardNum(Long.parseLong(cardNumS)); + } + } + try { QueryResultVo<List<VoRecharge>> res = cardOperateSv.getRecharges(vo); - //if(res.itemTotal == 0) { - // return BaseResponseUtils.buildFail(SellResultCode.No_RECHARGES.getMessage()); - //} return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("鑾峰彇鍏呭�艰褰曞紓甯�", e); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java index 180bfe9..540a0e3 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java @@ -210,7 +210,19 @@ return BaseResponseUtils.buildErrorMsg(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage()); } - return BaseResponseUtils.buildSuccess(true) ; + //return BaseResponseUtils.buildSuccess(true) ; + + cardNumS = String.valueOf(cardNum).trim(); + if(cardNumS.substring(0,2).equals("10")) { + cardNumS = cardNumS.substring(6,12) + cardNumS.substring(13); + } + cardNum = Long.parseLong(cardNumS); + + Map map_response = new HashMap(); + map_response.put("projectNo", String.format("%02x", Integer.parseInt(getProjectNo()))); + map_response.put("orderNumber", rec); + map_response.put("cardNum", cardNum); + return BaseResponseUtils.buildSuccess(map_response) ; } /** @@ -220,16 +232,16 @@ */ public QueryResultVo<List<VoRecharge>> getRecharges(QoRecharge queryVo) { //瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿 - String rechargeTimeStart = queryVo.rechargeTimeStart; - String rechargeTimeStop = queryVo.rechargeTimeStop; - if(rechargeTimeStart != null) { - rechargeTimeStart = rechargeTimeStart + " 00:00:00"; - queryVo.setRechargeTimeStart(rechargeTimeStart); - } - if(rechargeTimeStop != null) { - rechargeTimeStop = rechargeTimeStop + " 23:59:59"; - queryVo.setRechargeTimeStop(rechargeTimeStop); - } + //String rechargeTimeStart = queryVo.rechargeTimeStart; + //String rechargeTimeStop = queryVo.rechargeTimeStop; + //if(rechargeTimeStart != null) { + // rechargeTimeStart = rechargeTimeStart + " 00:00:00"; + // queryVo.setRechargeTimeStart(rechargeTimeStart); + //} + //if(rechargeTimeStop != null) { + // rechargeTimeStop = rechargeTimeStop + " 23:59:59"; + // queryVo.setRechargeTimeStop(rechargeTimeStop); + //} Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoRecharge.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoRecharge.java index 543e308..bafa458 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoRecharge.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoRecharge.java @@ -20,17 +20,20 @@ @Schema(name = "IC鍗″厖鍊艰褰曟煡璇㈡潯浠�") public class QoRecharge extends QueryConditionVo { - @Schema(description = "鍐滄埛濮撳悕") - public String clientName; + private String clientName; - @Schema(description = "鍐滄埛缂栧彿") - private Long clientId; + private String clientNum; - @Schema(description = "IC鍗″彿") - public String cardAddr; + private Long cardNum; - @Schema(description = "浠樻鏂瑰紡") - public Integer paymentId; + //@Schema(description = "鍐滄埛缂栧彿") + //private Long clientId; + + //@Schema(description = "IC鍗″彿") + //public String cardAddr; + + //@Schema(description = "浠樻鏂瑰紡") + //public Integer paymentId; //@Schema(description = "鍏呭�兼椂闂確寮�濮�") //public LocalDateTime rechargeTimeStart; @@ -38,9 +41,7 @@ //@Schema(description = "鍏呭�兼椂闂確缁撴潫") //public LocalDateTime rechargeTimeStop; - @Schema(description = "鍏呭�兼椂闂確寮�濮�") - public String rechargeTimeStart; + //public String rechargeTimeStart; - @Schema(description = "鍏呭�兼椂闂確缁撴潫") - public String rechargeTimeStop; + //public String rechargeTimeStop; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java index 6d032a7..1bc71bc 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java @@ -62,25 +62,6 @@ } /** - * 娣诲姞鍛戒护鏃ュ織 - * @param po 鍛戒护鏃ュ織瀵硅薄 - * @return 瀛楃涓茬被鍨嬬殑涓婚敭 - */ - public Long insert(RmCommandHistory po) { - rmCommandHistoryMapper.insert(po); - return po.getId(); - } - - /** - * 淇敼鍛戒护鏃ュ織淇℃伅 - * @param po 鍛戒护鏃ュ織瀵硅薄 - * @return 褰卞搷璁板綍鏁伴噺 - */ - public Integer update(RmCommandHistory po) { - return rmCommandHistoryMapper.updateByPrimaryKeySelective(po); - } - - /** * 鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍锛堝寘鍚湪绾挎儏鍐碉級 * @param operator * @return @@ -135,4 +116,33 @@ public SeClientCard geClientCardByCardId(Long cardId) { return seClientCardMapper.selectByPrimaryKey(cardId); } + + /** + * 娣诲姞鍛戒护鏃ュ織 + * @param po 鍛戒护鏃ュ織瀵硅薄 + * @return 瀛楃涓茬被鍨嬬殑涓婚敭 + */ + public Long insert(RmCommandHistory po) { + rmCommandHistoryMapper.insert(po); + return po.getId(); + } + + /** + * 淇敼鍛戒护鏃ュ織淇℃伅 + * @param po 鍛戒护鏃ュ織瀵硅薄 + * @return 褰卞搷璁板綍鏁伴噺 + */ + public Integer update(RmCommandHistory po) { + return rmCommandHistoryMapper.updateByPrimaryKeySelective(po); + } + + /** + * 鍙栨按鍙e悕绉版崲鍙栨按鍙D锛屾壂鐮佸紑闃�浣跨敤 + * @param intakeName + * @return + */ + public Long getIntakeIdByName(String intakeName) { + return prIntakeMapper.getIntakeIdByName(intakeName); + } + } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java index 59f32ed..7cc13da 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java @@ -70,10 +70,23 @@ } Long intakeId = valve.getIntakeId(); + String intakeName = valve.getIntakeName(); Long vcId = valve.getVcId(); Long operator = valve.getOperator(); Long comId = idLongGenerator.generate(); + if(intakeId == null && intakeName == null) { + return BaseResponseUtils.buildErrorMsg(WechatResultCode.PLEASE_SELECT_A_INTAKE.getMessage()); + } + + // intakeName鎹ntakeId + if(intakeId == null) { + intakeId = commandSv.getIntakeIdByName(intakeName); + if(intakeId == null) { + return BaseResponseUtils.buildErrorMsg(WechatResultCode.PLEASE_SELECT_A_INTAKE.getMessage()); + } + } + /** * 濡傛灉鍐滄埛閫夋嫨浜嗚櫄鎷熷崱锛屽垯浣跨敤璇ヨ櫄鎷熷崱 * 濡傛灉鍐滄埛鏈�夋嫨铏氭嫙鍗★紝鍒欐牴鎹彇姘村彛ID鑾峰彇涓庝箣缁戝畾鐨勮櫄鎷熷崱 diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/DtoBase.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/DtoBase.java index 5bf46e0..e63cc1c 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/DtoBase.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/DtoBase.java @@ -17,10 +17,14 @@ /** * 鍙栨按鍙D */ - @NotNull(message = "鍙栨按鍙d笉鑳戒负绌�") private Long intakeId; /** + * 鍙栨按鍙e悕绉� + */ + private String intakeName; + + /** * 鎿嶄綔浜� */ @NotNull(message = "鎿嶄綔浜轰笉鑳戒负绌�") diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveOpen.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveOpen.java index e7e3dcb..5c98775 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveOpen.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveOpen.java @@ -20,9 +20,4 @@ */ private Long vcId; - /** - * 鐢ㄦ埛绫诲瀷 1-骞冲彴锛�2-APP - */ - //@NotNull(message = "鎿嶄綔绫诲瀷涓嶈兘涓虹┖") - //private Integer userType; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/result/WechatResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/result/WechatResultCode.java index d50ed9b..df5e385 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/result/WechatResultCode.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/result/WechatResultCode.java @@ -19,9 +19,10 @@ */ GET_RESULT_IN_ONE_MINUTE(10001,"1鍒嗛挓鍚庡幓鏌ョ湅缁撴灉"), GET_RESULT_ERROR(10002, "鑾峰彇缁撴灉寮傚父"), - PLEASE_SELECT_A_VC(10002, "璇烽�夋嫨涓�寮犺櫄鎷熷崱"), - IN_USE_VC_CANNOT_OPEN_VALVE(10002, "浣跨敤涓櫄鎷熷崱涓嶈兘鐢ㄦ潵寮�闃�"), - THE_DEVICE_DOES_NOT_HAVE_THIS_FUNCTION(10003, "璇ヨ澶囨棤姝ゅ悓鑳�"), + PLEASE_SELECT_A_VC(10003, "璇烽�夋嫨涓�寮犺櫄鎷熷崱"), + PLEASE_SELECT_A_INTAKE(10004, "璇烽�夋嫨涓�涓彇姘村彛"), + IN_USE_VC_CANNOT_OPEN_VALVE(10005, "浣跨敤涓櫄鎷熷崱涓嶈兘鐢ㄦ潵寮�闃�"), + THE_DEVICE_DOES_NOT_HAVE_THIS_FUNCTION(10006, "璇ヨ澶囨棤姝ゅ悓鑳�"), /** * RTU -- Gitblit v1.8.0