Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
New file |
| | |
| | | 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(); |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 答复人ID |
| | | */ |
| | | @JSONField(serializeUsing= ObjectWriterImplToString.class) |
| | | private Long replierId; |
| | | } |
| | |
| | | */ |
| | | |
| | | @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; |
| | | |
| | |
| | | private String videos; |
| | | |
| | | /** |
| | | * 上报回复时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date replyTime; |
| | | |
| | | /** |
| | | * 状态值 |
| | | */ |
| | | private Integer stateId; |
New file |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 回复人ID |
| | | */ |
| | | @JSONField(serializeUsing= ObjectWriterImplToString.class) |
| | | private Long replierId; |
| | | |
| | | /** |
| | | * 回复人姓名 |
| | | */ |
| | | private String replier; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
| | |
| | | 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 |
| | | |
| | |
| | | rpt.images, |
| | | rpt.audios, |
| | | rpt.videos, |
| | | rpy.reply_time AS replyTime, |
| | | rpt.state AS stateId, |
| | | CASE |
| | | WHEN rpt.state = 1 THEN '未受理' |
| | |
| | | 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 |
| | | |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
| | |
| | | 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; |
| | |
| | | } |
| | | |
| | | try { |
| | | //取水口ID |
| | | 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()); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | 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; |
| | |
| | | @Autowired |
| | | private SeIssueReportMapper seIssueReportMapper; |
| | | |
| | | @Autowired |
| | | private SeReportReplyMapper seReportReplyMapper; |
| | | |
| | | /** |
| | | * 添加问题上报信息 |
| | | * @param po |
| | |
| | | public Long insertIssueReport(SeIssueReport po) { |
| | | seIssueReportMapper.insert(po); |
| | | return po.getId(); |
| | | } |
| | | |
| | | /** |
| | | * 修改农户问题上报状态,回复及删除时使用 |
| | | * @param po |
| | | * @return |
| | | */ |
| | | public Integer updateIssueReport(SeIssueReport po) { |
| | | return seIssueReportMapper.updateByPrimaryKeySelective(po); |
| | | } |
| | | |
| | | /** |
| | |
| | | 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); |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 答复人ID |
| | | */ |
| | | @NotNull(message = "答复人不能为空") |
| | | private Long replierId; |
| | | } |
| | |
| | | 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; |
| | |
| | | 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()) ; |
| | | } |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | |
| | | @Autowired |
| | | private SeVcOperateMapper seVcOperateMapper; |
| | | |
| | | @Autowired |
| | | private SeRechargeProfileMapper seRechargeProfileMapper; |
| | | |
| | | @Value("${vc.alarmValue}") |
| | | private Integer alarmValue; |
| | |
| | | seVcOperateMapper.insert(po); |
| | | return po.getId(); |
| | | } |
| | | |
| | | /** |
| | | * 获取虚拟卡常用充值金额配置 |
| | | * @return |
| | | */ |
| | | public List<VoRechargeProfile> gerRechargeProfiles() { |
| | | return seRechargeProfileMapper.gerRechargeProfiles(); |
| | | } |
| | | } |