Browse Source

feature1.0.0-img:完善优化提现功能

master
chengkun 4 years ago
parent
commit
cb12d5bf53
  1. 19
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/WithdrawConstant.java
  2. 18
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WithdrawLogController.java
  3. 3
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Creator.java
  4. 4
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/WithdrawLog.java
  5. 9
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/VerifyDto.java
  6. 3
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WithdrawDto.java
  7. 3
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/checkWithdrawDto.java
  8. 11
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WithdrawLogService.java
  9. 3
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java
  10. 39
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java
  11. 3
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/WithdrawLogVo.java
  12. 12
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml
  13. 2
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/WithdrawLogMapper.xml

19
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/WithdrawConstant.java

@ -0,0 +1,19 @@
package com.bnyer.img.constants;
/**
* @author chengkun
* @date 2022/4/21 18:12
*/
public class WithdrawConstant {
/**
* 审核通过
*/
public static final String PASS = "1";
/**
* 审核拒绝
*/
public static final String UNPASS = "0";
}

18
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WithdrawLogController.java

@ -55,20 +55,10 @@ public class WithdrawLogController extends BaseController {
} }
//@RequiresPermissions("system:config:list") //@RequiresPermissions("system:config:list")
@ApiOperation(value="审核提现通过") @ApiOperation(value="审核提现")
@PostMapping(value = "/verifyPass") @PostMapping(value = "/verify")
public AjaxResult verifyPass(@Validated @RequestBody @ApiParam("审核对象") VerifyDto dto){ public AjaxResult verifyPass(@Validated @RequestBody @ApiParam("审核对象") VerifyDto dto){
log.debug("【图文平台后台】审核提现通过参数为:{}", JSON.toJSONString(dto)); log.debug("【图文平台后台】审核提现参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(withdrawLogService.verifyPass(dto)); return AjaxResult.success(withdrawLogService.verify(dto));
} }
//@RequiresPermissions("system:config:list")
@ApiOperation(value="审核提现拒绝")
@PostMapping(value = "/verifyUnPass")
public AjaxResult verifyUnPass(@Validated @RequestBody @ApiParam("审核对象") VerifyDto dto){
log.debug("【图文平台后台】审核提现不通过参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(withdrawLogService.verifyUnPass(dto));
}
} }

3
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Creator.java

