|
|
|
@ -1,5 +1,7 @@ |
|
|
|
package com.bnyer.system.service.impl; |
|
|
|
|
|
|
|
import cn.hutool.crypto.digest.MD5; |
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
|
import com.bnyer.common.core.constant.TiktokConstant; |
|
|
|
@ -20,13 +22,16 @@ import com.bnyer.system.mapper.TiktokImgMapper; |
|
|
|
import com.bnyer.system.mapper.VerifyLogMapper; |
|
|
|
import com.bnyer.system.service.ICreatorService; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.codec.digest.Md5Crypt; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.Collections; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
/** |
|
|
|
* @author chengkun |
|
|
|
@ -48,6 +53,69 @@ public class CreatorServiceImpl implements ICreatorService { |
|
|
|
@Autowired |
|
|
|
private InviteLogMapper inviteLogMapper; |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void insertRobot() { |
|
|
|
//批量生成3个机器人
|
|
|
|
for (int i = 0; i < 3; i++) { |
|
|
|
Creator creator = new Creator(); |
|
|
|
creator.setIsRobot("1"); |
|
|
|
creator.setCreateTime(new Date()); |
|
|
|
creator.setExp(0); |
|
|
|
creator.setAmt(new BigDecimal(0)); |
|
|
|
creator.setIsHot("0"); |
|
|
|
creator.setLevelId(1L); |
|
|
|
creator.setUpdateTime(new Date()); |
|
|
|
creator.setInviteCode(IdUtils.inviteCodeGen()); |
|
|
|
creator.setStatus("1"); |
|
|
|
creator.setIsShow("1"); |
|
|
|
creator.setUrl("thirdUrl"); |
|
|
|
|
|
|
|
//特定处理部分
|
|
|
|
creator.setName("bnyer_robot_"+IdUtils.inviteCodeGen()); |
|
|
|
creator.setPassword(Sm4Util.sm4Encryption(MD5.create().digestHex("CIYUANjiedian2021."))); |
|
|
|
creator.setIntro("这个艺术家正在构思奇思妙想呢!"); |
|
|
|
Creator creatorByScanCode = null; |
|
|
|
String scanCode = null; |
|
|
|
do{ |
|
|
|
//检查搜索码是否唯一
|
|
|
|
scanCode = IdUtils.scanCodeGen(); |
|
|
|
LambdaQueryWrapper<Creator> wrapper = new LambdaQueryWrapper<>(); |
|
|
|
wrapper.eq(Creator::getScanCode,scanCode); |
|
|
|
wrapper.eq(Creator::getIsShow, "1"); |
|
|
|
creatorByScanCode = creatorMapper.selectOne(wrapper); |
|
|
|
//如果查询结构不为空则循环执行,否则跳出
|
|
|
|
}while (creatorByScanCode != null); |
|
|
|
creator.setScanCode(scanCode); |
|
|
|
|
|
|
|
//获取头像图片表,随机选择一个作为头像
|
|
|
|
LambdaQueryWrapper<TiktokImg> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
queryWrapper.eq(TiktokImg::getIsOriginal,"0"); |
|
|
|
queryWrapper.eq(TiktokImg::getTypeId, 1L); |
|
|
|
queryWrapper.eq(TiktokImg::getIsShow, "1"); |
|
|
|
List<String> imgLists = tiktokImgMapper.selectList(queryWrapper).stream().map(TiktokImg::getImgUrl).collect(Collectors.toList()); |
|
|
|
Collections.shuffle(imgLists); |
|
|
|
creator.setImg(imgLists.get(0)); |
|
|
|
|
|
|
|
//设置手机号
|
|
|
|
String robotPhone = null; |
|
|
|
Creator creatorByPhone = null; |
|
|
|
do{ |
|
|
|
//检查机器人手机号是否唯一
|
|
|
|
robotPhone = Sm4Util.sm4Encryption("br"+IdUtils.robotPhoneGen()); |
|
|
|
LambdaQueryWrapper<Creator> wrapperPhone = new LambdaQueryWrapper<>(); |
|
|
|
wrapperPhone.eq(Creator::getPhone,robotPhone); |
|
|
|
wrapperPhone.eq(Creator::getIsShow, "1"); |
|
|
|
wrapperPhone.eq(Creator::getIsRobot, "1"); |
|
|
|
creatorByPhone = creatorMapper.selectOne(wrapperPhone); |
|
|
|
//如果查询结构不为空则循环执行,否则跳出
|
|
|
|
}while (creatorByPhone != null); |
|
|
|
creator.setPhone(robotPhone); |
|
|
|
creatorMapper.insert(creator); |
|
|
|
log.debug("【图文平台后台】生成了机器人艺术家:{}", JSON.toJSONString(creator.getPhone())); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public int insertCreator(CreatorDto dto) { |
|
|
|
|