Browse Source

feature-img-1.0:fixbug

feature-1.0-img
Penny 3 years ago
parent
commit
827789f64d
  1. 4
      bnyer-auth/src/main/java/com/bnyer/auth/service/CreatorLoginService.java
  2. 5
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java
  3. 3
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/CreatorAccountVo.java
  4. 3
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorAccountServiceImpl.java
  5. 19
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java
  6. 7
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java
  7. 2
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml
  8. 25
      bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/InviteLogController.java
  9. 6
      bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/CreatorAccountMapper.java
  10. 6
      bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/ICreatorAccountService.java
  11. 18
      bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IInviteLogService.java
  12. 4
      bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/CreatorAccountServiceImpl.java
  13. 27
      bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/InviteLogServiceImpl.java
  14. 5
      bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/WithdrawLogServiceImpl.java
  15. 13
      bnyer-services/bnyer-system/src/main/resources/com/bnyer/system/mapper/CreatorAccountMapper.xml

4
bnyer-auth/src/main/java/com/bnyer/auth/service/CreatorLoginService.java

@ -11,7 +11,7 @@ import org.springframework.stereotype.Component;
/** /**
* 艺术家端登录校验方法 * 艺术家端登录校验方法
* *
* @author penny * @author penny
*/ */
@Component @Component
@ -32,7 +32,7 @@ public class CreatorLoginService {
throw new ServiceException("当前艺术家被封禁,请联系客服处理!",TiktokConstant.TIKTOK_CREATOR_BANED_ERROR); throw new ServiceException("当前艺术家被封禁,请联系客服处理!",TiktokConstant.TIKTOK_CREATOR_BANED_ERROR);
} }
//更新登录时间 //更新登录时间
remoteImgService.updateLoginTime(creatorInfo.getData().getCreatorId()); remoteImgService.updateLoginTime(creatorInfo.getData().getCreator().getId());
return creatorInfo.getData(); return creatorInfo.getData();
} }

5
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 CREATOR_FANS_NUM_KEY = "bnyer.img.fans.num";
/**
* 特约邀请码键
*/
public static final String SPECIAL_INVITE_CODE_KEY = "bnyer.img.invite.status";
} }

3
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) @Desensitized(type = SensitiveTypeEnum.MOBILE_PHONE)
private String accountNo; private String accountNo;
@ApiModelProperty(value="真实账户账号")
private String accountRealNo;
@ApiModelProperty(value="身份证(加密)") @ApiModelProperty(value="身份证(加密)")
@Desensitized(type = SensitiveTypeEnum.ID_CARD) @Desensitized(type = SensitiveTypeEnum.ID_CARD)
private String idNo; private String idNo;

3
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())); creatorAccountVo.setIdNo(Sm4Util.sm4Decrypt(creatorAccountVo.getIdNo()));
} }
if(StringUtils.isNotBlank(creatorAccountVo.getAccountNo())){ if(StringUtils.isNotBlank(creatorAccountVo.getAccountNo())){
//设置真实已加密的账户账号
creatorAccountVo.setAccountRealNo(creatorAccountVo.getAccountNo());
//设置返回给前端展示的脱敏的账户账号
creatorAccountVo.setAccountNo(Sm4Util.sm4Decrypt(creatorAccountVo.getAccountNo())); creatorAccountVo.setAccountNo(Sm4Util.sm4Decrypt(creatorAccountVo.getAccountNo()));
} }
JSONObject.parseObject(DesensitizedUtils.getJsonNoCopy(creatorAccountVo), CreatorAccountVo.class); JSONObject.parseObject(DesensitizedUtils.getJsonNoCopy(creatorAccountVo), CreatorAccountVo.class);

19
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()); creator.setUpdateTime(new Date());
int insert = creatorMapper.insert(creator); int insert = creatorMapper.insert(creator);
log.info("手机号【{}】成为艺术家成功!待审核",StringUtils.trim(dto.getPhone())); 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(); InviteLog inviteLog = new InviteLog();
//TODO 如果特约邀请码为xxx,则被邀请用户id为它自己。想让其失效则直接数据库里删除专属邀请码那个账户字段的邀请码即可 // 如果特约邀请码为"BNYER",则被邀请用户id为它自己。想让其失效则直接后台管理系统邀请记录页面关闭即可
// if(StringUtils.trim(dto.getInviteCode()).equals("BNYER")){ if(StringUtils.trim(dto.getInviteCode()).equals("BNYER") && Objects.requireNonNull(codeStatus).equals("1")){
// inviteLog.setInvitedCreatorId(creatorProtoType.getId()); inviteLog.setInvitedCreatorId(creatorProtoType.getId());
// }else{ }else{
// inviteLog.setInvitedCreatorId(creator.getId()); inviteLog.setInvitedCreatorId(creator.getId());
// } }
inviteLog.setInviteCode(StringUtils.trim(dto.getInviteCode())); inviteLog.setInviteCode(StringUtils.trim(dto.getInviteCode()));
inviteLog.setCreatorId(creatorProtoType.getId()); inviteLog.setCreatorId(creatorProtoType.getId());
inviteLog.setCreateTime(new Date()); inviteLog.setCreateTime(new Date());

7
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.setCreateTime(new Date());
withdrawLog.setUpdateTime(new Date()); withdrawLog.setUpdateTime(new Date());
withdrawLog.setStatus("0"); withdrawLog.setStatus("0");
if(StringUtils.isNotBlank(withdrawLog.getAccountNo())){
withdrawLog.setAccountNo(Sm4Util.sm4Encryption(withdrawLog.getAccountNo()));
}
//生成订单id //生成订单id
withdrawLog.setOrderId(IdUtil.getSnowflakeNextIdStr()); withdrawLog.setOrderId(IdUtil.getSnowflakeNextIdStr());
//扣除账户余额 //扣除账户余额
@ -94,8 +91,12 @@ public class WithdrawLogServiceImpl implements WithdrawLogService {
throw new ServiceException("该艺术家不存在!", TiktokConstant.TIKTOK_CREATOR_NOT_EXIST); throw new ServiceException("该艺术家不存在!", TiktokConstant.TIKTOK_CREATOR_NOT_EXIST);
} }
//此处以分为单位 //此处以分为单位
//余额中的钱大于等于输入的钱则可提现
if(creator.getAmt().compareTo(amt) > -1){ if(creator.getAmt().compareTo(amt) > -1){
return true; return true;
//输入金额小于1则不可提现
}else if(amt.compareTo(new BigDecimal(1)) == -1){
return false;
}else{ }else{
return false; return false;
} }

2
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 ic.img as img,iil.create_time as createTime
from img_invite_log iil from img_invite_log iil
join img_creator ic on iil.invited_creator_id = ic.id 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 order by iil.create_time desc
</select> </select>
</mapper> </mapper>

25
bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/InviteLogController.java

@ -1,7 +1,9 @@
package com.bnyer.system.controller; package com.bnyer.system.controller;
import com.alibaba.fastjson.JSON;
import com.bnyer.common.core.domain.InviteLog; import com.bnyer.common.core.domain.InviteLog;
import com.bnyer.common.core.dto.InviteLogPageDto; 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.controller.BaseController;
import com.bnyer.common.core.web.domain.AjaxResult; import com.bnyer.common.core.web.domain.AjaxResult;
import com.bnyer.common.core.web.page.TableDataInfo; import com.bnyer.common.core.web.page.TableDataInfo;
@ -13,6 +15,7 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@ -41,4 +44,26 @@ public class InviteLogController extends BaseController {
log.debug("【图文平台后台】删除邀请记录参数为:{}", ids); log.debug("【图文平台后台】删除邀请记录参数为:{}", ids);
return AjaxResult.success(inviteLogService.delete(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();
}
} }

6
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<CreatorAccount> { public interface CreatorAccountMapper extends BaseMapper<CreatorAccount> {
/** /**
* 根据类型查询艺术家账户列表 * 根据类型和账户账号查询艺术家账户信息
* @param creatorId 艺术家id * @param accountNo 艺术家账户账号
* @param type 类型 * @param type 类型
* @return - * @return -
*/ */
CreatorAccountVo queryListByType(@Param("creatorId") Long creatorId, @Param("type") String type); CreatorAccountVo queryCreatorAccountByType(@Param("accountNo") String accountNo, @Param("type") String type);
} }

6
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 类型 * @param type 类型
* @return - * @return -
*/ */
CreatorAccountVo queryListByType(Long creatorId, String type); CreatorAccountVo queryCreatorAccountByType(String accountNo, String type);
/** /**
* 变更显示状态 * 变更显示状态

18
bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IInviteLogService.java

@ -24,4 +24,22 @@ public interface IInviteLogService {
* @return - * @return -
*/ */
int delete(List<Long> ids); int delete(List<Long> ids);
/**
* /关特约邀请码
* @param status 状态(0->;1->)
* @return -
*/
void changeStatus(String status);
/**
* 获取特约邀请码状态
* @return -
*/
String getStatus();
/**
* 初始化特约邀请码状态
*/
void initStatus();
} }

4
bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/CreatorAccountServiceImpl.java

@ -98,8 +98,8 @@ public class CreatorAccountServiceImpl implements ICreatorAccountService {
} }
@Override @Override
public CreatorAccountVo queryListByType(Long creatorId, String type) { public CreatorAccountVo queryCreatorAccountByType(String accountNo, String type) {
CreatorAccountVo creatorAccount = creatorAccountMapper.queryListByType(creatorId, type); CreatorAccountVo creatorAccount = creatorAccountMapper.queryCreatorAccountByType(accountNo, type);
if(creatorAccount != null){ if(creatorAccount != null){
if(StringUtils.isNotBlank(creatorAccount.getAccountNo())){ if(StringUtils.isNotBlank(creatorAccount.getAccountNo())){
creatorAccount.setAccountNo(Sm4Util.sm4Decrypt(creatorAccount.getAccountNo())); creatorAccount.setAccountNo(Sm4Util.sm4Decrypt(creatorAccount.getAccountNo()));

27
bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/InviteLogServiceImpl.java

@ -1,9 +1,11 @@
package com.bnyer.system.service.impl; package com.bnyer.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.domain.InviteLog;
import com.bnyer.common.core.dto.InviteLogPageDto; import com.bnyer.common.core.dto.InviteLogPageDto;
import com.bnyer.common.core.utils.StringUtils; import com.bnyer.common.core.utils.StringUtils;
import com.bnyer.common.redis.service.RedisService;
import com.bnyer.system.mapper.InviteLogMapper; import com.bnyer.system.mapper.InviteLogMapper;
import com.bnyer.system.service.IInviteLogService; import com.bnyer.system.service.IInviteLogService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -24,6 +26,9 @@ public class InviteLogServiceImpl implements IInviteLogService {
@Autowired @Autowired
private InviteLogMapper inviteLogMapper; private InviteLogMapper inviteLogMapper;
@Autowired
private RedisService redisService;
@Override @Override
public List<InviteLog> queryPage(InviteLogPageDto params) { public List<InviteLog> queryPage(InviteLogPageDto params) {
@ -44,4 +49,26 @@ public class InviteLogServiceImpl implements IInviteLogService {
return inviteLogMapper.deleteBatchIds(ids); 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");
}
} }

5
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()); withdrawLog.setUpdateTime(new Date());
//此处审核通过,调用支付宝企业付款到用户处方法 //此处审核通过,调用支付宝企业付款到用户处方法
if(withdrawLog.getChannel().equals(WithdrawConstant.ALIPAY)){ if(withdrawLog.getChannel().equals(WithdrawConstant.ALIPAY)){
//根据用户id查询其支付宝账户及其真实名称 //根据提现记录id获取支付宝账号和真实用户名称
CreatorAccountVo creatorAccount = creatorAccountService.queryListByType(withdrawLog.getCreatorId(), "1"); //String accountNo = Sm4Util.sm4Decrypt(withdrawLog.getAccountNo());
CreatorAccountVo creatorAccount = creatorAccountService.queryCreatorAccountByType(withdrawLog.getAccountNo(), "2");
if(creatorAccount != null){ if(creatorAccount != null){
try{ try{
AlipayFundTransUniTransferResponse body = this.trans(withdrawLog.getOrderId(), creatorAccount.getAccountNo(), creatorAccount.getName(), withdrawLog.getAmt()); AlipayFundTransUniTransferResponse body = this.trans(withdrawLog.getOrderId(), creatorAccount.getAccountNo(), creatorAccount.getName(), withdrawLog.getAmt());

13
bnyer-services/bnyer-system/src/main/resources/com/bnyer/system/mapper/CreatorAccountMapper.xml

@ -8,24 +8,25 @@
<result column="creator_id" jdbcType="BIGINT" property="creatorId" /> <result column="creator_id" jdbcType="BIGINT" property="creatorId" />
<result column="name" jdbcType="VARCHAR" property="name" /> <result column="name" jdbcType="VARCHAR" property="name" />
<result column="id_no" jdbcType="VARCHAR" property="idNo" /> <result column="id_no" jdbcType="VARCHAR" property="idNo" />
<result column="bank_no" jdbcType="VARCHAR" property="bankNo" /> <result column="account_no" jdbcType="VARCHAR" property="accountNo" />
<result column="phone" jdbcType="VARCHAR" property="phone" /> <result column="phone" jdbcType="VARCHAR" property="phone" />
<result column="type" jdbcType="CHAR" property="type" /> <result column="type" jdbcType="CHAR" property="type" />
<result column="alipay_no" jdbcType="VARCHAR" property="aliPayNo" /> <result column="img_url" jdbcType="VARCHAR" property="imgUrl" />
<result column="is_show" jdbcType="CHAR" property="isShow" /> <result column="is_show" jdbcType="CHAR" property="isShow" />
<result column="is_use" jdbcType="CHAR" property="isUse" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" /> <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="sort" jdbcType="INTEGER" property="sort" /> <result column="sort" jdbcType="INTEGER" property="sort" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> <!--@mbg.generated-->
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
</sql> </sql>
<select id="queryListByType" resultType="com.bnyer.common.core.vo.CreatorAccountVo"> <select id="queryCreatorAccountByType" resultType="com.bnyer.common.core.vo.CreatorAccountVo">
select select
id, creator_id,name,bank_no,alipay_no,type id, creator_id,name,account_no,type
from img_creator_account 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}
</select> </select>
</mapper> </mapper>

Loading…
Cancel
Save