@ -9,6 +9,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.*; import lombok.*;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
@ -80,7 +81,7 @@ public class Creator extends BaseDomain {
*/ */
@TableField(value = "amt") @TableField(value = "amt")
@ApiModelProperty(value="余额") @ApiModelProperty(value="余额")
private Integer amt; private BigDecimal amt;
/** /**
* 邀请码 * 邀请码

4
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/WithdrawLog.java

@ -10,6 +10,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.*; import lombok.*;
import java.math.BigDecimal;
@ApiModel(value="com-bnyer-img-domain-WithdrawLog") @ApiModel(value="com-bnyer-img-domain-WithdrawLog")
@Getter @Getter
@Setter @Setter
@ -44,7 +46,7 @@ public class WithdrawLog extends BaseDomain {
*/ */
@TableField(value = "amt") @TableField(value = "amt")
@ApiModelProperty(value="提现金额") @ApiModelProperty(value="提现金额")
private Integer amt; private BigDecimal amt;
/** /**
* 银行卡(加密) * 银行卡(加密)

9
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/VerifyDto.java

@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
/** /**
@ -16,12 +18,19 @@ import java.io.Serializable;
@ApiModel("审核接收类") @ApiModel("审核接收类")
public class VerifyDto implements Serializable { public class VerifyDto implements Serializable {
@NotNull(message = "主键id不能为空!")
@ApiModelProperty(value="主键") @ApiModelProperty(value="主键")
private Long id; private Long id;
@NotNull(message = "管理员id不能为空!")
@ApiModelProperty(value="管理员id") @ApiModelProperty(value="管理员id")
private Long adminId; private Long adminId;
@NotBlank(message = "审核原因不能为空!")
@ApiModelProperty(value="审核原因") @ApiModelProperty(value="审核原因")
private String reason; private String reason;
@NotBlank(message = "审核状态不能为空!")
@ApiModelProperty(value="审核状态(0->拒绝;1->通过)")
private String verifyStatus;
} }

3
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WithdrawDto.java

@ -12,6 +12,7 @@ import lombok.Setter;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
@Getter @Getter
@ -25,7 +26,7 @@ public class WithdrawDto implements Serializable {
@NotNull(message = "提现金额不能为空!") @NotNull(message = "提现金额不能为空!")
@ApiModelProperty(value="提现金额") @ApiModelProperty(value="提现金额")
private Integer amt; private BigDecimal amt;
@ApiModelProperty(value="银行卡(加密)") @ApiModelProperty(value="银行卡(加密)")
@Desensitized(type = SensitiveTypeEnum.BANK_CARD) @Desensitized(type = SensitiveTypeEnum.BANK_CARD)

3
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/checkWithdrawDto.java

@ -9,6 +9,7 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
@Getter @Getter
@ -22,5 +23,5 @@ public class checkWithdrawDto implements Serializable {
@NotNull(message = "额度不能为空!") @NotNull(message = "额度不能为空!")
@ApiModelProperty(value="额度") @ApiModelProperty(value="额度")
private Integer amt; private BigDecimal amt;
} }

11
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WithdrawLogService.java

@ -5,6 +5,7 @@ import com.bnyer.img.dto.VerifyDto;
import com.bnyer.img.dto.WithdrawPageDto; import com.bnyer.img.dto.WithdrawPageDto;
import com.bnyer.img.vo.WithdrawLogVo; import com.bnyer.img.vo.WithdrawLogVo;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
@ -60,14 +61,8 @@ public interface WithdrawLogService {
* @param params 审核参数 * @param params 审核参数
* @return - * @return -
*/ */
int verifyPass(VerifyDto params); int verify(VerifyDto params);
/**
* 审核提现拒绝
* @param params 审核参数
* @return -
*/
int verifyUnPass(VerifyDto params);
/** /**
* 检查该艺术家是否可提现 * 检查该艺术家是否可提现
@ -75,5 +70,5 @@ public interface WithdrawLogService {
* @param amt 额度 * @param amt 额度
* @return - * @return -
*/ */
boolean checkWithdraw(Long creatorId,Integer amt); boolean checkWithdraw(Long creatorId, BigDecimal amt);
} }

3
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java

