diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WithdrawLog.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WithdrawLog.java index c2e00e2..81f5a2f 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WithdrawLog.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WithdrawLog.java @@ -48,21 +48,13 @@ public class WithdrawLog extends BaseDomain { @ApiModelProperty(value="提现金额") private BigDecimal amt; - /** - * 银行卡(加密) - */ - @TableField(value = "bank_no") - @ApiModelProperty(value="银行卡(加密)") - @Desensitized(type = SensitiveTypeEnum.BANK_CARD) - private String bankNo; - /** * 支付宝手机号(加密) */ - @TableField(value = "phone") - @ApiModelProperty(value="支付宝手机号(加密)") + @TableField(value = "account_no") + @ApiModelProperty(value="收款账号(加密)") @Desensitized(type = SensitiveTypeEnum.MOBILE_PHONE) - private String phone; + private String accountNo; /** * 渠道(0->微信;1->银行卡) diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/WithdrawDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/WithdrawDto.java index 91275ea..52c3923 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/WithdrawDto.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/WithdrawDto.java @@ -28,13 +28,9 @@ public class WithdrawDto implements Serializable { @ApiModelProperty(value="提现金额") private BigDecimal amt; - @ApiModelProperty(value="银行卡(加密)") - @Desensitized(type = SensitiveTypeEnum.BANK_CARD) - private String bankNo; - - @ApiModelProperty(value="支付宝手机号(加密)") + @ApiModelProperty(value="收款账号(加密)") @Desensitized(type = SensitiveTypeEnum.MOBILE_PHONE) - private String phone; + private String accountNo; @NotBlank(message = "渠道不能为空!") @ApiModelProperty(value="渠道(0->微信;1->银行卡;2->支付宝)") diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/WithdrawPageDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/WithdrawPageDto.java index f230701..caa8104 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/WithdrawPageDto.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/WithdrawPageDto.java @@ -20,9 +20,6 @@ public class WithdrawPageDto extends BasePageDto { @ApiModelProperty(value="状态(0->待审核;1->提现中;2->提现成功;3->提现失败)") private String status; - @ApiModelProperty(value="银行卡(加密)") - private String bankNo; - - @ApiModelProperty(value="支付宝手机号(加密)") - private String phone; + @ApiModelProperty(value="收款账号(加密)") + private String accountNo; } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java index a8f7595..5fc610d 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java @@ -201,38 +201,38 @@ public class CreatorMiniController extends BaseController { } //@TokenCheck - @ApiOperation(value="查询指定艺术家账户") + @ApiOperation(value="查询指定艺术家收款账户") @GetMapping(value = "/getAccount/{creatorId}") public AjaxResult getAccount(@PathVariable @ApiParam("艺术家id") Long creatorId){ log.info("【艺术家小程序】查询艺术家id:【{}】账户",creatorId); return AjaxResult.success(creatorAccountService.queryList(creatorId)); } - @ApiOperation(value="新增艺术家账户") + @ApiOperation(value="新增艺术家收款账户") @PostMapping(value = "/insertAccount") public AjaxResult insertCreatorAccount(@Validated @RequestBody @ApiParam("creatorAccount对象") CreatorAccountDto dto){ return AjaxResult.success(creatorAccountService.insert(dto.extractParam())); } - @ApiOperation(value="修改艺术家账户") + @ApiOperation(value="修改艺术家收款账户") @PostMapping(value = "/updateAccount") public AjaxResult updateCreatorAccount(@Validated @RequestBody @ApiParam("creatorAccount对象") CreatorAccountDto dto){ return AjaxResult.success(creatorAccountService.update(dto.extractParam())); } - @ApiOperation(value="检查艺术家账户是否存在") + @ApiOperation(value="检查艺术家收款账户是否存在") @PostMapping(value = "/checkAccountExist") public AjaxResult checkAccountExist(@Validated @RequestBody @ApiParam("艺术家账户存在对象") CreatorAccountExistDto dto){ return AjaxResult.success(creatorAccountService.checkAccountExist(dto.getCreatorId(),dto.getAccountNo())); } - @ApiOperation(value="检查艺术家账户是否超过4个") + @ApiOperation(value="检查艺术家收款账户是否超过4个") @GetMapping(value = "/checkAccountUpToFour/{creatorId}") public AjaxResult checkAccountUpToFour(@PathVariable @ApiParam("艺术家id") Long creatorId){ return AjaxResult.success(creatorAccountService.checkAccountUpToFour(creatorId)); } - @ApiOperation(value="删除艺术家账户") + @ApiOperation(value="删除艺术家收款账户") @GetMapping(value = "/deleteAccount/{ids}") public AjaxResult deleteCreatorAccount(@PathVariable @ApiParam("主键ids") List ids){ return AjaxResult.success(creatorAccountService.delete(ids)); @@ -362,6 +362,14 @@ public class CreatorMiniController extends BaseController { return AjaxResult.success(creatorService.logout(param.getPhone())); } + //@TokenCheck + @GetMapping("/getCreatorInfo/{creatorId}") + @ApiOperation("获取艺术家信息") + public AjaxResult getCreatorInfo(@PathVariable @ApiParam("艺术家id") Long creatorId) + { + return AjaxResult.success(creatorService.getCreatorInfo(creatorId)); + } + //@TokenCheck @ApiOperation(value="查询艺术家分类图片数量") @GetMapping(value = "/queryCreatorTypeImgNum/{creatorId}") diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java index aebc756..0f41b13 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java @@ -4,6 +4,7 @@ import com.bnyer.common.core.dto.CreatorDto; import com.bnyer.common.core.dto.CreatorLoginDto; import com.bnyer.img.vo.CreatorDetailsVo; import com.bnyer.img.vo.CreatorHotVo; +import com.bnyer.img.vo.CreatorLoginVo; import com.bnyer.img.vo.CreatorVo; import java.util.List; @@ -88,4 +89,11 @@ public interface CreatorService { * @return - */ int reVerify(Long creatorId); + + /** + * 获取艺术家信息 + * @param creatorId 艺术家id + * @return - + */ + CreatorLoginVo getCreatorInfo(Long creatorId); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java index 8896125..1e56e64 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java @@ -228,4 +228,19 @@ public class CreatorServiceImpl implements CreatorService { creator.setStatus("0"); return creatorMapper.update(creator,wrapper); } + + @Override + public CreatorLoginVo getCreatorInfo(Long creatorId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Creator::getId,creatorId); + wrapper.eq(Creator::getIsShow,"1"); + Creator creator = creatorMapper.selectOne(wrapper); + if(creator != null){ + CreatorLoginVo creatorInfo = new CreatorLoginVo(); + BeanUtils.copyProperties(creator, creatorInfo); + return creatorInfo; + }else{ + return null; + } + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java index 9d06e7a..a0adc57 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java @@ -50,14 +50,15 @@ public class WithdrawLogServiceImpl implements WithdrawLogService { withdrawLog.setCreateTime(new Date()); withdrawLog.setUpdateTime(new Date()); withdrawLog.setStatus("0"); - if(StringUtils.isNotBlank(withdrawLog.getBankNo())){ - withdrawLog.setBankNo(Sm4Util.sm4Encryption(withdrawLog.getBankNo())); - } - if(StringUtils.isNotBlank(withdrawLog.getPhone())){ - withdrawLog.setPhone(Sm4Util.sm4Encryption(withdrawLog.getPhone())); + if(StringUtils.isNotBlank(withdrawLog.getAccountNo())){ + withdrawLog.setAccountNo(Sm4Util.sm4Encryption(withdrawLog.getAccountNo())); } //生成订单id withdrawLog.setOrderId(IdUtil.getSnowflakeNextIdStr()); + //扣除账户余额 + BigDecimal amt = creator.getAmt().subtract(withdrawLog.getAmt()); + creator.setAmt(amt); + creatorMapper.updateById(creator); return withdrawLogMapper.insert(withdrawLog); } @@ -66,11 +67,8 @@ public class WithdrawLogServiceImpl implements WithdrawLogService { List withdrawLogVos = withdrawLogMapper.queryFrontList(creatorId); if(withdrawLogVos.size() > 0){ for (WithdrawLogVo withdrawLogVo : withdrawLogVos) { - if(StringUtils.isNotBlank(withdrawLogVo.getPhone())){ - withdrawLogVo.setPhone(Sm4Util.sm4Decrypt(withdrawLogVo.getPhone())); - } - if(StringUtils.isNotBlank(withdrawLogVo.getBankNo())){ - withdrawLogVo.setBankNo(Sm4Util.sm4Decrypt(withdrawLogVo.getBankNo())); + if(StringUtils.isNotBlank(withdrawLogVo.getAccountNo())){ + withdrawLogVo.setAccountNo(Sm4Util.sm4Decrypt(withdrawLogVo.getAccountNo())); } JSONObject.parseObject(DesensitizedUtils.getJsonNoCopy(withdrawLogVo), WithdrawLogVo.class); } @@ -82,11 +80,8 @@ public class WithdrawLogServiceImpl implements WithdrawLogService { @Override public WithdrawLogVo queryFrontDetails(String orderId) { WithdrawLogVo withdrawLogVo = withdrawLogMapper.queryFrontDetails(orderId); - if(StringUtils.isNotBlank(withdrawLogVo.getPhone())){ - withdrawLogVo.setPhone(Sm4Util.sm4Decrypt(withdrawLogVo.getPhone())); - } - if(StringUtils.isNotBlank(withdrawLogVo.getBankNo())){ - withdrawLogVo.setBankNo(Sm4Util.sm4Decrypt(withdrawLogVo.getBankNo())); + if(StringUtils.isNotBlank(withdrawLogVo.getAccountNo())){ + withdrawLogVo.setAccountNo(Sm4Util.sm4Decrypt(withdrawLogVo.getAccountNo())); } JSONObject.parseObject(DesensitizedUtils.getJsonNoCopy(withdrawLogVo), WithdrawLogVo.class); return withdrawLogVo; diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/WithdrawLogVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/WithdrawLogVo.java index 24d0a11..9298250 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/WithdrawLogVo.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/WithdrawLogVo.java @@ -29,13 +29,9 @@ public class WithdrawLogVo implements Serializable { @ApiModelProperty(value="提现金额") private BigDecimal amt; - @ApiModelProperty(value="银行卡(加密)") - @Desensitized(type = SensitiveTypeEnum.BANK_CARD) - private String bankNo; - - @ApiModelProperty(value="支付宝手机号(加密)") + @ApiModelProperty(value="收款账号(加密)") @Desensitized(type = SensitiveTypeEnum.MOBILE_PHONE) - private String phone; + private String accountNo; @ApiModelProperty(value="渠道(0->微信;1->银行卡;2->支付宝)") private String channel; diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/WithdrawLogMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/WithdrawLogMapper.xml index 9d423d0..2380d07 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/WithdrawLogMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/WithdrawLogMapper.xml @@ -8,8 +8,7 @@ - - + @@ -20,12 +19,12 @@ - id, creator_id, amt, bank_no, phone, `status`, create_time, update_time, sort,is_show,order_id,channel,reason + id, creator_id, amt, account_no, `status`, create_time, update_time, sort,is_show,order_id,channel,reason select - id, creator_id, amt, bank_no,phone,status,create_time,update_time,order_id,channel,reason + id, creator_id, amt, account_no,status,create_time,update_time,order_id,channel,reason from img_withdraw_log where is_show = '1' and order_id = #{orderId} diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/WithdrawLogServiceImpl.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/WithdrawLogServiceImpl.java index 4276742..eb7ed35 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/WithdrawLogServiceImpl.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/WithdrawLogServiceImpl.java @@ -69,20 +69,14 @@ public class WithdrawLogServiceImpl implements IWithdrawLogService { if(StringUtils.isNotBlank(params.getOrderId())){ wrapper.eq(WithdrawLog::getOrderId,params.getOrderId()); } - if(StringUtils.isNotBlank(params.getBankNo())){ - wrapper.eq(WithdrawLog::getBankNo, Sm4Util.sm4Encryption(params.getBankNo())); - } - if(StringUtils.isNotBlank(params.getPhone())){ - wrapper.eq(WithdrawLog::getPhone, Sm4Util.sm4Encryption(params.getPhone())); + if(StringUtils.isNotBlank(params.getAccountNo())){ + wrapper.eq(WithdrawLog::getAccountNo, Sm4Util.sm4Encryption(params.getAccountNo())); } wrapper.orderByDesc(WithdrawLog::getCreateTime); List withdrawLogs = withdrawLogMapper.selectList(wrapper); for (WithdrawLog withdrawLog : withdrawLogs) { - if(StringUtils.isNotBlank(withdrawLog.getBankNo())){ - withdrawLog.setBankNo(Sm4Util.sm4Decrypt(withdrawLog.getBankNo())); - } - if(StringUtils.isNotBlank(withdrawLog.getPhone())){ - withdrawLog.setPhone(Sm4Util.sm4Decrypt(withdrawLog.getPhone())); + if(StringUtils.isNotBlank(withdrawLog.getAccountNo())){ + withdrawLog.setAccountNo(Sm4Util.sm4Decrypt(withdrawLog.getAccountNo())); } DesensitizedUtils.getJsonNoCopy(withdrawLog); } @@ -92,11 +86,8 @@ public class WithdrawLogServiceImpl implements IWithdrawLogService { @Override public WithdrawLog queryDetails(Long id) { WithdrawLog withdrawLog = withdrawLogMapper.selectById(id); - if(StringUtils.isNotBlank(withdrawLog.getBankNo())){ - withdrawLog.setBankNo(Sm4Util.sm4Decrypt(withdrawLog.getBankNo())); - } - if(StringUtils.isNotBlank(withdrawLog.getPhone())){ - withdrawLog.setPhone(Sm4Util.sm4Decrypt(withdrawLog.getPhone())); + if(StringUtils.isNotBlank(withdrawLog.getAccountNo())){ + withdrawLog.setAccountNo(Sm4Util.sm4Decrypt(withdrawLog.getAccountNo())); } JSONObject.parseObject(DesensitizedUtils.getJsonNoCopy(withdrawLog), WithdrawLog.class); return withdrawLog; @@ -181,6 +172,11 @@ public class WithdrawLogServiceImpl implements IWithdrawLogService { withdrawLog.setReason(params.getReason()); if(params.getVerifyStatus().equals(WithdrawConstant.UNPASS)){ //审核拒绝 + //归还账户额度 + Creator creator = creatorMapper.selectById(withdrawLog.getCreatorId()); + BigDecimal amt = creator.getAmt().add(withdrawLog.getAmt()); + creator.setAmt(amt); + creatorMapper.updateById(creator); withdrawLog.setStatus("4"); withdrawLog.setUpdateTime(new Date()); return withdrawLogMapper.updateById(withdrawLog); @@ -194,7 +190,7 @@ public class WithdrawLogServiceImpl implements IWithdrawLogService { CreatorAccountVo creatorAccount = creatorAccountService.queryListByType(withdrawLog.getCreatorId(), "1"); if(creatorAccount != null){ try{ - AlipayFundTransUniTransferResponse body = this.trans(withdrawLog.getOrderId(), creatorAccount.getAliPayNo(), creatorAccount.getName(), withdrawLog.getAmt()); + AlipayFundTransUniTransferResponse body = this.trans(withdrawLog.getOrderId(), creatorAccount.getAccountNo(), creatorAccount.getName(), withdrawLog.getAmt()); if(!body.getCode().equals(WithdrawConstant.SUCCESS)){ //提现失败 withdrawLog.setStatus("3"); @@ -202,11 +198,6 @@ public class WithdrawLogServiceImpl implements IWithdrawLogService { log.error("艺术家【{}】订单【{}】提现失败!原因为:【{}】",withdrawLog.getCreatorId(),withdrawLog.getOrderId(),body.getSubMsg()); return withdrawLogMapper.updateById(withdrawLog); } - //扣除账户余额 - Creator creator = creatorMapper.selectById(withdrawLog.getCreatorId()); - BigDecimal amt = creator.getAmt().subtract(withdrawLog.getAmt()); - creator.setAmt(amt); - creatorMapper.updateById(creator); //TODO 分布式锁 }catch (AlipayApiException e){ log.error("艺术家【{}】订单【{}】提现异常!原因为:【{}】",withdrawLog.getCreatorId(),withdrawLog.getOrderId(),e); @@ -218,10 +209,11 @@ public class WithdrawLogServiceImpl implements IWithdrawLogService { }else{ throw new ServiceException("该艺术家未绑定支付宝账户!请手动设置!"); } - }else if(withdrawLog.getChannel().equals(WithdrawConstant.BANK)){ - //TODO 转账到银行卡待开发 + }else if(withdrawLog.getChannel().equals(WithdrawConstant.WECHAT)){ + //TODO 转账到微信待开发 } log.info("艺术家【{}】订单【{}】提现【{}】元成功!",withdrawLog.getCreatorId(),withdrawLog.getOrderId(),withdrawLog.getAmt()); + //TODO 微信推送/企业微信推送提现成功通知 return withdrawLogMapper.updateById(withdrawLog); } }