diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/CreatorAccountExistDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/CreatorAccountExistDto.java new file mode 100644 index 0000000..2d94453 --- /dev/null +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/CreatorAccountExistDto.java @@ -0,0 +1,24 @@ +package com.bnyer.common.core.dto; + +import com.bnyer.common.core.annotation.Desensitized; +import com.bnyer.common.core.enums.SensitiveTypeEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("艺术家账户存在接收类") +public class CreatorAccountExistDto implements Serializable { + + @ApiModelProperty(value="艺术家id") + private Long creatorId; + + @Desensitized(type = SensitiveTypeEnum.MOBILE_PHONE) + @ApiModelProperty(value="账户账号(加密)") + private String accountNo; +} diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/CreatorAccountPageDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/CreatorAccountPageDto.java index f4e5253..c6abcd2 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/CreatorAccountPageDto.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/CreatorAccountPageDto.java @@ -16,18 +16,14 @@ public class CreatorAccountPageDto extends BasePageDto { @ApiModelProperty(value="身份证(加密)") private String idNo; - @Desensitized(type = SensitiveTypeEnum.BANK_CARD) - @ApiModelProperty(value="银行卡(加密)") - private String bankNo; + @Desensitized(type = SensitiveTypeEnum.MOBILE_PHONE) + @ApiModelProperty(value="账号号码(加密)") + private String accountNo; @Desensitized(type = SensitiveTypeEnum.MOBILE_PHONE) @ApiModelProperty(value="联系电话") private String phone; - @Desensitized(type = SensitiveTypeEnum.MOBILE_PHONE) - @ApiModelProperty(value="支付宝账号(加密)") - private String aliPayNo; - @Desensitized(type = SensitiveTypeEnum.CHINESE_NAME) @ApiModelProperty(value="姓名(加密)") private String name; diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SetCreatorAccountStatusDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SetCreatorAccountStatusDto.java new file mode 100644 index 0000000..13a0d59 --- /dev/null +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SetCreatorAccountStatusDto.java @@ -0,0 +1,28 @@ +package com.bnyer.common.core.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("设置艺术家收款账户状态接收类") +public class SetCreatorAccountStatusDto implements Serializable { + + @ApiModelProperty(value="主键Id") + private Long id; + + @NotNull(message = "状态不能为空!") + @ApiModelProperty(value="状态") + private String status; + + @NotNull(message = "艺术家id不能为空!") + @ApiModelProperty(value="艺术家id") + private Long creatorId; + +} diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/Sm4Util.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/Sm4Util.java index 986e3c5..baeed91 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/Sm4Util.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/Sm4Util.java @@ -32,7 +32,7 @@ public class Sm4Util { } /** - * SM4加密 + * SM4解密 * * @param src * @return 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 ade1c74..a8f7595 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 @@ -220,12 +220,30 @@ public class CreatorMiniController extends BaseController { return AjaxResult.success(creatorAccountService.update(dto.extractParam())); } + @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个") + @GetMapping(value = "/checkAccountUpToFour/{creatorId}") + public AjaxResult checkAccountUpToFour(@PathVariable @ApiParam("艺术家id") Long creatorId){ + return AjaxResult.success(creatorAccountService.checkAccountUpToFour(creatorId)); + } + @ApiOperation(value="删除艺术家账户") - @PostMapping(value = "/deleteAccount") + @GetMapping(value = "/deleteAccount/{ids}") public AjaxResult deleteCreatorAccount(@PathVariable @ApiParam("主键ids") List ids){ return AjaxResult.success(creatorAccountService.delete(ids)); } + @ApiOperation(value="设置艺术家收款账户默认状态") + @PostMapping(value = "/setDefaultAccountStatus") + public AjaxResult setDefaultAccountStatus(@Validated @RequestBody @ApiParam("type状态对象") SetCreatorAccountStatusDto dto){ + return AjaxResult.success(creatorAccountService.setDefaultAccountStatus(dto.getId(),dto.getStatus(),dto.getCreatorId())); + } + //@TokenCheck @ApiOperation(value="查询指定艺术家提现记录分页") @PostMapping(value = "/getWithdrawList") diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorAccountService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorAccountService.java index bfa7098..f9348dc 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorAccountService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorAccountService.java @@ -41,4 +41,28 @@ public interface CreatorAccountService { * @return - */ List queryList(Long creatorId); + + /** + * 检查小程序艺术家账户是否存在 + * @param creatorId 艺术家id + * @param accountNo 账户号码 + * @return - + */ + boolean checkAccountExist(Long creatorId,String accountNo); + + /** + * 检查艺术家绑定收款账户是否达到4个 + * @param creatorId 艺术家id + * @return - + */ + boolean checkAccountUpToFour(Long creatorId); + + /** + * 设置艺术家收款账户默认状态 + * @param id 主键id + * @param status 状态 + * @param creatorId 艺术家id + * @return - + */ + int setDefaultAccountStatus(Long id,String status,Long creatorId); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorAccountServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorAccountServiceImpl.java index aec3c99..8192abb 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorAccountServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorAccountServiceImpl.java @@ -1,6 +1,8 @@ package com.bnyer.img.service.impl; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.bnyer.common.core.domain.CreatorAccount; import com.bnyer.common.core.utils.DesensitizedUtils; import com.bnyer.common.core.utils.Sm4Util; @@ -26,6 +28,18 @@ public class CreatorAccountServiceImpl implements CreatorAccountService { @Override @Transactional(rollbackFor = Exception.class) public int insert(CreatorAccount creatorAccount) { + //检查是否为第一次添加 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CreatorAccount::getCreatorId, creatorAccount.getCreatorId()); + wrapper.eq(CreatorAccount::getIsUse, "1"); + wrapper.eq(CreatorAccount::getIsShow, "1"); + CreatorAccount result = creatorAccountMapper.selectOne(wrapper); + if(result != null){ + //非第一次添加,默认使用设置为0,否则为1 + creatorAccount.setIsUse("0"); + }else{ + creatorAccount.setIsUse("1"); + } creatorAccount.setCreateTime(new Date()); creatorAccount.setUpdateTime(new Date()); return creatorAccountMapper.insert(creatorAccount); @@ -75,4 +89,55 @@ public class CreatorAccountServiceImpl implements CreatorAccountService { } return creatorAccountVos; } + + @Override + public boolean checkAccountExist(Long creatorId,String accountNo) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CreatorAccount::getAccountNo, Sm4Util.sm4Encryption(accountNo)); + wrapper.eq(CreatorAccount::getCreatorId,creatorId); + wrapper.eq(CreatorAccount::getIsShow,"1"); + CreatorAccount creatorAccount = creatorAccountMapper.selectOne(wrapper); + if(null != creatorAccount){ + return true; + }else{ + return false; + } + } + + @Override + public boolean checkAccountUpToFour(Long creatorId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CreatorAccount::getCreatorId,creatorId); + wrapper.eq(CreatorAccount::getIsShow,"1"); + Long num = creatorAccountMapper.selectCount(wrapper); + if(num >= 4){ + return true; + }else{ + return false; + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int setDefaultAccountStatus(Long id, String status,Long creatorId) { + //根据艺术家id获取当前已设为默认值的数据 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CreatorAccount::getCreatorId, creatorId); + queryWrapper.eq(CreatorAccount::getIsShow, "1"); + queryWrapper.eq(CreatorAccount::getIsUse, "1"); + CreatorAccount creatorAccountExist = creatorAccountMapper.selectOne(queryWrapper); + if(creatorAccountMapper != null){ + //不为空则将状态改为0 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(CreatorAccount::getId, creatorAccountExist.getId()); + CreatorAccount creatorAccountBefore = new CreatorAccount(); + creatorAccountBefore.setIsUse("0"); + creatorAccountMapper.update(creatorAccountBefore,updateWrapper); + } + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(CreatorAccount::getId, id); + CreatorAccount creatorAccount = new CreatorAccount(); + creatorAccount.setIsUse(status); + return creatorAccountMapper.update(creatorAccount,wrapper); + } } diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorAccountMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorAccountMapper.xml index 2ab38f1..dfc0554 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorAccountMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorAccountMapper.xml @@ -27,5 +27,6 @@ id, creator_id,name,id_no,account_no,type,is_use from img_creator_account where is_show = '1' and creator_id = #{creatorId} + order by is_use desc diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/CreatorAccountServiceImpl.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/CreatorAccountServiceImpl.java index 3b9417e..bf92b65 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/CreatorAccountServiceImpl.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/CreatorAccountServiceImpl.java @@ -53,8 +53,8 @@ public class CreatorAccountServiceImpl implements ICreatorAccountService { if(StringUtils.isNotBlank(dto.getName())){ wrapper.like(CreatorAccount::getName, dto.getName()); } - if(StringUtils.isNotBlank(dto.getBankNo())){ - wrapper.eq(CreatorAccount::getBankNo, Sm4Util.sm4Encryption(dto.getBankNo())); + if(StringUtils.isNotBlank(dto.getAccountNo())){ + wrapper.eq(CreatorAccount::getAccountNo, Sm4Util.sm4Encryption(dto.getAccountNo())); } if(StringUtils.isNotBlank(dto.getIdNo())){ wrapper.eq(CreatorAccount::getIdNo, Sm4Util.sm4Encryption(dto.getIdNo())); @@ -62,9 +62,6 @@ public class CreatorAccountServiceImpl implements ICreatorAccountService { if(StringUtils.isNotBlank(dto.getPhone())){ wrapper.eq(CreatorAccount::getPhone, Sm4Util.sm4Encryption(dto.getPhone())); } - if(StringUtils.isNotBlank(dto.getAliPayNo())){ - wrapper.eq(CreatorAccount::getAliPayNo, Sm4Util.sm4Encryption(dto.getAliPayNo())); - } if(StringUtils.isNotBlank(dto.getIsShow())){ wrapper.eq(CreatorAccount::getIsShow, dto.getIsShow()); } @@ -77,11 +74,8 @@ public class CreatorAccountServiceImpl implements ICreatorAccountService { creatorAccount.setIdNo(Sm4Util.sm4Decrypt(creatorAccount.getIdNo())); creatorAccount.setPhone(Sm4Util.sm4Decrypt(creatorAccount.getPhone())); creatorAccount.setName(creatorAccount.getName()); - if(StringUtils.isNotBlank(creatorAccount.getBankNo())){ - creatorAccount.setBankNo(Sm4Util.sm4Decrypt(creatorAccount.getBankNo())); - } - if(StringUtils.isNotBlank(creatorAccount.getAliPayNo())){ - creatorAccount.setAliPayNo(Sm4Util.sm4Decrypt(creatorAccount.getAliPayNo())); + if(StringUtils.isNotBlank(creatorAccount.getAccountNo())){ + creatorAccount.setAccountNo(Sm4Util.sm4Decrypt(creatorAccount.getAccountNo())); } JSONObject.parseObject(DesensitizedUtils.getJsonNoCopy(creatorAccount), CreatorAccount.class); } @@ -95,11 +89,8 @@ public class CreatorAccountServiceImpl implements ICreatorAccountService { creatorAccount.setIdNo(Sm4Util.sm4Decrypt(creatorAccount.getIdNo())); creatorAccount.setPhone(Sm4Util.sm4Decrypt(creatorAccount.getPhone())); creatorAccount.setName(creatorAccount.getName()); - if(StringUtils.isNotBlank(creatorAccount.getBankNo())){ - creatorAccount.setBankNo(Sm4Util.sm4Decrypt(creatorAccount.getBankNo())); - } - if(StringUtils.isNotBlank(creatorAccount.getAliPayNo())){ - creatorAccount.setAliPayNo(Sm4Util.sm4Decrypt(creatorAccount.getAliPayNo())); + if(StringUtils.isNotBlank(creatorAccount.getAccountNo())){ + creatorAccount.setAccountNo(Sm4Util.sm4Decrypt(creatorAccount.getAccountNo())); } JSONObject.parseObject(DesensitizedUtils.getJsonNoCopy(creatorAccount), CreatorAccount.class); } @@ -110,11 +101,8 @@ public class CreatorAccountServiceImpl implements ICreatorAccountService { public CreatorAccountVo queryListByType(Long creatorId, String type) { CreatorAccountVo creatorAccount = creatorAccountMapper.queryListByType(creatorId, type); if(creatorAccount != null){ - if(StringUtils.isNotBlank(creatorAccount.getBankNo())){ - creatorAccount.setBankNo(Sm4Util.sm4Decrypt(creatorAccount.getBankNo())); - } - if(StringUtils.isNotBlank(creatorAccount.getAliPayNo())){ - creatorAccount.setAliPayNo(Sm4Util.sm4Decrypt(creatorAccount.getAliPayNo())); + if(StringUtils.isNotBlank(creatorAccount.getAccountNo())){ + creatorAccount.setAccountNo(Sm4Util.sm4Decrypt(creatorAccount.getAccountNo())); } return creatorAccount; }