From fc9d8e83b3c38ecfff612b2dfd8e90db720ed3db Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 01 十一月 2024 11:25:22 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeRechargeProfile.java | 49 ++++ pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/dto/DtoReportReply.java | 35 +++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeReportReplyMapper.xml | 114 ++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java | 34 +++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml | 3 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardCtrl.java | 15 + pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeRechargeProfileMapper.java | 36 +++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoIssueReportReply.java | 45 ++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeReportReply.java | 59 +++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRechargeProfile.java | 31 ++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeProfileMapper.xml | 103 +++++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeReportReplyMapper.java | 35 +++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoIssueReport.java | 8 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardSv.java | 12 + pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java | 63 +++++ 15 files changed, 638 insertions(+), 4 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeRechargeProfileMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeRechargeProfileMapper.java new file mode 100644 index 0000000..eac20da --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeRechargeProfileMapper.java @@ -0,0 +1,36 @@ +package com.dy.pipIrrGlobal.daoSe; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dy.pipIrrGlobal.pojoSe.SeRechargeProfile; +import com.dy.pipIrrGlobal.voSe.VoRechargeProfile; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @author ZhuBaoMin + * @date 2024-11-01 9:40 + * @LastEditTime 2024-11-01 9:40 + * @Description + */ + +@Mapper +public interface SeRechargeProfileMapper extends BaseMapper<SeRechargeProfile> { + int deleteByPrimaryKey(Long id); + + int insert(SeRechargeProfile record); + + int insertSelective(SeRechargeProfile record); + + SeRechargeProfile selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(SeRechargeProfile record); + + int updateByPrimaryKey(SeRechargeProfile record); + + /** + * 鑾峰彇铏氭嫙鍗″父鐢ㄥ厖鍊奸噾棰濋厤缃� + * @return + */ + List<VoRechargeProfile> gerRechargeProfiles(); +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeReportReplyMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeReportReplyMapper.java new file mode 100644 index 0000000..b85e4a5 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeReportReplyMapper.java @@ -0,0 +1,35 @@ +package com.dy.pipIrrGlobal.daoSe; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dy.pipIrrGlobal.pojoSe.SeReportReply; +import com.dy.pipIrrGlobal.voSe.VoIssueReportReply; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author ZhuBaoMin + * @date 2024-10-31 14:59 + * @LastEditTime 2024-10-31 14:59 + * @Description + */ + +@Mapper +public interface SeReportReplyMapper extends BaseMapper<SeReportReply> { + int deleteByPrimaryKey(Long id); + + int insert(SeReportReply record); + + int insertSelective(SeReportReply record); + + SeReportReply selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(SeReportReply record); + + int updateByPrimaryKey(SeReportReply record); + + /** + * 鏍规嵁闂涓婃姤ID鑾峰彇涓婃姤鍥炲淇℃伅 + * @param reportId + * @return + */ + VoIssueReportReply getReportReplyByReportId(Long reportId); +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeRechargeProfile.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeRechargeProfile.java new file mode 100644 index 0000000..7b4a1f4 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeRechargeProfile.java @@ -0,0 +1,49 @@ +package com.dy.pipIrrGlobal.pojoSe; + +/** + * @author ZhuBaoMin + * @date 2024-11-01 9:40 + * @LastEditTime 2024-11-01 9:40 + * @Description 铏氭嫙鍗″父鐢ㄥ厖鍊奸噾棰濋厤缃疄浣撶被 + */ + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dy.common.po.BaseEntity; +import lombok.*; + +@TableName(value="se_recharge_profile", autoResultMap = true) +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +public class SeRechargeProfile implements BaseEntity { + public static final long serialVersionUID = 202411010943001L; + + /** + * 涓婚敭 + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + @TableId(type = IdType.INPUT) + private Long id; + + /** + * 鍏呭�奸噾棰� + */ + private Integer rechargeAmount; + + /** + * 鎺掑簭 + */ + private Integer sort; + + /** + * 閫昏緫鍒犻櫎鏍囪瘑;鏈垹闄や负0锛屽凡鍒犻櫎涓哄垹闄ゆ椂闂� + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + private Long deleted; +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeReportReply.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeReportReply.java new file mode 100644 index 0000000..3c13a8f --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeReportReply.java @@ -0,0 +1,59 @@ +package com.dy.pipIrrGlobal.pojoSe; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dy.common.po.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.*; + +import java.util.Date; + +/** + * @author ZhuBaoMin + * @date 2024-10-31 14:59 + * @LastEditTime 2024-10-31 14:59 + * @Description 鍐滄埛闂涓婃姤鍥炲瀹炰綋绫� + */ + +@TableName(value="se_report_reply", autoResultMap = true) +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +public class SeReportReply implements BaseEntity { + public static final long serialVersionUID = 202410311502001L; + + /** + * 涓婚敭 + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + @TableId(type = IdType.INPUT) + private Long id; + + /** + * 闂涓婃姤ID + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + private Long reportId; + + /** + * 绛斿鍐呭 + */ + private String replyContent; + + /** + * 绛斿鏃堕棿 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date replyTime; + + /** + * 绛斿浜篒D + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + private Long replierId; +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoIssueReport.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoIssueReport.java index 950ddf2..4f5b493 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoIssueReport.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoIssueReport.java @@ -17,7 +17,7 @@ */ @Data -@JsonPropertyOrder({"issueReportId", "clientName", "phone", "reportTime", "content", "images", "audios", "videos", "state"}) +@JsonPropertyOrder({"issueReportId", "clientName", "phone", "reportTime", "content", "images", "audios", "videos", "replyTime", "stateId", "state"}) public class VoIssueReport implements BaseEntity { private static final long serialVersionUID = 202410301354001L; @@ -64,6 +64,12 @@ private String videos; /** + * 涓婃姤鍥炲鏃堕棿 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date replyTime; + + /** * 鐘舵�佸�� */ private Integer stateId; diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoIssueReportReply.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoIssueReportReply.java new file mode 100644 index 0000000..790ff9b --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoIssueReportReply.java @@ -0,0 +1,45 @@ +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 com.fasterxml.jackson.annotation.JsonPropertyOrder; +import lombok.Data; + +import java.util.Date; + +/** + * @author ZhuBaoMin + * @date 2024-10-31 15:46 + * @LastEditTime 2024-10-31 15:46 + * @Description 鍐滄埛闂涓婃姤鍥炲瑙嗗浘瀵硅薄 + */ + +@Data +@JsonPropertyOrder({"replyContent", "replyTime", "replierId", "replier"}) +public class VoIssueReportReply implements BaseEntity { + private static final long serialVersionUID = 202410311548001L; + + /** + * 鍥炲鍐呭 + */ + private String replyContent; + + /** + * 鍥炲鏃堕棿 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date replyTime; + + /** + * 鍥炲浜篒D + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + private Long replierId; + + /** + * 鍥炲浜哄鍚� + */ + private String replier; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRechargeProfile.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRechargeProfile.java new file mode 100644 index 0000000..81f1e79 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRechargeProfile.java @@ -0,0 +1,31 @@ +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.JsonPropertyOrder; +import lombok.Data; + +/** + * @author ZhuBaoMin + * @date 2024-11-01 9:46 + * @LastEditTime 2024-11-01 9:46 + * @Description 铏氭嫙鍗″父鐢ㄥ厖鍊奸噾棰濊鍥惧璞� + */ + +@Data +@JsonPropertyOrder({"profileId", "rechargeAmount", "sort"}) +public class VoRechargeProfile implements BaseEntity { + private static final long serialVersionUID = 202411010948001L; + + /** + * 閰嶇疆ID + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + private Long profileId; + + /** + * 鍏呭�奸噾棰� + */ + private Integer rechargeAmount; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml index 7c433e3..3183e50 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml @@ -175,6 +175,7 @@ SELECT COUNT(*) AS recordCount FROM se_issue_report rpt LEFT JOIN se_client cli ON cli.id = rpt.client_id + LEFT JOIN se_report_reply rpy ON rpy.report_id = rpt.id <where> AND rpt.state != 3 @@ -211,6 +212,7 @@ rpt.images, rpt.audios, rpt.videos, + rpy.reply_time AS replyTime, rpt.state AS stateId, CASE WHEN rpt.state = 1 THEN '鏈彈鐞�' @@ -218,6 +220,7 @@ END AS state FROM se_issue_report rpt LEFT JOIN se_client cli ON cli.id = rpt.client_id + LEFT JOIN se_report_reply rpy ON rpy.report_id = rpt.id <where> AND rpt.state != 3 diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeProfileMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeProfileMapper.xml new file mode 100644 index 0000000..987b18e --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeProfileMapper.xml @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dy.pipIrrGlobal.daoSe.SeRechargeProfileMapper"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeRechargeProfile"> + <!--@mbg.generated--> + <!--@Table se_recharge_profile--> + <id column="id" jdbcType="BIGINT" property="id" /> + <result column="recharge_amount" jdbcType="INTEGER" property="rechargeAmount" /> + <result column="sort" jdbcType="INTEGER" property="sort" /> + <result column="deleted" jdbcType="BIGINT" property="deleted" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, recharge_amount, sort, deleted + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List" /> + from se_recharge_profile + where id = #{id,jdbcType=BIGINT} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> + <!--@mbg.generated--> + delete from se_recharge_profile + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeProfile"> + <!--@mbg.generated--> + insert into se_recharge_profile (id, recharge_amount, sort, + deleted) + values (#{id,jdbcType=BIGINT}, #{rechargeAmount,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, + #{deleted,jdbcType=BIGINT}) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeProfile"> + <!--@mbg.generated--> + insert into se_recharge_profile + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="rechargeAmount != null"> + recharge_amount, + </if> + <if test="sort != null"> + sort, + </if> + <if test="deleted != null"> + deleted, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="rechargeAmount != null"> + #{rechargeAmount,jdbcType=INTEGER}, + </if> + <if test="sort != null"> + #{sort,jdbcType=INTEGER}, + </if> + <if test="deleted != null"> + #{deleted,jdbcType=BIGINT}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeProfile"> + <!--@mbg.generated--> + update se_recharge_profile + <set> + <if test="rechargeAmount != null"> + recharge_amount = #{rechargeAmount,jdbcType=INTEGER}, + </if> + <if test="sort != null"> + sort = #{sort,jdbcType=INTEGER}, + </if> + <if test="deleted != null"> + deleted = #{deleted,jdbcType=BIGINT}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeProfile"> + <!--@mbg.generated--> + update se_recharge_profile + set recharge_amount = #{rechargeAmount,jdbcType=INTEGER}, + sort = #{sort,jdbcType=INTEGER}, + deleted = #{deleted,jdbcType=BIGINT} + where id = #{id,jdbcType=BIGINT} + </update> + + <!--鑾峰彇铏氭嫙鍗″父鐢ㄥ厖鍊奸噾棰濋厤缃�--> + <select id="gerRechargeProfiles" resultType="com.dy.pipIrrGlobal.voSe.VoRechargeProfile"> + SELECT + id AS profileId, + recharge_amount AS rechargeAmount + FROM se_recharge_profile + ORDER BY sort + </select> + + + +</mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeReportReplyMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeReportReplyMapper.xml new file mode 100644 index 0000000..bb58259 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeReportReplyMapper.xml @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dy.pipIrrGlobal.daoSe.SeReportReplyMapper"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeReportReply"> + <!--@mbg.generated--> + <!--@Table se_report_reply--> + <id column="id" jdbcType="BIGINT" property="id" /> + <result column="report_id" jdbcType="BIGINT" property="reportId" /> + <result column="reply_content" jdbcType="VARCHAR" property="replyContent" /> + <result column="reply_time" jdbcType="TIMESTAMP" property="replyTime" /> + <result column="replier_id" jdbcType="BIGINT" property="replierId" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, report_id, reply_content, reply_time, replier_id + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List" /> + from se_report_reply + where id = #{id,jdbcType=BIGINT} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> + <!--@mbg.generated--> + delete from se_report_reply + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeReportReply"> + <!--@mbg.generated--> + insert into se_report_reply (id, report_id, reply_content, + reply_time, replier_id) + values (#{id,jdbcType=BIGINT}, #{reportId,jdbcType=BIGINT}, #{replyContent,jdbcType=VARCHAR}, + #{replyTime,jdbcType=TIMESTAMP}, #{replierId,jdbcType=BIGINT}) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeReportReply"> + <!--@mbg.generated--> + insert into se_report_reply + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="reportId != null"> + report_id, + </if> + <if test="replyContent != null"> + reply_content, + </if> + <if test="replyTime != null"> + reply_time, + </if> + <if test="replierId != null"> + replier_id, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="reportId != null"> + #{reportId,jdbcType=BIGINT}, + </if> + <if test="replyContent != null"> + #{replyContent,jdbcType=VARCHAR}, + </if> + <if test="replyTime != null"> + #{replyTime,jdbcType=TIMESTAMP}, + </if> + <if test="replierId != null"> + #{replierId,jdbcType=BIGINT}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeReportReply"> + <!--@mbg.generated--> + update se_report_reply + <set> + <if test="reportId != null"> + report_id = #{reportId,jdbcType=BIGINT}, + </if> + <if test="replyContent != null"> + reply_content = #{replyContent,jdbcType=VARCHAR}, + </if> + <if test="replyTime != null"> + reply_time = #{replyTime,jdbcType=TIMESTAMP}, + </if> + <if test="replierId != null"> + replier_id = #{replierId,jdbcType=BIGINT}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeReportReply"> + <!--@mbg.generated--> + update se_report_reply + set report_id = #{reportId,jdbcType=BIGINT}, + reply_content = #{replyContent,jdbcType=VARCHAR}, + reply_time = #{replyTime,jdbcType=TIMESTAMP}, + replier_id = #{replierId,jdbcType=BIGINT} + where id = #{id,jdbcType=BIGINT} + </update> + + <!--鏍规嵁闂涓婃姤ID鑾峰彇涓婃姤鍥炲淇℃伅--> + <select id="getReportReplyByReportId" resultType="com.dy.pipIrrGlobal.voSe.VoIssueReportReply"> + SELECT + rpy.reply_content AS replyContent, + rpy.reply_time AS replyTime, + rpy.replier_id AS replierId, + user.name AS replier + FROM se_report_reply rpy + INNER JOIN ba_user user ON user.id = rpy.replier_id + WHERE rpy.report_id = #{reportId} + </select> +</mapper> \ No newline at end of file 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 8ea2eec..8091d44 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 @@ -5,8 +5,11 @@ import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.pojoSe.SeIssueReport; +import com.dy.pipIrrGlobal.pojoSe.SeReportReply; import com.dy.pipIrrGlobal.voSe.VoIssueReport; +import com.dy.pipIrrGlobal.voSe.VoIssueReportReply; import com.dy.pipIrrWechat.issue.dto.DtoIssueReport; +import com.dy.pipIrrWechat.issue.dto.DtoReportReply; import com.dy.pipIrrWechat.issue.qo.QoIssueReport; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; @@ -104,16 +107,70 @@ } try { - //鍙栨按鍙D Integer recordCount = Optional.ofNullable(issueSv.deleteIssueReport(issueReportId)).orElse(0); if (recordCount == 0) { return BaseResponseUtils.buildErrorMsg("鍐滄埛闂涓婃姤鍒犻櫎澶辫触"); - } else { - return BaseResponseUtils.buildSuccess(true); + }else { + return BaseResponseUtils.buildSuccess(); } } catch (Exception e) { log.error("鍐滄埛闂涓婃姤鍒犻櫎澶辫触", e); return BaseResponseUtils.buildException(e.getMessage()); } } + + /** + * 鍥炲鍐滄埛闂涓婃姤 + * @param po + * @param bindingResult + * @return + */ + @PostMapping(path = "replyReport") + @Transactional(rollbackFor = Exception.class) + public BaseResponse<Boolean> replyReport(@RequestBody @Valid DtoReportReply po, BindingResult bindingResult) { + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + + // 娣诲姞涓婃姤鍥炲璁板綍 + SeReportReply seReportReply = new SeReportReply(); + seReportReply.setReportId(po.getReportId()); + seReportReply.setReplyContent(po.getReplyContent()); + seReportReply.setReplyTime(new Date()); + seReportReply.setReplierId(po.getReplierId()); + Long reportReplyId = issueSv.insertReportReply(seReportReply); + if(reportReplyId == null) { + return BaseResponseUtils.buildErrorMsg("鍥炲鍐滄埛闂涓婃姤澶辫触"); + } + + // 淇敼闂涓婃姤鐘舵�佷负宸插洖澶� + SeIssueReport seIssueReport = new SeIssueReport(); + seIssueReport.setId(po.getReportId()); + seIssueReport.setState((byte)2); + Integer issueReportId = issueSv.updateIssueReport(seIssueReport); + if(issueReportId == null) { + return BaseResponseUtils.buildErrorMsg("鍐滄埛闂涓婃姤淇敼澶辫触"); + } + + return BaseResponseUtils.buildSuccess(true) ; + } + + /** + * 鏍规嵁闂涓婃姤ID鑾峰彇涓婃姤鍥炲淇℃伅 + * @param reportId + * @return + */ + @GetMapping(path = "/getReportReply") + public BaseResponse<VoIssueReportReply> getReportReply(@RequestParam("reportId") Long reportId) { + if(reportId == null) { + return BaseResponseUtils.buildErrorMsg("璇烽�夋嫨涓�涓棶棰樹笂鎶�"); + } + + try { + return BaseResponseUtils.buildSuccess(issueSv.getReportReplyByReportId(reportId)); + } catch (Exception e) { + log.error("鑾峰彇涓婃姤鍥炲淇℃伅褰曞紓甯�", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java index dc3836c..dce5580 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java @@ -2,8 +2,11 @@ import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoSe.SeIssueReportMapper; +import com.dy.pipIrrGlobal.daoSe.SeReportReplyMapper; import com.dy.pipIrrGlobal.pojoSe.SeIssueReport; +import com.dy.pipIrrGlobal.pojoSe.SeReportReply; import com.dy.pipIrrGlobal.voSe.VoIssueReport; +import com.dy.pipIrrGlobal.voSe.VoIssueReportReply; import com.dy.pipIrrWechat.issue.qo.QoIssueReport; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; @@ -26,6 +29,9 @@ @Autowired private SeIssueReportMapper seIssueReportMapper; + @Autowired + private SeReportReplyMapper seReportReplyMapper; + /** * 娣诲姞闂涓婃姤淇℃伅 * @param po @@ -34,6 +40,15 @@ public Long insertIssueReport(SeIssueReport po) { seIssueReportMapper.insert(po); return po.getId(); + } + + /** + * 淇敼鍐滄埛闂涓婃姤鐘舵�侊紝鍥炲鍙婂垹闄ゆ椂浣跨敤 + * @param po + * @return + */ + public Integer updateIssueReport(SeIssueReport po) { + return seIssueReportMapper.updateByPrimaryKeySelective(po); } /** @@ -76,4 +91,23 @@ return seIssueReportMapper.deleteIssueReport(issueReportId); } + /** + * 娣诲姞鍐滄埛闂涓婃姤鍥炲 + * @param po + * @return + */ + public Long insertReportReply(SeReportReply po) { + seReportReplyMapper.insert(po); + return po.getId(); + } + + /** + * 鏍规嵁闂涓婃姤ID鑾峰彇涓婃姤鍥炲淇℃伅 + * @param reportId + * @return + */ + public VoIssueReportReply getReportReplyByReportId(Long reportId) { + return seReportReplyMapper.getReportReplyByReportId(reportId); + } + } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/dto/DtoReportReply.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/dto/DtoReportReply.java new file mode 100644 index 0000000..4adf5ca --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/dto/DtoReportReply.java @@ -0,0 +1,35 @@ +package com.dy.pipIrrWechat.issue.dto; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * @author ZhuBaoMin + * @date 2024-10-31 15:18 + * @LastEditTime 2024-10-31 15:18 + * @Description 鍐滄埛闂涓婃姤鍥炲浼犺緭绫� + */ + +@Data +public class DtoReportReply { + public static final long serialVersionUID = 202410311519001L; + + /** + * 闂涓婃姤ID + */ + @NotNull(message = "蹇呴』閫夋嫨涓�涓棶棰樹笂鎶�") + private Long reportId; + + /** + * 绛斿鍐呭 + */ + @NotBlank(message = "绛斿鍐呭涓嶈兘涓虹┖") + private String replyContent; + + /** + * 绛斿浜篒D + */ + @NotNull(message = "绛斿浜轰笉鑳戒负绌�") + private Long replierId; +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardCtrl.java index b8dd640..3e6b1fd 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardCtrl.java @@ -5,6 +5,7 @@ import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.pojoSe.SeVcOperate; import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard; +import com.dy.pipIrrGlobal.voSe.VoRechargeProfile; import com.dy.pipIrrGlobal.voSe.VoVcRecharge; import com.dy.pipIrrGlobal.voSe.VoVirtualCard; import com.dy.pipIrrWechat.result.WechatResultCode; @@ -329,4 +330,18 @@ return BaseResponseUtils.buildException(e.getMessage()) ; } } + + /** + * 鑾峰彇铏氭嫙鍗″父鐢ㄥ厖鍊奸噾棰濋厤缃� + * @return + */ + @GetMapping(path = "/gerRechargeProfiles") + public BaseResponse<List<VoRechargeProfile>> gerRechargeProfiles(){ + try { + return BaseResponseUtils.buildSuccess(virtualCardSv.gerRechargeProfiles()); + } catch (Exception e) { + log.error("鑾峰彇铏氭嫙鍗″父鐢ㄥ厖鍊奸噾棰濋厤缃紓甯�", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardSv.java index 903bf55..9957fdf 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardSv.java @@ -6,6 +6,7 @@ import com.dy.pipIrrGlobal.daoSe.*; import com.dy.pipIrrGlobal.pojoSe.*; import com.dy.pipIrrGlobal.voSe.VoOrders; +import com.dy.pipIrrGlobal.voSe.VoRechargeProfile; import com.dy.pipIrrGlobal.voSe.VoVcRecharge; import com.dy.pipIrrGlobal.voSe.VoVirtualCard; import com.dy.pipIrrWechat.result.WechatResultCode; @@ -51,6 +52,9 @@ @Autowired private SeVcOperateMapper seVcOperateMapper; + + @Autowired + private SeRechargeProfileMapper seRechargeProfileMapper; @Value("${vc.alarmValue}") private Integer alarmValue; @@ -386,4 +390,12 @@ seVcOperateMapper.insert(po); return po.getId(); } + + /** + * 鑾峰彇铏氭嫙鍗″父鐢ㄥ厖鍊奸噾棰濋厤缃� + * @return + */ + public List<VoRechargeProfile> gerRechargeProfiles() { + return seRechargeProfileMapper.gerRechargeProfiles(); + } } \ No newline at end of file -- Gitblit v1.8.0