@ -36,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -138,7 +139,7 @@ public class CreatorServiceImpl implements CreatorService {
creator.setIsHot("0"); creator.setIsHot("0");
creator.setStatus("0"); creator.setStatus("0");
creator.setIsShow("1"); creator.setIsShow("1");
creator.setAmt(0); creator.setAmt(BigDecimal.valueOf(0));
creator.setSort(0); creator.setSort(0);
creator.setUpdateTime(new Date()); creator.setUpdateTime(new Date());
int update = creatorMapper.updateById(creator); int update = creatorMapper.updateById(creator);

39
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java

@ -1,5 +1,6 @@
package com.bnyer.img.service.impl; package com.bnyer.img.service.impl;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.bnyer.common.core.exception.ServiceException; import com.bnyer.common.core.exception.ServiceException;
@ -7,6 +8,7 @@ import com.bnyer.common.core.utils.DesensitizedUtils;
import com.bnyer.common.core.utils.Sm4Util; import com.bnyer.common.core.utils.Sm4Util;
import com.bnyer.common.core.utils.StringUtils; import com.bnyer.common.core.utils.StringUtils;
import com.bnyer.img.constants.TiktokConstant; import com.bnyer.img.constants.TiktokConstant;
import com.bnyer.img.constants.WithdrawConstant;
import com.bnyer.img.domain.Creator; import com.bnyer.img.domain.Creator;
import com.bnyer.img.domain.WithdrawLog; import com.bnyer.img.domain.WithdrawLog;
import com.bnyer.img.dto.VerifyDto; import com.bnyer.img.dto.VerifyDto;
@ -20,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -46,7 +49,7 @@ public class WithdrawLogServiceImpl implements WithdrawLogService {
throw new ServiceException("该艺术家不存在!", TiktokConstant.TIKTOK_CREATOR_NOT_EXIST); throw new ServiceException("该艺术家不存在!", TiktokConstant.TIKTOK_CREATOR_NOT_EXIST);
} }
//此处以分为单位 //此处以分为单位
if(creator.getAmt() < withdrawLog.getAmt() * 100){ if(creator.getAmt().compareTo(withdrawLog.getAmt()) == -1){
throw new ServiceException("该艺术家当前可提现余额不足,提现失败!", TiktokConstant.CREATOR_AMT_NOT_ENOUGH); throw new ServiceException("该艺术家当前可提现余额不足,提现失败!", TiktokConstant.CREATOR_AMT_NOT_ENOUGH);
} }
withdrawLog.setCreateTime(new Date()); withdrawLog.setCreateTime(new Date());
@ -55,7 +58,8 @@ public class WithdrawLogServiceImpl implements WithdrawLogService {
if(StringUtils.isNotBlank(withdrawLog.getBankNo())){ if(StringUtils.isNotBlank(withdrawLog.getBankNo())){
withdrawLog.setBankNo(Sm4Util.sm4Encryption(withdrawLog.getBankNo())); withdrawLog.setBankNo(Sm4Util.sm4Encryption(withdrawLog.getBankNo()));
} }
//TODO 订单id待核实了广告平台给予的奖励来确定是否有专属订单 //生成订单id
withdrawLog.setOrderId(IdUtil.getSnowflakeNextIdStr());
return withdrawLogMapper.insert(withdrawLog); return withdrawLogMapper.insert(withdrawLog);
} }
@ -79,7 +83,7 @@ public class WithdrawLogServiceImpl implements WithdrawLogService {
for (WithdrawLog withdrawLog : withdrawLogs) { for (WithdrawLog withdrawLog : withdrawLogs) {
if(StringUtils.isNotBlank(withdrawLog.getBankNo())){ if(StringUtils.isNotBlank(withdrawLog.getBankNo())){
withdrawLog.setBankNo(Sm4Util.sm4Decrypt(withdrawLog.getBankNo())); withdrawLog.setBankNo(Sm4Util.sm4Decrypt(withdrawLog.getBankNo()));
JSONObject.parseObject(DesensitizedUtils.getJsonNoCopy(withdrawLog), WithdrawLog.class); DesensitizedUtils.getJsonNoCopy(withdrawLog);
} }
} }
return withdrawLogs; return withdrawLogs;
@ -113,38 +117,35 @@ public class WithdrawLogServiceImpl implements WithdrawLogService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public int verifyPass(VerifyDto params) { public int verify(VerifyDto params) {
WithdrawLog withdrawLog = withdrawLogMapper.selectById(params.getId()); WithdrawLog withdrawLog = withdrawLogMapper.selectById(params.getId());
if(withdrawLog == null){ if(withdrawLog == null){
throw new ServiceException("该笔提现申请不存在!", TiktokConstant.WITHDRAW_LOG_NOT_EXIST); throw new ServiceException("该笔提现申请不存在!", TiktokConstant.WITHDRAW_LOG_NOT_EXIST);
} }
withdrawLog.setStatus("1");
withdrawLog.setReason(params.getReason()); withdrawLog.setReason(params.getReason());
if(params.getVerifyStatus().equals(WithdrawConstant.UNPASS)){
//审核拒绝
withdrawLog.setStatus("4");
withdrawLog.setUpdateTime(new Date());
return withdrawLogMapper.updateById(withdrawLog);
}
//审核通过
withdrawLog.setStatus("1");
withdrawLog.setUpdateTime(new Date());
int update = withdrawLogMapper.updateById(withdrawLog); int update = withdrawLogMapper.updateById(withdrawLog);
//TODO 此处审核通过,调用微信企业付款到零钱方法 //TODO 此处审核通过,调用微信企业付款到零钱方法
return update;
}
@Override return update;
@Transactional(rollbackFor = Exception.class)
public int verifyUnPass(VerifyDto params) {
WithdrawLog withdrawLog = withdrawLogMapper.selectById(params.getId());
if(withdrawLog == null){
throw new ServiceException("该笔提现申请不存在!", TiktokConstant.WITHDRAW_LOG_NOT_EXIST);
}
withdrawLog.setStatus("4");
withdrawLog.setReason(params.getReason());
return withdrawLogMapper.updateById(withdrawLog);
} }
@Override @Override
public boolean checkWithdraw(Long creatorId,Integer amt) { public boolean checkWithdraw(Long creatorId, BigDecimal amt) {
Creator creator = creatorMapper.selectById(creatorId); Creator creator = creatorMapper.selectById(creatorId);
if(creator == null){ if(creator == null){
throw new ServiceException("该艺术家不存在!", TiktokConstant.TIKTOK_CREATOR_NOT_EXIST); throw new ServiceException("该艺术家不存在!", TiktokConstant.TIKTOK_CREATOR_NOT_EXIST);
} }
//此处以分为单位 //此处以分为单位
if(creator.getAmt() >= amt * 100){ if(creator.getAmt().compareTo(amt) > -1){
return true; return true;
}else{ }else{
return false; return false;

3
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/WithdrawLogVo.java

@ -9,6 +9,7 @@ import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
@Getter @Getter
@ -26,7 +27,7 @@ public class WithdrawLogVo implements Serializable {
private Long creatorId; private Long creatorId;
@ApiModelProperty(value="提现金额") @ApiModelProperty(value="提现金额")
private Integer amt; private BigDecimal amt;
@ApiModelProperty(value="银行卡(加密)") @ApiModelProperty(value="银行卡(加密)")
@Desensitized(type = SensitiveTypeEnum.BANK_CARD) @Desensitized(type = SensitiveTypeEnum.BANK_CARD)

12
bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml

@ -11,7 +11,7 @@
<result column="phone" jdbcType="VARCHAR" property="phone" /> <result column="phone" jdbcType="VARCHAR" property="phone" />
<result column="img" jdbcType="VARCHAR" property="img" /> <result column="img" jdbcType="VARCHAR" property="img" />
<result column="intro" jdbcType="VARCHAR" property="intro" /> <result column="intro" jdbcType="VARCHAR" property="intro" />
<result column="amt" jdbcType="INTEGER" property="amt" /> <result column="amt" jdbcType="DECIMAL" property="amt" />
<result column="invite_code" jdbcType="VARCHAR" property="inviteCode" /> <result column="invite_code" jdbcType="VARCHAR" property="inviteCode" />
<result column="url" jdbcType="VARCHAR" property="url" /> <result column="url" jdbcType="VARCHAR" property="url" />
<result column="status" jdbcType="CHAR" property="status" /> <result column="status" jdbcType="CHAR" property="status" />
@ -86,14 +86,4 @@
</where> </where>
order by create_time desc order by create_time desc
</select> </select>
<!-- <insert id="insertCreator" useGeneratedKeys="true" keyProperty="id">-->
<!-- insert into img_creator-->
<!-- (name, scan_code, phone, img, intro, invite_code, url, status, is_hot,-->
<!-- is_show, create_time,update_time, sort, amt)-->
<!-- values(#{creator.name},#{creator.scanCode},#{creator.phone},#{creator.img},-->
<!-- #{creator.intro},#{creator.inviteCode},#{creator.url},#{creator.status},-->
<!-- #{creator.isHot},#{creator.isShow},#{creator.createTime},#{creator.updateTime},-->
<!-- #{creator.sort},#{creator.amt})-->
<!-- </insert>-->
</mapper> </mapper>

2
bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/WithdrawLogMapper.xml

@ -7,7 +7,7 @@
<id column="id" jdbcType="INTEGER" property="id" /> <id column="id" jdbcType="INTEGER" property="id" />
<result column="creator_id" jdbcType="BIGINT" property="creatorId" /> <result column="creator_id" jdbcType="BIGINT" property="creatorId" />
<result column="order_id" jdbcType="VARCHAR" property="orderId" /> <result column="order_id" jdbcType="VARCHAR" property="orderId" />
<result column="amt" jdbcType="INTEGER" property="amt" /> <result column="amt" jdbcType="DECIMAL" property="amt" />
<result column="bank_no" jdbcType="VARCHAR" property="bankNo" /> <result column="bank_no" jdbcType="VARCHAR" property="bankNo" />
<result column="reason" jdbcType="VARCHAR" property="reason" /> <result column="reason" jdbcType="VARCHAR" property="reason" />
<result column="status" jdbcType="CHAR" property="status" /> <result column="status" jdbcType="CHAR" property="status" />

Loading…
Cancel
Save