Administrator
2023-12-15 2368b6f47ba2866e860c3476bb227572b94e3896
2023-12-15 朱宝民 增加了一个接口,修了一个接口
14个文件已添加
6个文件已修改
1082 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeWalletMapper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeWalletRechargeHistoryMapper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeWalletRechargeMapper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeWallet.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeWalletRecharge.java 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeWalletRechargeHistory.java 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeWalletMapper.xml 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeWalletRechargeHistoryMapper.xml 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeWalletRechargeMapper.xml 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardCtrl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/DtoActiveCard.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/RechargeDtoMapper.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/DtoRecharge.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/QueryVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wallet/DtoWallet.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wallet/DtoWalletRecharge.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wallet/WalletCtrl.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wallet/WalletSv.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeWalletMapper.java
New file
@@ -0,0 +1,23 @@
package com.dy.pipIrrGlobal.daoSe;
import com.dy.pipIrrGlobal.pojoSe.SeWallet;
/**
 * @author ZhuBaoMin
 * @date 2023/12/11 16:29
 * @LastEditTime 2023/12/11 16:29
 * @Description
 */
public interface SeWalletMapper {
    int deleteByPrimaryKey(Long id);
    int insert(SeWallet record);
    int insertSelective(SeWallet record);
    SeWallet selectByPrimaryKey(Long id);
    int updateByPrimaryKeySelective(SeWallet record);
    int updateByPrimaryKey(SeWallet record);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeWalletRechargeHistoryMapper.java
New file
@@ -0,0 +1,23 @@
package com.dy.pipIrrGlobal.daoSe;
import com.dy.pipIrrGlobal.pojoSe.SeWalletRechargeHistory;
/**
 * @author ZhuBaoMin
 * @date 2023/12/12 9:06
 * @LastEditTime 2023/12/12 9:06
 * @Description
 */
public interface SeWalletRechargeHistoryMapper {
    int deleteByPrimaryKey(Long id);
    int insert(SeWalletRechargeHistory record);
    int insertSelective(SeWalletRechargeHistory record);
    SeWalletRechargeHistory selectByPrimaryKey(Long id);
    int updateByPrimaryKeySelective(SeWalletRechargeHistory record);
    int updateByPrimaryKey(SeWalletRechargeHistory record);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeWalletRechargeMapper.java
New file
@@ -0,0 +1,23 @@
package com.dy.pipIrrGlobal.daoSe;
import com.dy.pipIrrGlobal.pojoSe.SeWalletRecharge;
/**
 * @author ZhuBaoMin
 * @date 2023/12/12 9:06
 * @LastEditTime 2023/12/12 9:06
 * @Description
 */
public interface SeWalletRechargeMapper {
    int deleteByPrimaryKey(Long id);
    int insert(SeWalletRecharge record);
    int insertSelective(SeWalletRecharge record);
    SeWalletRecharge selectByPrimaryKey(Long id);
    int updateByPrimaryKeySelective(SeWalletRecharge record);
    int updateByPrimaryKey(SeWalletRecharge record);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeWallet.java
New file
@@ -0,0 +1,65 @@
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 io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Positive;
import lombok.*;
import org.hibernate.validator.constraints.Length;
import java.util.Date;
/**
 * @author ZhuBaoMin
 * @date 2023/12/11 16:29
 * @LastEditTime 2023/12/11 16:29
 * @Description
 */
/**
 * 电子钱包表
 */
@TableName(value="se_wallet", autoResultMap = true)
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "电子钱包表实体")
public class SeWallet implements BaseEntity {
    public static final long serialVersionUID = 1L;
    /**
    * 主键
    */
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    @TableId(type = IdType.INPUT)
    @Schema(description = "实体id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @Positive(message = "主键必须为大于0的整数")
    private Long id;
    /**
    * 用水户编号
    */
    @Schema(description = "农户编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @Length(message = "农户编号不小于{min}", min = 1)
    private Long clientid;
    /**
    * 钱包余额
    */
    @Schema(description = "钱包余额", requiredMode = Schema.RequiredMode.REQUIRED)
    @Length(message = "钱包余额不小于{min}", min = 0)
    private Float money;
    /**
    * 创建时间
    */
    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Date createdt;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeWalletRecharge.java
New file
@@ -0,0 +1,118 @@
package com.dy.pipIrrGlobal.pojoSe;
import java.util.Date;
/**
 * @author ZhuBaoMin
 * @date 2023/12/12 9:06
 * @LastEditTime 2023/12/12 9:06
 * @Description
 */
/**
    * 电子钱包充值表
    */
public class SeWalletRecharge {
    /**
    * 主键
    */
    private Long id;
    /**
    * 钱包编号
    */
    private Long walletid;
    /**
    * 农户编号
    */
    private Long clientid;
    /**
    * 钱包余额
    */
    private Double money;
    /**
    * 充值金额
    */
    private Double amount;
    /**
    * 充值后余额
    */
    private Double afterrecharge;
    /**
    * 充值时间
    */
    private Date rechargedt;
    /**
    * 备注信息
    */
    private String remarks;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Long getWalletid() {
        return walletid;
    }
    public void setWalletid(Long walletid) {
        this.walletid = walletid;
    }
    public Long getClientid() {
        return clientid;
    }
    public void setClientid(Long clientid) {
        this.clientid = clientid;
    }
    public Double getMoney() {
        return money;
    }
    public void setMoney(Double money) {
        this.money = money;
    }
    public Double getAmount() {
        return amount;
    }
    public void setAmount(Double amount) {
        this.amount = amount;
    }
    public Double getAfterrecharge() {
        return afterrecharge;
    }
    public void setAfterrecharge(Double afterrecharge) {
        this.afterrecharge = afterrecharge;
    }
    public Date getRechargedt() {
        return rechargedt;
    }
    public void setRechargedt(Date rechargedt) {
        this.rechargedt = rechargedt;
    }
    public String getRemarks() {
        return remarks;
    }
    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeWalletRechargeHistory.java
New file
@@ -0,0 +1,118 @@
package com.dy.pipIrrGlobal.pojoSe;
import java.util.Date;
/**
 * @author ZhuBaoMin
 * @date 2023/12/12 9:06
 * @LastEditTime 2023/12/12 9:06
 * @Description
 */
/**
    * 电子钱包充值历史表
    */
public class SeWalletRechargeHistory {
    /**
    * 主键
    */
    private Long id;
    /**
    * 钱包编号
    */
    private Long walletid;
    /**
    * 农户编号
    */
    private Long clientid;
    /**
    * 钱包余额
    */
    private Double money;
    /**
    * 充值金额
    */
    private Double amount;
    /**
    * 充值后余额
    */
    private Double afterrecharge;
    /**
    * 充值时间
    */
    private Date rechargedt;
    /**
    * 备注信息
    */
    private String remarks;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Long getWalletid() {
        return walletid;
    }
    public void setWalletid(Long walletid) {
        this.walletid = walletid;
    }
    public Long getClientid() {
        return clientid;
    }
    public void setClientid(Long clientid) {
        this.clientid = clientid;
    }
    public Double getMoney() {
        return money;
    }
    public void setMoney(Double money) {
        this.money = money;
    }
    public Double getAmount() {
        return amount;
    }
    public void setAmount(Double amount) {
        this.amount = amount;
    }
    public Double getAfterrecharge() {
        return afterrecharge;
    }
    public void setAfterrecharge(Double afterrecharge) {
        this.afterrecharge = afterrecharge;
    }
    public Date getRechargedt() {
        return rechargedt;
    }
    public void setRechargedt(Date rechargedt) {
        this.rechargedt = rechargedt;
    }
    public String getRemarks() {
        return remarks;
    }
    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }
}
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeMapper.xml
@@ -249,6 +249,10 @@
        AND cli.name like CONCAT('%',#{clientName},'%')
      </if>
      <if test = "clientId != null and clientId > 0">
        AND rec.clientId like CONCAT('%',#{clientId},'%')
      </if>
      <if test = "cardAddr != null and cardAddr !=''">
        AND card.cardAddr like CONCAT('%',#{cardAddr},'%')
      </if>
@@ -261,7 +265,7 @@
        AND rec.operateDt BETWEEN #{rechargeTimeStart} AND #{rechargeTimeStop}
      </if>
    </where>
    ORDER BY rec.operateDt DESC
    <if test="pageCurr != null and pageSize != null">
      LIMIT ${pageCurr}, ${pageSize}
    </if>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeWalletMapper.xml
New file
@@ -0,0 +1,90 @@
<?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.SeWalletMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeWallet">
    <!--@mbg.generated-->
    <!--@Table se_wallet-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="clientId" jdbcType="BIGINT" property="clientid" />
    <result column="money" jdbcType="FLOAT" property="money" />
    <result column="createDt" jdbcType="TIMESTAMP" property="createdt" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, clientId, money, createDt
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from se_wallet
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from se_wallet
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWallet">
    <!--@mbg.generated-->
    insert into se_wallet (id, clientId, money, createDt)
    values (#{id,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT}, #{money,jdbcType=FLOAT},
      #{createdt,jdbcType=TIMESTAMP})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWallet">
    <!--@mbg.generated-->
    insert into se_wallet
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="clientid != null">
        clientId,
      </if>
      <if test="money != null">
        money,
      </if>
      <if test="createdt != null">
        createDt,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="clientid != null">
        #{clientid,jdbcType=BIGINT},
      </if>
      <if test="money != null">
        #{money,jdbcType=FLOAT},
      </if>
      <if test="createdt != null">
        #{createdt,jdbcType=TIMESTAMP},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWallet">
    <!--@mbg.generated-->
    update se_wallet
    <set>
      <if test="clientid != null">
        clientId = #{clientid,jdbcType=BIGINT},
      </if>
      <if test="money != null">
        money = #{money,jdbcType=FLOAT},
      </if>
      <if test="createdt != null">
        createDt = #{createdt,jdbcType=TIMESTAMP},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWallet">
    <!--@mbg.generated-->
    update se_wallet
    set clientId = #{clientid,jdbcType=BIGINT},
      money = #{money,jdbcType=FLOAT},
      createDt = #{createdt,jdbcType=TIMESTAMP}
    where id = #{id,jdbcType=BIGINT}
  </update>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeWalletRechargeHistoryMapper.xml
New file
@@ -0,0 +1,137 @@
<?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.SeWalletRechargeHistoryMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeWalletRechargeHistory">
    <!--@mbg.generated-->
    <!--@Table se_wallet_recharge_history-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="walletId" jdbcType="BIGINT" property="walletid" />
    <result column="clientId" jdbcType="BIGINT" property="clientid" />
    <result column="money" jdbcType="FLOAT" property="money" />
    <result column="amount" jdbcType="FLOAT" property="amount" />
    <result column="afterRecharge" jdbcType="FLOAT" property="afterrecharge" />
    <result column="rechargeDt" jdbcType="TIMESTAMP" property="rechargedt" />
    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, walletId, clientId, money, amount, afterRecharge, rechargeDt, remarks
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from se_wallet_recharge_history
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from se_wallet_recharge_history
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWalletRechargeHistory">
    <!--@mbg.generated-->
    insert into se_wallet_recharge_history (id, walletId, clientId,
      money, amount, afterRecharge,
      rechargeDt, remarks)
    values (#{id,jdbcType=BIGINT}, #{walletid,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT},
      #{money,jdbcType=FLOAT}, #{amount,jdbcType=FLOAT}, #{afterrecharge,jdbcType=FLOAT},
      #{rechargedt,jdbcType=TIMESTAMP}, #{remarks,jdbcType=VARCHAR})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWalletRechargeHistory">
    <!--@mbg.generated-->
    insert into se_wallet_recharge_history
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="walletid != null">
        walletId,
      </if>
      <if test="clientid != null">
        clientId,
      </if>
      <if test="money != null">
        money,
      </if>
      <if test="amount != null">
        amount,
      </if>
      <if test="afterrecharge != null">
        afterRecharge,
      </if>
      <if test="rechargedt != null">
        rechargeDt,
      </if>
      <if test="remarks != null">
        remarks,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="walletid != null">
        #{walletid,jdbcType=BIGINT},
      </if>
      <if test="clientid != null">
        #{clientid,jdbcType=BIGINT},
      </if>
      <if test="money != null">
        #{money,jdbcType=FLOAT},
      </if>
      <if test="amount != null">
        #{amount,jdbcType=FLOAT},
      </if>
      <if test="afterrecharge != null">
        #{afterrecharge,jdbcType=FLOAT},
      </if>
      <if test="rechargedt != null">
        #{rechargedt,jdbcType=TIMESTAMP},
      </if>
      <if test="remarks != null">
        #{remarks,jdbcType=VARCHAR},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWalletRechargeHistory">
    <!--@mbg.generated-->
    update se_wallet_recharge_history
    <set>
      <if test="walletid != null">
        walletId = #{walletid,jdbcType=BIGINT},
      </if>
      <if test="clientid != null">
        clientId = #{clientid,jdbcType=BIGINT},
      </if>
      <if test="money != null">
        money = #{money,jdbcType=FLOAT},
      </if>
      <if test="amount != null">
        amount = #{amount,jdbcType=FLOAT},
      </if>
      <if test="afterrecharge != null">
        afterRecharge = #{afterrecharge,jdbcType=FLOAT},
      </if>
      <if test="rechargedt != null">
        rechargeDt = #{rechargedt,jdbcType=TIMESTAMP},
      </if>
      <if test="remarks != null">
        remarks = #{remarks,jdbcType=VARCHAR},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWalletRechargeHistory">
    <!--@mbg.generated-->
    update se_wallet_recharge_history
    set walletId = #{walletid,jdbcType=BIGINT},
      clientId = #{clientid,jdbcType=BIGINT},
      money = #{money,jdbcType=FLOAT},
      amount = #{amount,jdbcType=FLOAT},
      afterRecharge = #{afterrecharge,jdbcType=FLOAT},
      rechargeDt = #{rechargedt,jdbcType=TIMESTAMP},
      remarks = #{remarks,jdbcType=VARCHAR}
    where id = #{id,jdbcType=BIGINT}
  </update>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeWalletRechargeMapper.xml
New file
@@ -0,0 +1,137 @@
<?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.SeWalletRechargeMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeWalletRecharge">
    <!--@mbg.generated-->
    <!--@Table se_wallet_recharge-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="walletId" jdbcType="BIGINT" property="walletid" />
    <result column="clientId" jdbcType="BIGINT" property="clientid" />
    <result column="money" jdbcType="FLOAT" property="money" />
    <result column="amount" jdbcType="FLOAT" property="amount" />
    <result column="afterRecharge" jdbcType="FLOAT" property="afterrecharge" />
    <result column="rechargeDt" jdbcType="TIMESTAMP" property="rechargedt" />
    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, walletId, clientId, money, amount, afterRecharge, rechargeDt, remarks
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from se_wallet_recharge
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from se_wallet_recharge
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWalletRecharge">
    <!--@mbg.generated-->
    insert into se_wallet_recharge (id, walletId, clientId,
      money, amount, afterRecharge,
      rechargeDt, remarks)
    values (#{id,jdbcType=BIGINT}, #{walletid,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT},
      #{money,jdbcType=FLOAT}, #{amount,jdbcType=FLOAT}, #{afterrecharge,jdbcType=FLOAT},
      #{rechargedt,jdbcType=TIMESTAMP}, #{remarks,jdbcType=VARCHAR})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWalletRecharge">
    <!--@mbg.generated-->
    insert into se_wallet_recharge
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="walletid != null">
        walletId,
      </if>
      <if test="clientid != null">
        clientId,
      </if>
      <if test="money != null">
        money,
      </if>
      <if test="amount != null">
        amount,
      </if>
      <if test="afterrecharge != null">
        afterRecharge,
      </if>
      <if test="rechargedt != null">
        rechargeDt,
      </if>
      <if test="remarks != null">
        remarks,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="walletid != null">
        #{walletid,jdbcType=BIGINT},
      </if>
      <if test="clientid != null">
        #{clientid,jdbcType=BIGINT},
      </if>
      <if test="money != null">
        #{money,jdbcType=FLOAT},
      </if>
      <if test="amount != null">
        #{amount,jdbcType=FLOAT},
      </if>
      <if test="afterrecharge != null">
        #{afterrecharge,jdbcType=FLOAT},
      </if>
      <if test="rechargedt != null">
        #{rechargedt,jdbcType=TIMESTAMP},
      </if>
      <if test="remarks != null">
        #{remarks,jdbcType=VARCHAR},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWalletRecharge">
    <!--@mbg.generated-->
    update se_wallet_recharge
    <set>
      <if test="walletid != null">
        walletId = #{walletid,jdbcType=BIGINT},
      </if>
      <if test="clientid != null">
        clientId = #{clientid,jdbcType=BIGINT},
      </if>
      <if test="money != null">
        money = #{money,jdbcType=FLOAT},
      </if>
      <if test="amount != null">
        amount = #{amount,jdbcType=FLOAT},
      </if>
      <if test="afterrecharge != null">
        afterRecharge = #{afterrecharge,jdbcType=FLOAT},
      </if>
      <if test="rechargedt != null">
        rechargeDt = #{rechargedt,jdbcType=TIMESTAMP},
      </if>
      <if test="remarks != null">
        remarks = #{remarks,jdbcType=VARCHAR},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWalletRecharge">
    <!--@mbg.generated-->
    update se_wallet_recharge
    set walletId = #{walletid,jdbcType=BIGINT},
      clientId = #{clientid,jdbcType=BIGINT},
      money = #{money,jdbcType=FLOAT},
      amount = #{amount,jdbcType=FLOAT},
      afterRecharge = #{afterrecharge,jdbcType=FLOAT},
      rechargeDt = #{rechargedt,jdbcType=TIMESTAMP},
      remarks = #{remarks,jdbcType=VARCHAR}
    where id = #{id,jdbcType=BIGINT}
  </update>
</mapper>
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardCtrl.java
@@ -5,11 +5,14 @@
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.common.webUtil.ResultCodeMsg;
import com.dy.pipIrrGlobal.pojoSe.*;
import com.dy.pipIrrGlobal.pojoSe.SeActiveCard;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
import com.dy.pipIrrGlobal.voSe.VoActiveCard;
import com.dy.pipIrrSell.clientCard.CardStateENUM;
import com.dy.pipIrrSell.clientCard.ClientCardSv;
import com.dy.pipIrrSell.clientCard.LastOperateENUM;
import com.dy.pipIrrSell.recharge.DtoRecharge;
import com.dy.pipIrrSell.recharge.RechargeCtrl;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Content;
@@ -46,6 +49,8 @@
public class ActiveCardCtrl {
    private final ActiveCardSv activeCardSv;
    private final ClientCardSv clientCardSv;
    private final RechargeCtrl rechargeCtrl;
    @Operation(summary = "获得一页开卡记录", description = "返回一页开卡数据")
    @ApiResponses(value = {
@@ -91,6 +96,7 @@
         * cardAddr         水卡地址
         * clientId         农户编号
         * cardCost         卡片费用
         * amount           充值金额
         * reissueAmount    补卡金额,补卡时使用
         * paymentId        支付方式编号
         * remarks          备注
@@ -101,6 +107,7 @@
        String cardAddr = po.getCardAddr();
        Long clientId = po.getClientId();
        Integer cardCost = po.getCardCost();
        Float amount = po.getAmount();
        Long paymentId = po.getPaymentId();
        String remarks = po.getRemarks();
        Long operator = po.getOperator();
@@ -140,6 +147,17 @@
            return BaseResponseUtils.buildFail("开卡失败-开卡记录写入异常");
        }
        if(amount != null && amount > 0) {
            DtoRecharge dtoRecharge = RechargeDtoMapper.INSTANCT.po2vo(po);
            dtoRecharge.setMoney(0f);
            dtoRecharge.setGift(0f);
            BaseResponse<Boolean> job = rechargeCtrl.addRecharge(dtoRecharge);
            if(!job.getCode().equals("0001")) {
                return BaseResponseUtils.buildFail("开卡成功,但充值失败");
            }
        }
        return BaseResponseUtils.buildSuccess(true) ;
    }
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/DtoActiveCard.java
@@ -42,6 +42,13 @@
    private Integer cardCost;
    /**
     * 充值金额
     */
    @Schema(description = "充值金额", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @Min(value = 0, message="充值金额不能小于0")
    private Float amount;
    /**
     * 补卡金额
     */
    @Schema(description = "补卡金额", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/RechargeDtoMapper.java
New file
@@ -0,0 +1,26 @@
package com.dy.pipIrrSell.activeCard;
import com.dy.pipIrrSell.recharge.DtoRecharge;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
/**
 * @author ZhuBaoMin
 * @date 2023/12/15 13:34
 * @LastEditTime 2023/12/15 13:34
 * @Description 将DtoActiveCard映射为DtoRecharge
 */
@Mapper
public interface RechargeDtoMapper {
    RechargeDtoMapper INSTANCT = Mappers.getMapper(RechargeDtoMapper.class);
    @Mapping(target = "cardAddr", source = "cardAddr")
    @Mapping(target = "clientId", source = "clientId")
    @Mapping(target = "amount", source = "amount")
    @Mapping(target = "paymentId", source = "paymentId")
    @Mapping(target = "remarks", source = "remarks")
    @Mapping(target = "operator", source = "operator")
    DtoRecharge po2vo(DtoActiveCard po);
}
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/DtoRecharge.java
@@ -59,9 +59,9 @@
    /**
     * 充值后余额
     */
    @Schema(description = "充值后余额", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @Min(value = 0, message="充值后余额不能小于0")
    private Float afterRecharge;
    //@Schema(description = "充值后余额", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    //@Min(value = 0, message="充值后余额不能小于0")
    //private Float afterRecharge;
    /**
     * 付款方式编号
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/QueryVo.java
@@ -24,6 +24,9 @@
    @Schema(description = "农户姓名")
    public String clientName;
    @Schema(description = "农户编号")
    private Long clientId;
    @Schema(description = "IC卡号")
    public String cardAddr;
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java
@@ -5,7 +5,9 @@
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.common.webUtil.ResultCodeMsg;
import com.dy.pipIrrGlobal.pojoSe.*;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
import com.dy.pipIrrGlobal.pojoSe.SeRecharge;
import com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory;
import com.dy.pipIrrGlobal.voSe.VoRecharge;
import com.dy.pipIrrSell.clientCard.ClientCardSv;
import com.dy.pipIrrSell.clientCard.LastOperateENUM;
@@ -24,7 +26,6 @@
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -73,11 +74,18 @@
    @Transactional(rollbackFor = Exception.class)
    @SsoAop("-1")//@SsoAop(power = "-1")
    public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form表单json数据", required = true) @Valid DtoRecharge po, @Parameter(hidden = true) BindingResult bindingResult){
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        return addRecharge(po);
    }
    /**
     * 添加充值记录
     * @param po
     * @return
     */
    public BaseResponse<Boolean> addRecharge(DtoRecharge po){
        /**
         * cardId           水卡编号(非传入参数,由cardAddr反查)
         * cardAddr         水卡地址
@@ -98,7 +106,8 @@
        Float money = po.getMoney();
        Float amount = po.getAmount();
        Float gift = po.getGift();
        Float afterRecharge = po.getAfterRecharge();
        //Float afterRecharge = po.getAfterRecharge();
        Float afterRecharge = money + amount + gift;
        Long paymentId = po.getPaymentId();
        Float price = po.getPrice();
        String remarks = po.getRemarks();
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wallet/DtoWallet.java
New file
@@ -0,0 +1,29 @@
package com.dy.pipIrrSell.wallet;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.*;
/**
 * @author ZhuBaoMin
 * @date 2023/12/11 17:28
 * @LastEditTime 2023/12/11 17:28
 * @Description
 */
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "注册电子钱包传入对象")
public class DtoWallet {
    public static final long serialVersionUID = 1L;
    /**
     * 农户编号
     */
    @Schema(description = "农户编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @NotNull(message = "农户编号不能为空")
    private Long clientId;
}
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wallet/DtoWalletRecharge.java
New file
@@ -0,0 +1,50 @@
package com.dy.pipIrrSell.wallet;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import lombok.*;
/**
 * @author ZhuBaoMin
 * @date 2023/12/12 11:46
 * @LastEditTime 2023/12/12 11:46
 * @Description
 */
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "电子钱包充值传入对象")
public class DtoWalletRecharge {
    public static final long serialVersionUID = 1L;
    /**
     * 钱包编号
     */
    @Schema(description = "钱包编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @NotNull(message = "钱包编号不能为空")
    private Long walletId;
    /**
     * 农户编号
     */
    @Schema(description = "农户编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @NotNull(message = "农户编号不能为空")
    private Long clientId;
    /**
     * 充值金额
     */
    @Schema(description = "充值金额", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @Min(value = 0, message="充值金额不能小于0")
    private Float amount;
    /**
     * 备注信息
     */
    @Schema(description = "备注", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String remarks;
}
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wallet/WalletCtrl.java
New file
@@ -0,0 +1,105 @@
package com.dy.pipIrrSell.wallet;
import com.dy.common.aop.SsoAop;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.ResultCodeMsg;
import com.dy.pipIrrGlobal.pojoSe.SeWallet;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.MediaType;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.Optional;
/**
 * @author ZhuBaoMin
 * @date 2023/12/11 16:36
 * @LastEditTime 2023/12/11 16:36
 * @Description
 */
@Slf4j
@Tag(name = "电子钱包管理", description = "电子钱包管理")
@RestController
@RequestMapping(path="wallet")
@RequiredArgsConstructor
@Validated
public class WalletCtrl {
    private final WalletSv walletSv;
    @Operation(summary = "注册电子钱包", description = "注册电子钱包")
    @ApiResponses(value = {
            @ApiResponse(
                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
                    description = "操作结果:true:成功,false:失败(BaseResponse.content)",
                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
                            schema = @Schema(implementation = Boolean.class))}
            )
    })
    @PostMapping(path = "add")
    @Transactional(rollbackFor = Exception.class)
    @SsoAop("-1")//@SsoAop(power = "-1")
    //public BaseResponse<Boolean> add(@RequestBody Long clientId){
    public BaseResponse<Boolean> add(@RequestParam("clientId") @NotNull(message = "农户编号不能为空") Long clientId){
        if(clientId == null || clientId < 0) {
            return BaseResponseUtils.buildFail("农户编号不能为空");
        }
        SeWallet seWallet = new SeWallet();
        seWallet.setClientid(clientId);
        seWallet.setMoney(0f);
        seWallet.setCreatedt(new Date());
        Integer rec = Optional.ofNullable(walletSv.add(seWallet)).orElse(0);
        if(rec == 0) {
            return BaseResponseUtils.buildFail("注册电子钱包-电子钱包记录写入异常");
        }
        return BaseResponseUtils.buildSuccess(true) ;
    }
    //@Operation(summary = "电子钱包充值", description = "电子钱包充值")
    //@ApiResponses(value = {
    //        @ApiResponse(
    //                responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
    //                description = "操作结果:true:成功,false:失败(BaseResponse.content)",
    //                content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
    //                        schema = @Schema(implementation = Boolean.class))}
    //        )
    //})
    //@PostMapping(path = "addRecharge")
    //@Transactional(rollbackFor = Exception.class)
    //@SsoAop("-1")//@SsoAop(power = "-1")
    //public BaseResponse<Boolean> addRecharge(@RequestBody @Parameter(description = "form表单json数据", required = true) @Valid DtoWalletRecharge po, @Parameter(hidden = true) BindingResult bindingResult){
    //    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    //    if(bindingResult != null && bindingResult.hasErrors()){
    //        return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
    //    }
    //
    //
    //
    //    SeWallet seWallet = new SeWallet();
    //    seWallet.setClientid(clientId);
    //    seWallet.setMoney(0f);
    //    seWallet.setCreatedt(new Date());
    //    Integer rec = Optional.ofNullable(walletSv.add(seWallet)).orElse(0);
    //    if(rec == 0) {
    //        return BaseResponseUtils.buildFail("注册电子钱包-电子钱包记录写入异常");
    //    }
    //
    //    return BaseResponseUtils.buildSuccess(true) ;
    //}
}
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wallet/WalletSv.java
New file
@@ -0,0 +1,79 @@
package com.dy.pipIrrSell.wallet;
import com.dy.pipIrrGlobal.daoSe.SeWalletMapper;
import com.dy.pipIrrGlobal.daoSe.SeWalletRechargeHistoryMapper;
import com.dy.pipIrrGlobal.daoSe.SeWalletRechargeMapper;
import com.dy.pipIrrGlobal.pojoSe.SeWallet;
import com.dy.pipIrrGlobal.pojoSe.SeWalletRechargeHistory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * @author ZhuBaoMin
 * @date 2023/12/11 16:36
 * @LastEditTime 2023/12/11 16:36
 * @Description
 */
@Slf4j
@Service
public class WalletSv {
    @Autowired
    private SeWalletMapper seWalletMapper;
    @Autowired
    private SeWalletRechargeMapper seWalletRechargeMapper;
    @Autowired
    private SeWalletRechargeHistoryMapper seWalletRechargeHistoryMapper;
    /**
     * 注册电子钱包账号
     * @param po
     * @return
     */
    public Integer add(SeWallet po) {
        return seWalletMapper.insert(po);
    }
    /**
     * 根据编号从钱包表中获取该钱包余额
     * @param id
     * @return
     */
    public Float getMoneyById(Long id) {
        SeWallet po = seWalletMapper.selectByPrimaryKey(id);
        return po.getMoney();
    }
    /**
     * 根据钱包编号修改钱包余额
     * @param id 钱包编号(主键)
     * @param money 钱包余额
     * @return 修改记录数量
     */
    public Integer updateMoneyById(Long id, Float money) {
        SeWallet po = seWalletMapper.selectByPrimaryKey(id);
        po.setMoney(money);
        return seWalletMapper.updateByPrimaryKey(po);
    }
    /**
     * 根据id删除充值记录
     * @param id
     * @return
     */
    public Integer deleteWallerRechargeById(Long id) {
        return seWalletMapper.deleteByPrimaryKey(id);
    }
    /**
     * 将充值记录添加到充值历史表
     * @param po 充值历史实体
     * @return
     */
    public Integer addWallerRechargeHistory(SeWalletRechargeHistory po) {
        return seWalletRechargeHistoryMapper.insert(po);
    }
}