Commit 0fbe0e52 authored by licc's avatar licc

银行卡相关接口实现

parent b9749a7d
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.BankInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
* @author 86187
*/
public interface BankInfoMapper extends BaseMapper<BankInfo> {
/**
* 添加银行卡信息
*
* @param bankInfo 银行卡信息
* @return 1
*/
int add(BankInfo bankInfo);
/**
* 编辑银行卡信息
*
* @param bankInfo 银行卡信息
* @return 1
*/
int edit(BankInfo bankInfo);
/**
* 删除银行卡信息
*
* @param id 银行卡id
* @return 1
*/
int delById(@Param("id") Integer id);
/**
* 通过用户id,获取用户银行卡信息
*
* @param userId 用户id
* @return 1
*/
BankInfo getByUserId(@Param("userId") String userId);
}
<?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="cn.wisenergy.mapper.BankInfoMapper">
<resultMap id="bankMap" type="cn.wisenergy.model.app.BankInfo">
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="name" property="name"/>
<result column="bank_name" property="bankName"/>
<result column="card_number" property="cardNumber"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="table">
bank_info
</sql>
<sql id="cols_all">
id,
<include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
user_id,name,bank_name,card_number,create_time,update_time
</sql>
<sql id="vals">
#{userId},#{name},#{bankName},#{cardNumber},now(),now()
</sql>
<sql id="updateCondition">
<if test="userId != null">user_id = #{userId},</if>
<if test="name != null">name = #{name},</if>
<if test="bankName != null">bank_name =#{bankName},</if>
<if test="cardNumber != null">card_number =#{cardNumber},</if>
update_time =now()
</sql>
<sql id="criteria">
<if test="id != null">id = #{id}</if>
<if test="userId != null">and user_id = #{userId}</if>
<if test="name != null">and name = #{name}</if>
<if test="bankName != null">and bank_name =#{bankName}</if>
<if test="cardNumber != null">and card_number =#{cardNumber}</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
</sql>
<insert id="add" parameterType="cn.wisenergy.model.app.BankInfo" keyProperty="id" useGeneratedKeys="true">
insert into
<include refid="table"/>
(<include refid="cols_exclude_id"/>)
value(
<include refid="vals"/>
)
</insert>
<update id="edit" parameterType="cn.wisenergy.model.app.BankInfo">
UPDATE
<include refid="table"/>
<set>
<include refid="updateCondition"/>
</set>
<where>
id = #{id}
</where>
</update>
<delete id="delById" parameterType="java.lang.Integer">
delete from
<include refid="table"/>
where id = #{id}
</delete>
<select id="getByUserId" resultType="cn.wisenergy.model.app.BankInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
</mapper>
\ No newline at end of file
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
<result column="trade_no" property="tradeNo"/> <result column="trade_no" property="tradeNo"/>
<result column="status" property="status"/> <result column="status" property="status"/>
<result column="task_id" property="taskId"/> <result column="task_id" property="taskId"/>
<result column="money" property="money"/>
<result column="card_number" property="cardNumber"/>
<result column="create_time" property="createTime"/> <result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/> <result column="update_time" property="updateTime"/>
</resultMap> </resultMap>
...@@ -22,11 +24,11 @@ ...@@ -22,11 +24,11 @@
</sql> </sql>
<sql id="cols_exclude_id"> <sql id="cols_exclude_id">
user_id,trade_type,trade_no,status,task_id,create_time,update_time user_id,trade_type,trade_no,status,task_id,money,card_number,create_time,update_time
</sql> </sql>
<sql id="vals"> <sql id="vals">
#{userId},#{tradeType},#{tradeNo},#{status},#{taskId}, now(),now() #{userId},#{tradeType},#{tradeNo},#{status},#{taskId},#{money},#{cardNumber},now(),now()
</sql> </sql>
<sql id="updateCondition"> <sql id="updateCondition">
...@@ -35,6 +37,8 @@ ...@@ -35,6 +37,8 @@
<if test="tradeNo != null">trade_no =#{tradeNo},</if> <if test="tradeNo != null">trade_no =#{tradeNo},</if>
<if test="status != null">status =#{status},</if> <if test="status != null">status =#{status},</if>
<if test="taskId != null">task_id =#{taskId},</if> <if test="taskId != null">task_id =#{taskId},</if>
<if test="money != null">money =#{money},</if>
<if test="cardNumber != null">card_number =#{cardNumber},</if>
update_time =now() update_time =now()
</sql> </sql>
...@@ -45,6 +49,8 @@ ...@@ -45,6 +49,8 @@
<if test="tradeNo != null">and trade_no =#{tradeNo}</if> <if test="tradeNo != null">and trade_no =#{tradeNo}</if>
<if test="status != null">and status =#{status}</if> <if test="status != null">and status =#{status}</if>
<if test="taskId != null">and task_id =#{taskId}</if> <if test="taskId != null">and task_id =#{taskId}</if>
<if test="money != null">and money =#{money}</if>
<if test="cardNumber != null">and card_number =#{cardNumber}</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if> <if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="updateTime != null">and #{updateTime} &gt;= update_time</if> <if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
</sql> </sql>
...@@ -117,8 +123,9 @@ ...@@ -117,8 +123,9 @@
from from
<include refid="table"/> <include refid="table"/>
<where> <where>
(status=2 or status=3)
<if test="userId"> <if test="userId">
user_id=#{userId} and user_id=#{userId}
</if> </if>
<if test="yearMonth != null"> <if test="yearMonth != null">
AND( AND(
......
package cn.wisenergy.model.app;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author 86187
* @ Description: 银行卡信息实体类
* @ Author : 86187
* @ Date : 2021/3/3 15:55
*/
@Data
@ApiModel("BankInfo")
public class BankInfo {
/**
* 主键id
*/
@ApiModelProperty(value = "主键id", name = "id")
private Integer id;
/**
* 用户id
*/
@ApiModelProperty(value = "用户id", name = "userId")
private String userId;
/**
* 姓名
*/
@ApiModelProperty(value = "姓名", name = "name")
private String name;
/**
* 银行卡名称
*/
@ApiModelProperty(value = "银行卡名称", name = "bankName")
private String bankName;
/**
* 银行卡卡号
*/
@ApiModelProperty(value = "银行卡卡号", name = "cardNumber")
private String cardNumber;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间", name = "createTime")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间", name = "updateTime")
private Date updateTime;
}
...@@ -61,6 +61,12 @@ public class TradeRecord implements Serializable { ...@@ -61,6 +61,12 @@ public class TradeRecord implements Serializable {
@ApiModelProperty(name = "money", value = "金额") @ApiModelProperty(name = "money", value = "金额")
private BigDecimal money; private BigDecimal money;
/**
* 银行卡卡号
*/
@ApiModelProperty(name = "cardNumber", value = "银行卡卡号")
private String cardNumber;
/** /**
* 创建时间 * 创建时间
*/ */
......
package cn.wisenergy.service.app;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.BankInfo;
/**
* @author 86187
*/
public interface BankService {
/**
* 保存银行卡信息
*
* @param bankInfo 银行卡信息
* @return 银行卡信息
*/
R<BankInfo> add(BankInfo bankInfo);
/**
* 编辑银行卡信息
*
* @param bankInfo 银行卡信息
* @return 银行卡信息
*/
R<BankInfo> edit(BankInfo bankInfo);
/**
* 获取银行卡信息
*
* @param userId 用户id
* @return 银行卡信息
*/
R<BankInfo> getByUserId(String userId);
/**
* 银行卡提现发送验证码
*
* @param userId 用户主键id
* @return true 成功 false 失败
*/
R<Boolean> bankWithdrawSendSms(String userId);
/**
* 用户提现到银行卡
*
* @param userId 用户标识
* @return true 成功 false 失败
*/
R<Boolean> userWithdrawBank(String userId);
}
...@@ -52,4 +52,6 @@ public interface WalletService { ...@@ -52,4 +52,6 @@ public interface WalletService {
* @return 提现记录列表 * @return 提现记录列表
*/ */
R<List<WithdrawalRecordVo>> getWithdrawalRecord(String userId, String yearMonth); R<List<WithdrawalRecordVo>> getWithdrawalRecord(String userId, String yearMonth);
} }
package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.mapper.BankInfoMapper;
import cn.wisenergy.mapper.UsersMapper;
import cn.wisenergy.model.app.BankInfo;
import cn.wisenergy.model.app.User;
import cn.wisenergy.service.app.BankService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author 86187
* @ Description: 银行卡相关接口实现
* @ Author : 86187
* @ Date : 2021/3/3 16:28
*/
@Service
@Slf4j
public class BankServiceImpl extends ServiceImpl<BankInfoMapper, BankInfo> implements BankService {
@Autowired
private BankInfoMapper bankInfoMapper;
@Autowired
private UsersMapper usersMapper;
@Override
public R<BankInfo> add(BankInfo bankInfo) {
log.info("shop-mall[]BankServiceImpl[]add[]input.param.bankInfo:" + bankInfo);
if (null == bankInfo) {
return R.error("入参不能为空!");
}
int count = bankInfoMapper.add(bankInfo);
if (count == 0) {
return R.error("保存用户银行卡信息失败!");
}
return R.ok(bankInfo);
}
@Override
public R<BankInfo> edit(BankInfo bankInfo) {
log.info("shop-mall[]BankServiceImpl[]edit[]input.param.bankInfo:" + bankInfo);
if (null == bankInfo) {
return R.error("入参不能为空!");
}
//获取用户银行卡信息
BankInfo old = bankInfoMapper.selectById(bankInfo.getId());
if (null == old) {
return R.error("用户银行卡信息不存在!");
}
old.setBankName(bankInfo.getBankName());
old.setCardNumber(bankInfo.getCardNumber());
old.setName(bankInfo.getName());
//编辑
int count = bankInfoMapper.edit(old);
if (count == 0) {
return R.error("编辑用户银行卡信息失败!");
}
return R.ok(old);
}
@Override
public R<BankInfo> getByUserId(String userId) {
log.info("shop-mall[]BankServiceImpl[]getByUserId[]input.param.userId:" + userId);
if (StringUtils.isBlank(userId)) {
return R.error("入参不能为空!");
}
BankInfo bankInfo = bankInfoMapper.getByUserId(userId);
return R.ok(bankInfo);
}
@Override
public R<Boolean> bankWithdrawSendSms(String userId) {
log.info("shop-mall[]BankServiceImpl[]edit[]input.param.userId:" + userId);
if (StringUtils.isBlank(userId)) {
return R.error("入参不能为空!");
}
//1、获取用户信息
User user = usersMapper.selectById(userId);
if (null == user) {
return R.error("用户信息不存在!");
}
//2、调用发送短信验证码接口
return null;
}
@Override
public R<Boolean> userWithdrawBank(String userId) {
return null;
}
}
package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.AccountInfo;
import cn.wisenergy.model.app.BankInfo;
import cn.wisenergy.service.app.BankService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @author 86187
*/
@Api(tags = "提现银行卡管理")
@RestController
@RequestMapping("/bank")
@Slf4j
public class BankController {
@Autowired
private BankService bankService;
@ApiOperation(value = "保存用户银行卡信息", notes = "保存用户银行卡信息", httpMethod = "POST")
@ApiImplicitParam(name = "bankInfo", value = "银行卡信息", dataType = "BankInfo")
@PostMapping("/add")
public R<BankInfo> add(@RequestBody BankInfo bankInfo) {
log.info("shop-mall[]BankController[]add[]input.param.bankInfo:" + bankInfo);
if (null == bankInfo) {
return R.error("入参为空!");
}
return bankService.add(bankInfo);
}
@ApiOperation(value = "编辑用户银行卡信息", notes = "编辑用户银行卡信息", httpMethod = "POST")
@ApiImplicitParam(name = "bankInfo", value = "银行卡信息", dataType = "BankInfo")
@PostMapping("/edit")
public R<BankInfo> edit(@RequestBody BankInfo bankInfo) {
log.info("shop-mall[]BankController[]edit[]input.param.bankInfo:" + bankInfo);
if (null == bankInfo) {
return R.error("入参为空!");
}
return bankService.edit(bankInfo);
}
@ApiOperation(value = "获取银行卡信息", notes = "获取银行卡信息", httpMethod = "GET")
@ApiImplicitParam(name = "userId", value = "用户id", dataType = "String")
@GetMapping("/getByUserId")
public R<BankInfo> getByUserId(String userId){
return bankService.getByUserId(userId);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment