diff --git a/bnyer-auth/src/main/java/com/bnyer/auth/service/CreatorLoginService.java b/bnyer-auth/src/main/java/com/bnyer/auth/service/CreatorLoginService.java index 2a9a880..b41251a 100644 --- a/bnyer-auth/src/main/java/com/bnyer/auth/service/CreatorLoginService.java +++ b/bnyer-auth/src/main/java/com/bnyer/auth/service/CreatorLoginService.java @@ -11,7 +11,7 @@ import org.springframework.stereotype.Component; /** * 艺术家端登录校验方法 - * + * * @author penny */ @Component @@ -32,7 +32,7 @@ public class CreatorLoginService { throw new ServiceException("当前艺术家被封禁,请联系客服处理!",TiktokConstant.TIKTOK_CREATOR_BANED_ERROR); } //更新登录时间 - remoteImgService.updateLoginTime(creatorInfo.getData().getCreatorId()); + remoteImgService.updateLoginTime(creatorInfo.getData().getCreator().getId()); return creatorInfo.getData(); } diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java index a546a5e..b17e8ab 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java @@ -126,4 +126,9 @@ public class RedisKeyConstant { * 艺术家粉丝数量键 */ public static final String CREATOR_FANS_NUM_KEY = "bnyer.img.fans.num"; + + /** + * 特约邀请码键 + */ + public static final String SPECIAL_INVITE_CODE_KEY = "bnyer.img.invite.status"; } diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/CreatorAccountVo.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/CreatorAccountVo.java index d0f8286..7734ebc 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/CreatorAccountVo.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/CreatorAccountVo.java @@ -28,6 +28,9 @@ public class CreatorAccountVo implements Serializable { @Desensitized(type = SensitiveTypeEnum.MOBILE_PHONE) private String accountNo; + @ApiModelProperty(value="真实账户账号") + private String accountRealNo; + @ApiModelProperty(value="身份证(加密)") @Desensitized(type = SensitiveTypeEnum.ID_CARD) private String idNo; 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 8192abb..a8384ee 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 @@ -83,6 +83,9 @@ public class CreatorAccountServiceImpl implements CreatorAccountService { creatorAccountVo.setIdNo(Sm4Util.sm4Decrypt(creatorAccountVo.getIdNo())); } if(StringUtils.isNotBlank(creatorAccountVo.getAccountNo())){ + //设置真实已加密的账户账号 + creatorAccountVo.setAccountRealNo(creatorAccountVo.getAccountNo()); + //设置返回给前端展示的脱敏的账户账号 creatorAccountVo.setAccountNo(Sm4Util.sm4Decrypt(creatorAccountVo.getAccountNo())); } JSONObject.parseObject(DesensitizedUtils.getJsonNoCopy(creatorAccountVo), CreatorAccountVo.class); 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 269901f..d5d2d18 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 @@ -117,14 +117,21 @@ public class CreatorServiceImpl implements CreatorService { creator.setUpdateTime(new Date()); int insert = creatorMapper.insert(creator); log.info("手机号【{}】成为艺术家成功!待审核",StringUtils.trim(dto.getPhone())); + //获取特约邀请码状态 + String codeStatus = null; + String redisKey = RedisKeyConstant.SPECIAL_INVITE_CODE_KEY; + if(redisService.hasKey(redisKey)){ + codeStatus = (String) redisService.getCacheObject(redisKey); + } + //保存邀请记录 InviteLog inviteLog = new InviteLog(); - //TODO 如果特约邀请码为xxx,则被邀请用户id为它自己。想让其失效则直接数据库里删除专属邀请码那个账户字段的邀请码即可 -// if(StringUtils.trim(dto.getInviteCode()).equals("BNYER")){ -// inviteLog.setInvitedCreatorId(creatorProtoType.getId()); -// }else{ -// inviteLog.setInvitedCreatorId(creator.getId()); -// } + // 如果特约邀请码为"BNYER",则被邀请用户id为它自己。想让其失效则直接后台管理系统邀请记录页面关闭即可 + if(StringUtils.trim(dto.getInviteCode()).equals("BNYER") && Objects.requireNonNull(codeStatus).equals("1")){ + inviteLog.setInvitedCreatorId(creatorProtoType.getId()); + }else{ + inviteLog.setInvitedCreatorId(creator.getId()); + } inviteLog.setInviteCode(StringUtils.trim(dto.getInviteCode())); inviteLog.setCreatorId(creatorProtoType.getId()); inviteLog.setCreateTime(new Date()); 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 a0adc57..284eaf1 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,9 +50,6 @@ public class WithdrawLogServiceImpl implements WithdrawLogService { withdrawLog.setCreateTime(new Date()); withdrawLog.setUpdateTime(new Date()); withdrawLog.setStatus("0"); - if(StringUtils.isNotBlank(withdrawLog.getAccountNo())){ - withdrawLog.setAccountNo(Sm4Util.sm4Encryption(withdrawLog.getAccountNo())); - } //生成订单id withdrawLog.setOrderId(IdUtil.getSnowflakeNextIdStr()); //扣除账户余额 @@ -94,8 +91,12 @@ public class WithdrawLogServiceImpl implements WithdrawLogService { throw new ServiceException("该艺术家不存在!", TiktokConstant.TIKTOK_CREATOR_NOT_EXIST); } //此处以分为单位 + //余额中的钱大于等于输入的钱则可提现 if(creator.getAmt().compareTo(amt) > -1){ return true; + //输入金额小于1则不可提现 + }else if(amt.compareTo(new BigDecimal(1)) == -1){ + return false; }else{ return false; } diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml index cf1492e..cce75a6 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml @@ -25,7 +25,7 @@ ic.img as img,iil.create_time as createTime from img_invite_log iil join img_creator ic on iil.invited_creator_id = ic.id - where iil.is_show = '1' and iil.creator_id = #{creatorId} + where iil.is_show = '1' and ic.status = '1' and iil.creator_id = #{creatorId} order by iil.create_time desc diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/InviteLogController.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/InviteLogController.java index f598b46..01ad18c 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/InviteLogController.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/InviteLogController.java @@ -1,7 +1,9 @@ package com.bnyer.system.controller; +import com.alibaba.fastjson.JSON; import com.bnyer.common.core.domain.InviteLog; import com.bnyer.common.core.dto.InviteLogPageDto; +import com.bnyer.common.core.dto.StatusDto; import com.bnyer.common.core.web.controller.BaseController; import com.bnyer.common.core.web.domain.AjaxResult; import com.bnyer.common.core.web.page.TableDataInfo; @@ -13,6 +15,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -41,4 +44,26 @@ public class InviteLogController extends BaseController { log.debug("【图文平台后台】删除邀请记录参数为:{}", ids); return AjaxResult.success(inviteLogService.delete(ids)); } + + @RequiresPermissions("img:inviteLog:edit") + @ApiOperation(value="开/关特约邀请码") + @PostMapping(value = "/changeStatus") + public AjaxResult changeStatus(@Validated @RequestBody @ApiParam("状态对象") StatusDto dto){ + log.debug("【图文平台后台】变更特约邀请码参数为:{}", JSON.toJSONString(dto)); + inviteLogService.changeStatus(dto.getStatus()); + return AjaxResult.success(); + } + + @ApiOperation(value="获取特约邀请码状态") + @GetMapping(value = "/getStatus") + public AjaxResult getStatus(){ + return AjaxResult.success(inviteLogService.getStatus()); + } + + @ApiOperation(value="初始化特约邀请码状态") + @GetMapping(value = "/initStatus") + public AjaxResult initStatus(){ + inviteLogService.initStatus(); + return AjaxResult.success(); + } } diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/CreatorAccountMapper.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/CreatorAccountMapper.java index 367ebe1..13e31f1 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/CreatorAccountMapper.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/CreatorAccountMapper.java @@ -12,10 +12,10 @@ import java.util.List; public interface CreatorAccountMapper extends BaseMapper { /** - * 根据类型查询艺术家账户列表 - * @param creatorId 艺术家id + * 根据类型和账户账号查询艺术家账户信息 + * @param accountNo 艺术家账户账号 * @param type 类型 * @return - */ - CreatorAccountVo queryListByType(@Param("creatorId") Long creatorId, @Param("type") String type); + CreatorAccountVo queryCreatorAccountByType(@Param("accountNo") String accountNo, @Param("type") String type); } diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/ICreatorAccountService.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/ICreatorAccountService.java index 9c94af7..250803b 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/ICreatorAccountService.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/ICreatorAccountService.java @@ -46,12 +46,12 @@ public interface ICreatorAccountService { /** - * 根据指定类型查询艺术家账户列表 - * @param creatorId 艺术家id + * 根据类型和账户账号查询艺术家账户信息 + * @param accountNo 账户账号 * @param type 类型 * @return - */ - CreatorAccountVo queryListByType(Long creatorId, String type); + CreatorAccountVo queryCreatorAccountByType(String accountNo, String type); /** * 变更显示状态 diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IInviteLogService.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IInviteLogService.java index 7cb8e41..2b3f081 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IInviteLogService.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IInviteLogService.java @@ -24,4 +24,22 @@ public interface IInviteLogService { * @return - */ int delete(List ids); + + /** + * 开/关特约邀请码 + * @param status 状态(0->关;1->开) + * @return - + */ + void changeStatus(String status); + + /** + * 获取特约邀请码状态 + * @return - + */ + String getStatus(); + + /** + * 初始化特约邀请码状态 + */ + void initStatus(); } 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 bf92b65..cd01229 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 @@ -98,8 +98,8 @@ public class CreatorAccountServiceImpl implements ICreatorAccountService { } @Override - public CreatorAccountVo queryListByType(Long creatorId, String type) { - CreatorAccountVo creatorAccount = creatorAccountMapper.queryListByType(creatorId, type); + public CreatorAccountVo queryCreatorAccountByType(String accountNo, String type) { + CreatorAccountVo creatorAccount = creatorAccountMapper.queryCreatorAccountByType(accountNo, type); if(creatorAccount != null){ if(StringUtils.isNotBlank(creatorAccount.getAccountNo())){ creatorAccount.setAccountNo(Sm4Util.sm4Decrypt(creatorAccount.getAccountNo())); diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/InviteLogServiceImpl.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/InviteLogServiceImpl.java index 4b4abda..402cfb6 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/InviteLogServiceImpl.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/InviteLogServiceImpl.java @@ -1,9 +1,11 @@ package com.bnyer.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.bnyer.common.core.constant.RedisKeyConstant; import com.bnyer.common.core.domain.InviteLog; import com.bnyer.common.core.dto.InviteLogPageDto; import com.bnyer.common.core.utils.StringUtils; +import com.bnyer.common.redis.service.RedisService; import com.bnyer.system.mapper.InviteLogMapper; import com.bnyer.system.service.IInviteLogService; import lombok.extern.slf4j.Slf4j; @@ -24,6 +26,9 @@ public class InviteLogServiceImpl implements IInviteLogService { @Autowired private InviteLogMapper inviteLogMapper; + @Autowired + private RedisService redisService; + @Override public List queryPage(InviteLogPageDto params) { @@ -44,4 +49,26 @@ public class InviteLogServiceImpl implements IInviteLogService { return inviteLogMapper.deleteBatchIds(ids); } + @Override + @Transactional(rollbackFor = Exception.class) + public void changeStatus(String status) { + String redisKey = RedisKeyConstant.SPECIAL_INVITE_CODE_KEY; + redisService.setCacheObject(redisKey,status); + } + + @Override + public String getStatus() { + String redisKey = RedisKeyConstant.SPECIAL_INVITE_CODE_KEY; + if(redisService.hasKey(redisKey)){ + return (String) redisService.getCacheObject(redisKey); + } + return null; + } + + @Override + public void initStatus() { + String redisKey = RedisKeyConstant.SPECIAL_INVITE_CODE_KEY; + redisService.setCacheObject(redisKey,"0"); + } + } 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 eb7ed35..7b20c6a 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 @@ -186,8 +186,9 @@ public class WithdrawLogServiceImpl implements IWithdrawLogService { withdrawLog.setUpdateTime(new Date()); //此处审核通过,调用支付宝企业付款到用户处方法 if(withdrawLog.getChannel().equals(WithdrawConstant.ALIPAY)){ - //根据用户id查询其支付宝账户及其真实名称 - CreatorAccountVo creatorAccount = creatorAccountService.queryListByType(withdrawLog.getCreatorId(), "1"); + //根据提现记录id获取支付宝账号和真实用户名称 + //String accountNo = Sm4Util.sm4Decrypt(withdrawLog.getAccountNo()); + CreatorAccountVo creatorAccount = creatorAccountService.queryCreatorAccountByType(withdrawLog.getAccountNo(), "2"); if(creatorAccount != null){ try{ AlipayFundTransUniTransferResponse body = this.trans(withdrawLog.getOrderId(), creatorAccount.getAccountNo(), creatorAccount.getName(), withdrawLog.getAmt()); diff --git a/bnyer-services/bnyer-system/src/main/resources/com/bnyer/system/mapper/CreatorAccountMapper.xml b/bnyer-services/bnyer-system/src/main/resources/com/bnyer/system/mapper/CreatorAccountMapper.xml index 1d6a2bc..868869f 100644 --- a/bnyer-services/bnyer-system/src/main/resources/com/bnyer/system/mapper/CreatorAccountMapper.xml +++ b/bnyer-services/bnyer-system/src/main/resources/com/bnyer/system/mapper/CreatorAccountMapper.xml @@ -8,24 +8,25 @@ - + - + + - id, creator_id, `name`, id_no, bank_no, phone,alipay_no,type, create_time, update_time, sort,is_show + id, creator_id, `name`, id_no, account_no, phone,type, create_time, update_time, sort,is_show,is_use,img_url - select - id, creator_id,name,bank_no,alipay_no,type + id, creator_id,name,account_no,type from img_creator_account - where is_show = '1' and creator_id = #{creatorId} and type = #{type} + where is_show = '1' and account_no = #{accountNo} and type = #{type}