From 471c449df219f2be0a67dadf9ea2946cc3edfce7 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 12 十一月 2024 17:45:34 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java | 57 ++++++++++- pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/dto/DtoDeleteParam.java | 28 +++++ pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java | 48 ++++++++ pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml | 4 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java | 39 +++++++ pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml | 4 pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml | 92 ++++++++++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java | 2 8 files changed, 259 insertions(+), 15 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java index dde252e..2e59e7e 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java @@ -2,7 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoOp.OpeIssueReport; +import com.dy.pipIrrGlobal.voOp.VoIssueReport; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; /** * @author ZhuBaoMin @@ -24,4 +29,38 @@ int updateByPrimaryKeySelective(OpeIssueReport record); int updateByPrimaryKey(OpeIssueReport record); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶ユ暟閲� + * @param params + * @return + */ + Long getIssueReportsCount(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶� + * @param params + * @return + */ + List<VoIssueReport> getIssueReports(Map<?, ?> params); + + /** + * 鏍规嵁涓婃姤ID鍙婂贰妫�鍛業D鑾峰彇鏈垹闄ょ殑涓婃姤锛屽垹闄や笂鎶ュ垽鏂娇鐢� + * @param issueReportId + * @param inspectorId + * @return + */ + OpeIssueReport getReport(@Param("issueReportId")Long issueReportId, @Param("inspectorId")Long inspectorId); + + /** + * 閫昏緫鍒犻櫎涓�涓啘鎴烽棶棰樹笂鎶� + * @param issueReportId + * @return + */ + /** + * 閫昏緫鍒犻櫎涓�涓贰妫�鍛橀棶棰樹笂鎶� + * @param issueReportId + * @return + */ + Integer deleteIssueReport(Long issueReportId); } \ No newline at end of file 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 80e789b..ed9eb26 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,9 +5,9 @@ #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://192.168.40.166:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull # url: jdbc:mysql://8.130.130.233: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://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull username: root password: dysql,;.abc!@# druid: diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml index c3e6b55..5e8b483 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml @@ -77,7 +77,7 @@ pipIrr: global: - dev: true #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse + dev: false #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse dsName: ym #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О nginx: webPort: 54321 @@ -329,7 +329,7 @@ #鐩戞祴鎺у埗妯″潡鍥炶皟鍦板潃 rtuCallbackUrl_rm: "http://127.0.0.1:8081/remote/comRes/receive" #rtu杩滅▼鍗囩骇妯″潡鍥炶皟鍦板潃 - ugCallbackUrl_rm: "http://127.0.0.1:8081/remote/rtuUpgradeStateReceiver/receive + ugCallbackUrl_rm: "http://127.0.0.1:8081/remote/rtuUpgradeStateReceiver/receive" #寰俊灏忕▼搴忓洖璋冨湴鍧� rtuCallbackUrl_wx: "http://127.0.0.1:8087/wx/comRes/receive" diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml index 8dedb69..47379c7 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml @@ -170,4 +170,96 @@ `state` = #{state,jdbcType=TINYINT} where id = #{id,jdbcType=BIGINT} </update> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶ユ暟閲�--> + <select id="getIssueReportsCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM ope_issue_report rpt + LEFT JOIN ba_user us ON us.id = rpt.inspector_id + LEFT JOIN ope_report_reply rpy ON rpy.report_id = rpt.id + <where> + AND rpt.state != 3 + + <if test="inspectorId != null"> + AND rpt.inspector_id = #{inspectorId} + </if> + + <if test="inspectorName != null and inspectorName != ''"> + AND us.name like CONCAT('%', #{inspectorName}, '%') + </if> + + <if test="content != null and content != ''"> + AND rpt.content like CONCAT('%', #{content}, '%') + </if> + + <if test="timeStart != null and timeStop != null "> + AND rpt.report_time BETWEEN #{timeStart} AND #{timeStop} + </if> + + <if test="state != null"> + AND rpt.state = #{state} + </if> + </where> + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶�--> + <select id="getIssueReports" resultType="com.dy.pipIrrGlobal.voOp.VoIssueReport"> + SELECT + rpt.id AS issueReportId, + us.name AS inspectorName, + rpt.phone, + rpt.report_time AS reportTime, + rpt.content, + rpt.images, + rpt.audios, + rpt.videos, + rpy.reply_time AS replyTime, + rpt.state AS stateId, + CASE + WHEN rpt.state = 1 THEN '鏈彈鐞�' + WHEN rpt.state = 2 THEN '宸插彈鐞�' + END AS state + FROM ope_issue_report rpt + LEFT JOIN ba_user us ON us.id = rpt.inspector_id + LEFT JOIN ope_report_reply rpy ON rpy.report_id = rpt.id + <where> + AND rpt.state != 3 + + <if test="inspectorId != null"> + AND rpt.inspector_id = #{inspectorId} + </if> + + <if test="inspectorName != null and inspectorName != ''"> + AND us.name like CONCAT('%', #{inspectorName}, '%') + </if> + + <if test="content != null and content != ''"> + AND rpt.content like CONCAT('%', #{content}, '%') + </if> + + <if test="timeStart != null and timeStop != null "> + AND rpt.report_time BETWEEN #{timeStart} AND #{timeStop} + </if> + + <if test="state != null"> + AND rpt.state = #{state} + </if> + </where> + ORDER BY rpt.report_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> + + <!--鏍规嵁涓婃姤ID鍙婂贰妫�鍛業D鑾峰彇鏈垹闄ょ殑涓婃姤锛屽垹闄や笂鎶ュ垽鏂娇鐢�--> + <select id="getReport" resultType="com.dy.pipIrrGlobal.pojoOp.OpeIssueReport"> + SELECT * FROM ope_issue_report WHERE state != 3 AND id = #{issueReportId} AND inspector_id = #{inspectorId} + </select> + + <!--閫昏緫鍒犻櫎涓�涓啘鎴烽棶棰樹笂鎶�--> + <update id="deleteIssueReport"> + UPDATE ope_issue_report SET state = 3 WHERE id = #{issueReportId} + </update> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java index 9fb6484..446935e 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java @@ -3,17 +3,19 @@ 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.pipIrrApp.issue.dto.DtoDeleteParam; +import com.dy.pipIrrApp.issue.qo.QoIssueReport; import com.dy.pipIrrGlobal.pojoOp.OpeIssueReport; +import com.dy.pipIrrGlobal.voOp.VoIssueReport; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Objects; /** @@ -52,4 +54,42 @@ return BaseResponseUtils.buildSuccess(true) ; } + /** + * 鑾峰彇宸℃鍛橀棶棰樹笂鎶ヨ褰� + * @param vo + * @return + */ + @GetMapping(path = "/getIssueReports") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoIssueReport>>> getIssueReports(QoIssueReport vo) { + try { + QueryResultVo<List<VoIssueReport>> res = issueSv.getIssueReports(vo); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鑾峰彇宸℃鍛橀棶棰樹笂鎶ヨ褰曞紓甯�", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + } + + /** + * 閫昏緫鍒犻櫎宸℃鍛橀棶棰樹笂鎶ワ紝鍒犻櫎鍓嶅厛鍒ゆ柇瑕佸垹闄ょ殑涓婃姤鏄惁瀛樺湪 + * @param po + * @param bindingResult + * @return + */ + @PostMapping(path = "deleteIssueReport") + public BaseResponse<Boolean> deleteIssueReport(@RequestBody @Valid DtoDeleteParam po, BindingResult bindingResult) { + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + + String result = issueSv.deleteIssueReport(po); + if(!result.equals("success")) { + return BaseResponseUtils.buildErrorMsg(result); + } + + return BaseResponseUtils.buildSuccess(); + + } + } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java index 36f7867..83c6422 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java @@ -1,12 +1,19 @@ package com.dy.pipIrrApp.issue; +import com.dy.common.webUtil.QueryResultVo; +import com.dy.pipIrrApp.issue.dto.DtoDeleteParam; +import com.dy.pipIrrApp.issue.qo.QoIssueReport; import com.dy.pipIrrGlobal.daoOp.OpeIssueReportMapper; import com.dy.pipIrrGlobal.pojoOp.OpeIssueReport; +import com.dy.pipIrrGlobal.voOp.VoIssueReport; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; +import java.util.List; +import java.util.Map; /** * @author ZhuBaoMin @@ -39,13 +46,53 @@ } /** - * 娣诲姞宸℃鍛橀棶棰樹笂鎶ヤ俊鎭� + * 鏍规嵁鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶ヨ褰� + * @param queryVo + * @return + */ + public QueryResultVo<List<VoIssueReport>> getIssueReports(QoIssueReport queryVo) { + //瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿 + String timeStart = queryVo.getTimeStart(); + String timeStop = queryVo.getTimeStop(); + if (timeStart != null) { + timeStart = timeStart + " 00:00:00"; + queryVo.setTimeStart(timeStart); + } + if (timeStop != null) { + timeStop = timeStop + " 23:59:59"; + queryVo.setTimeStop(timeStop); + } + + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); + + Long itemTotal = opeIssueReportMapper.getIssueReportsCount(params); + QueryResultVo<List<VoIssueReport>> rsVo = new QueryResultVo<>(); + + rsVo.pageSize = queryVo.pageSize; + rsVo.pageCurr = queryVo.pageCurr; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = opeIssueReportMapper.getIssueReports(params); + return rsVo; + } + + /** + * 閫昏緫鍒犻櫎宸℃鍛橀棶棰樹笂鎶ワ紝鍒犻櫎鍓嶅厛鍒ゆ柇瑕佸垹闄ょ殑涓婃姤鏄惁瀛樺湪 * @param po * @return */ - //public Long insertIssueReport(OpeIssueReport po) { - // opeIssueReportMapper.insert(po); - // return po.getId(); - //} + public String deleteIssueReport(DtoDeleteParam po) { + // 鏍规嵁涓婃姤ID鍙婂贰妫�鍛業D鑾峰彇鏈垹闄ょ殑涓婃姤锛屽垹闄や笂鎶ュ垽鏂娇鐢� + OpeIssueReport opeIssueReport = opeIssueReportMapper.getReport(po.getIssueReportId(), po.getInspectorId()); + if(opeIssueReport == null) { + return "鎮ㄨ鍒犻櫎鐨勯棶棰樹笂鎶ヤ笉瀛樺湪"; + } + + if(opeIssueReportMapper.deleteIssueReport(po.getIssueReportId()) == 0) { + return "宸℃鍛橀棶棰樹笂鎶ュ垹闄ゅけ璐�"; + } + + return "success"; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/dto/DtoDeleteParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/dto/DtoDeleteParam.java new file mode 100644 index 0000000..1c6f41b --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/dto/DtoDeleteParam.java @@ -0,0 +1,28 @@ +package com.dy.pipIrrApp.issue.dto; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * @author ZhuBaoMin + * @date 2024-11-12 16:18 + * @LastEditTime 2024-11-12 16:18 + * @Description 宸℃鍛橀棶棰樹笂鎶ュ垹闄ゅ弬鏁板璞� + */ + +@Data +public class DtoDeleteParam { + public static final long serialVersionUID = 202411121619001L; + + /** + * 宸℃鍛橀棶棰樹笂鎶D + */ + @NotNull(message = "璇烽�夋嫨瑕佸垹闄ょ殑闂涓婃姤") + private Long issueReportId; + + /** + * 宸℃鍛業D + */ + @NotNull(message = "宸℃鍛樼紪鍙蜂笉鑳戒负绌�") + private Long inspectorId; +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java index e7bfaba..b11901e 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java @@ -1,6 +1,5 @@ package com.dy.pipIrrWechat.issue; -import com.dy.common.aop.SsoAop; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; @@ -45,7 +44,6 @@ */ @PostMapping(path = "addIssueReport") @Transactional(rollbackFor = Exception.class) - @SsoAop() public BaseResponse<Boolean> addIssueReport(@RequestBody @Valid SeIssueReport po, BindingResult bindingResult) { if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); -- Gitblit v1.8.0