package com.xcong.excoin.modules.coin.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.excoin.common.LoginUserUtils; import com.xcong.excoin.common.enumerates.CoinTypeEnum; import com.xcong.excoin.common.enumerates.MemberWalletCoinEnum; import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.coin.dao.*; import com.xcong.excoin.modules.coin.entity.*; import com.xcong.excoin.modules.coin.parameter.dto.RecordsPageDto; import com.xcong.excoin.modules.coin.parameter.dto.ZhiyaRewardRecordsPageDto; import com.xcong.excoin.modules.coin.parameter.dto.ZhiyaRewardRecordsTypePageDto; import com.xcong.excoin.modules.coin.parameter.vo.MemberGusdInfoVo; import com.xcong.excoin.modules.coin.parameter.vo.UsdtToGusdVo; import com.xcong.excoin.modules.coin.parameter.vo.ZhiyaInfoVo; import com.xcong.excoin.modules.coin.parameter.vo.ZhiyaRewardVo; import com.xcong.excoin.modules.coin.service.ZhiyaService; import com.xcong.excoin.modules.member.dao.MemberDao; import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao; import com.xcong.excoin.modules.member.entity.MemberEntity; import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity; import com.xcong.excoin.utils.MessageSourceUtils; import com.xcong.excoin.utils.RedisUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; @Service public class ZhiyaServiceImpl extends ServiceImpl implements ZhiyaService { @Resource MemberWalletCoinDao memberWalletCoinDao; @Resource MemberAccountMoneyChangeDao memberAccountMoneyChangeDao; @Resource ZhiYaRecordDao zhiYaRecordDao; @Resource ZhiyaRewardDao zhiyaRewardDao; @Resource ZhiYaDao zhiYaDao; @Resource ZhiyaTeamDao zhiyaTeamDao; @Resource MemberDao memberdao; @Resource RedisUtils redisUtils; @Override @Transactional public Result usdtToGusd(BigDecimal balance, Integer type) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); if (balance.compareTo(BigDecimal.ZERO) <= 0) { return Result.fail(MessageSourceUtils.getString("member_service_0004")); } if(1 == type){ // 扣币 String walletCode = MemberWalletCoinEnum.WALLETCOINCODE.getValue(); MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, walletCode); BigDecimal availableBalance = memberWalletCoinEntity.getAvailableBalance(); BigDecimal totalBalance = memberWalletCoinEntity.getTotalBalance(); BigDecimal available = availableBalance.subtract(balance); if (available.compareTo(BigDecimal.ZERO) < 0) { return Result.fail(MessageSourceUtils.getString("member_service_0005")); } BigDecimal total = totalBalance.subtract(balance); if (total.compareTo(BigDecimal.ZERO) < 0) { return Result.fail(MessageSourceUtils.getString("member_service_0005")); } memberWalletCoinEntity.setAvailableBalance(available); memberWalletCoinEntity.setTotalBalance(total); int i = memberWalletCoinDao.updateById(memberWalletCoinEntity); if (i < 1) { return Result.fail(MessageSourceUtils.getString("member_service_0096")); } //添加资金划转历史记录 MemberAccountMoneyChange memberAccountRecord = new MemberAccountMoneyChange(); //获取usdt兑换gusd的兑换比例 BigDecimal usdtToGusd = new BigDecimal(redisUtils.getString("USDTTOGSD")); BigDecimal gusdBalance = balance.multiply(usdtToGusd); ZhiYaEntity zhiya = zhiYaDao.selectByMemberId(memberId); BigDecimal gusdAvailableBalance = zhiya.getAvailableBalance(); BigDecimal gusdTotalBalance = zhiya.getTotalBalance(); zhiya.setAvailableBalance(gusdAvailableBalance.add(gusdBalance)); zhiya.setTotalBalance(gusdTotalBalance.add(gusdBalance)); int updateById = zhiYaDao.updateById(zhiya); if (updateById < 1) { return Result.fail(MessageSourceUtils.getString("member_service_0096")); } //添加资金划转历史记录 memberAccountRecord.setMemberId(memberId); memberAccountRecord.setStatus(MemberAccountMoneyChange.STATUS_SUCCESS_INTEGER); memberAccountRecord.setSymbol(walletCode); memberAccountRecord.setContent(MemberWalletCoinEnum.ZHIYATOGUSD.getValue()); memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_COIN); memberAccountRecord.setAmount(gusdBalance); memberAccountMoneyChangeDao.insert(memberAccountRecord); }else if(2 == type){ // 扣币 ZhiYaEntity zhiya = zhiYaDao.selectByMemberId(memberId); BigDecimal availableBalance = zhiya.getAvailableBalance(); BigDecimal totalBalance = zhiya.getTotalBalance(); BigDecimal available = availableBalance.subtract(balance); if (available.compareTo(BigDecimal.ZERO) < 0) { return Result.fail(MessageSourceUtils.getString("member_service_0005")); } BigDecimal total = totalBalance.subtract(balance); if (total.compareTo(BigDecimal.ZERO) < 0) { return Result.fail(MessageSourceUtils.getString("member_service_0005")); } zhiya.setAvailableBalance(available); zhiya.setTotalBalance(total); int i = zhiYaDao.updateById(zhiya); if (i < 1) { return Result.fail(MessageSourceUtils.getString("member_service_0096")); } //添加资金划转历史记录 MemberAccountMoneyChange memberAccountRecord = new MemberAccountMoneyChange(); //获取usdt兑换gusd的兑换比例 BigDecimal usdtToGusd = new BigDecimal(redisUtils.getString("USDTTOGSD")); BigDecimal usdtBalance = balance.divide(usdtToGusd); String walletCode = MemberWalletCoinEnum.WALLETCOINCODE.getValue(); MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, walletCode); BigDecimal gusdAvailableBalance = memberWalletCoinEntity.getAvailableBalance(); BigDecimal gusdTotalBalance = memberWalletCoinEntity.getTotalBalance(); memberWalletCoinEntity.setAvailableBalance(gusdAvailableBalance.add(usdtBalance)); memberWalletCoinEntity.setTotalBalance(gusdTotalBalance.add(usdtBalance)); int updateById = memberWalletCoinDao.updateById(memberWalletCoinEntity); if (updateById < 1) { return Result.fail(MessageSourceUtils.getString("member_service_0096")); } //添加资金划转历史记录 memberAccountRecord.setMemberId(memberId); memberAccountRecord.setStatus(MemberAccountMoneyChange.STATUS_SUCCESS_INTEGER); memberAccountRecord.setSymbol(walletCode); memberAccountRecord.setContent(MemberWalletCoinEnum.ZHIYATOUSDT.getValue()); memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_COIN); memberAccountRecord.setAmount(usdtBalance); memberAccountMoneyChangeDao.insert(memberAccountRecord); }else{ return Result.fail("member_controller_0005"); } return Result.ok(MessageSourceUtils.getString("member_service_0024")); } @Override @Transactional public Result zhiYaGusd(BigDecimal balance) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); if (balance.compareTo(new BigDecimal(100)) < 0) { return Result.fail(MessageSourceUtils.getString("zhiya_service_0006")); } //质押Gusd,质押数量进入冻结余额, ZhiYaEntity zhiya = zhiYaDao.selectByMemberId(memberId); BigDecimal gusdAvailableBalance = zhiya.getAvailableBalance(); BigDecimal gusdTotalBalance = zhiya.getTotalBalance(); BigDecimal gusdfrozenBalance = zhiya.getFrozenBalance(); BigDecimal available = gusdAvailableBalance.subtract(balance); if (available.compareTo(BigDecimal.ZERO) < 0) { return Result.fail(MessageSourceUtils.getString("zhiya_service_0005")); } BigDecimal total = gusdTotalBalance.subtract(balance); if (total.compareTo(BigDecimal.ZERO) < 0) { return Result.fail(MessageSourceUtils.getString("zhiya_service_0005")); } zhiya.setFrozenBalance(gusdfrozenBalance.add(balance)); zhiya.setAvailableBalance(gusdAvailableBalance.subtract(balance)); int updateById = zhiYaDao.updateById(zhiya); if (updateById < 1) { return Result.fail(MessageSourceUtils.getString("member_service_0096")); } //产生质押单,当前有的话,累加质押数量 // ZhiYaRecordEntity zhiYaRecord = zhiYaRecordDao.selectByMemberIdAndOrderStatus(memberId,1); // if(ObjectUtil.isEmpty(zhiYaRecord)){ //产生一条质押记录 ZhiYaRecordEntity zhiYaRecordEntity = new ZhiYaRecordEntity(); zhiYaRecordEntity.setMemberId(memberId); zhiYaRecordEntity.setOrderNo(generateSimpleSerialno(memberId.toString())); zhiYaRecordEntity.setSymbol(MemberWalletCoinEnum.WALLETGUSDCOINCODE.getValue()); zhiYaRecordEntity.setZhiyaCnt(balance); zhiYaRecordEntity.setOrderStatus(1); Date date = new Date(); Date newDate = DateUtil.offsetDay(date, 1); zhiYaRecordEntity.setEffectDate(newDate); zhiYaRecordDao.insert(zhiYaRecordEntity); // }else{ // zhiYaRecord.setZhiyaCnt(zhiYaRecord.getZhiyaCnt().add(balance)); // Date date = new Date(); // Date newDate = DateUtil.offsetDay(date, 1); // zhiYaRecord.setEffectDate(newDate); // zhiYaRecordDao.updateById(zhiYaRecord); // } //更新团队算力表 MemberEntity memberEntity = memberdao.selectById(memberId); String refererIds = memberEntity.getRefererIds(); if(StrUtil.isNotEmpty(refererIds)){ BigDecimal gricetoagent = new BigDecimal(redisUtils.getString("GRICETOAGENT")); String[] split = refererIds.split(","); List strings = Arrays.asList(split); if(CollUtil.isNotEmpty(Arrays.asList(split))){ for(String str : strings){ if(StrUtil.isNotEmpty(str)){ BigDecimal isAgent = BigDecimal.ZERO; MemberEntity memberShangJi = memberdao.selectMemberInfoByInviteId(str); ZhiYaTeam zhiyaTeamByMemberId = zhiYaRecordDao.selectZhiyaTeamRecordByMemberId(memberShangJi.getId()); if(ObjectUtil.isNotEmpty(zhiyaTeamByMemberId)){ //更新数据 zhiyaTeamByMemberId.setZhiyaCnt(zhiyaTeamByMemberId.getZhiyaCnt().add(balance)); if(isAgent.compareTo(gricetoagent) >= 0){ zhiyaTeamByMemberId.setIsAgent(1); } zhiyaTeamDao.updateById(zhiyaTeamByMemberId); }else{ //新增数据 ZhiYaTeam zhiYaTeam = new ZhiYaTeam(); zhiYaTeam.setRefererId(memberShangJi.getRefererId()); zhiYaTeam.setRefererIds(memberShangJi.getRefererIds()); zhiYaTeam.setMemberId(memberShangJi.getId()); if(ObjectUtil.isNotEmpty(zhiyaTeamByMemberId)){ zhiYaTeam.setZhiyaCnt(zhiyaTeamByMemberId.getZhiyaCnt().add(balance)); isAgent = zhiyaTeamByMemberId.getZhiyaCnt().add(balance); }else{ zhiYaTeam.setZhiyaCnt(balance); isAgent = balance; } if(isAgent.compareTo(gricetoagent) >= 0){ zhiYaTeam.setIsAgent(1); } zhiyaTeamDao.insert(zhiYaTeam); } } } } } return Result.ok(MessageSourceUtils.getString("member_service_0024")); } @Override @Transactional public Result shuhuiGusd(BigDecimal balance,Long id) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); if (balance.compareTo(BigDecimal.ZERO) <= 0) { return Result.fail(MessageSourceUtils.getString("zhiya_service_0004")); } //赎回Gusd,获取质押单据, ZhiYaRecordEntity zhiYaRecordEntity = zhiYaRecordDao.selectByIdAndMemberId(id,memberId); if(ObjectUtil.isEmpty(zhiYaRecordEntity)){ return Result.fail(MessageSourceUtils.getString("zhiya_service_0002")); } if(1 != zhiYaRecordEntity.getOrderStatus()){ return Result.fail(MessageSourceUtils.getString("zhiya_service_0003")); } BigDecimal zhiyaCnt = zhiYaRecordEntity.getZhiyaCnt(); if(balance.compareTo(zhiyaCnt) > 0){ return Result.fail(MessageSourceUtils.getString("zhiya_service_0004")); } // zhiYaRecordEntity.setZhiyaCnt(zhiyaCnt.subtract(balance)); if(zhiyaCnt.compareTo(balance) != 0){ return Result.fail(MessageSourceUtils.getString("zhiya_service_0001")); } zhiYaRecordEntity.setOrderStatus(2); zhiYaRecordDao.updateById(zhiYaRecordEntity); //赎回Gusd,质押数量进入可用余额, ZhiYaEntity zhiya = zhiYaDao.selectByMemberId(memberId); BigDecimal gusdAvailableBalance = zhiya.getAvailableBalance(); BigDecimal gusdTotalBalance = zhiya.getTotalBalance(); BigDecimal gusdfrozenBalance = zhiya.getFrozenBalance(); BigDecimal frozen = gusdfrozenBalance.subtract(balance); if (frozen.compareTo(BigDecimal.ZERO) < 0) { return Result.fail(MessageSourceUtils.getString("zhiya_service_0001")); } BigDecimal total = gusdTotalBalance.subtract(balance); if (total.compareTo(BigDecimal.ZERO) < 0) { return Result.fail(MessageSourceUtils.getString("member_service_0005")); } zhiya.setFrozenBalance(gusdfrozenBalance.subtract(balance)); zhiya.setAvailableBalance(gusdAvailableBalance.add(balance)); zhiYaDao.updateById(zhiya); //更新团队算力表 MemberEntity memberEntity = memberdao.selectById(memberId); String refererIds = memberEntity.getRefererIds(); if(StrUtil.isNotEmpty(refererIds)){ BigDecimal gricetoagent = new BigDecimal(redisUtils.getString("GRICETOAGENT")); String[] split = refererIds.split(","); List strings = Arrays.asList(split); if(CollUtil.isNotEmpty(Arrays.asList(split))){ for(String str : strings){ if(StrUtil.isNotEmpty(str)){ BigDecimal isAgent = BigDecimal.ZERO; MemberEntity memberShangJi = memberdao.selectMemberInfoByInviteId(str); ZhiYaTeam zhiyaTeamByMemberId = zhiYaRecordDao.selectZhiyaTeamRecordByMemberId(memberShangJi.getId()); if(ObjectUtil.isNotEmpty(zhiyaTeamByMemberId)){ //更新数据 zhiyaTeamByMemberId.setZhiyaCnt(zhiyaTeamByMemberId.getZhiyaCnt().subtract(balance)); isAgent = zhiyaTeamByMemberId.getZhiyaCnt().subtract(balance); if(isAgent.compareTo(gricetoagent) >= 0){ zhiyaTeamByMemberId.setIsAgent(1); } zhiyaTeamDao.updateById(zhiyaTeamByMemberId); }else{ //新增数据 ZhiYaTeam zhiYaTeam = new ZhiYaTeam(); zhiYaTeam.setRefererId(memberShangJi.getRefererId()); zhiYaTeam.setRefererIds(memberShangJi.getRefererIds()); zhiYaTeam.setMemberId(memberShangJi.getId()); if(ObjectUtil.isNotEmpty(zhiyaTeamByMemberId)){ zhiYaTeam.setZhiyaCnt(zhiyaTeamByMemberId.getZhiyaCnt().subtract(balance)); isAgent = zhiyaTeamByMemberId.getZhiyaCnt().subtract(balance); }else{ zhiYaTeam.setZhiyaCnt(balance); isAgent = balance; } if(isAgent.compareTo(gricetoagent) >= 0){ zhiYaTeam.setIsAgent(1); } zhiyaTeamDao.insert(zhiYaTeam); } } } } } return Result.ok(MessageSourceUtils.getString("member_service_0024")); } @Override public Result findMemberGusdInfo() { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); ZhiYaEntity zhiYaEntity = zhiYaDao.selectByMemberId(memberId); MemberGusdInfoVo memberGusdInfoVo = new MemberGusdInfoVo(); memberGusdInfoVo.setMemberId(memberId); memberGusdInfoVo.setFrozenBalance(zhiYaEntity.getFrozenBalance()); memberGusdInfoVo.setTotalBalance(zhiYaEntity.getTotalBalance()); memberGusdInfoVo.setAvailableBalance(zhiYaEntity.getAvailableBalance()); return Result.ok(memberGusdInfoVo); } @Override public Result getZhiyaRecords(RecordsPageDto recordsPageDto) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); Page page = new Page<>(recordsPageDto.getPageNum(), recordsPageDto.getPageSize()); ZhiYaEntity zhiya = new ZhiYaEntity(); zhiya.setMemberId(memberId); IPage lists = zhiYaRecordDao.selectByMemberIdInPage(page, zhiya); return Result.ok(lists); } @Override public Result getusdtToGusdRecords(RecordsPageDto recordsPageDto) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); Page page = new Page<>(recordsPageDto.getPageNum(), recordsPageDto.getPageSize()); MemberAccountMoneyChange memberAccountMoneyChange = new MemberAccountMoneyChange(); memberAccountMoneyChange.setMemberId(memberId); IPage lists = memberAccountMoneyChangeDao.selectByMemberIdInPage(page, memberAccountMoneyChange); return Result.ok(lists); } @Override @Transactional public void grantZhiyaAmount() { //获取GUSD质押比例 BigDecimal gusdReward = new BigDecimal(redisUtils.getString("GUSDREWARD")); BigDecimal fixedGusdReward = gusdReward.multiply(new BigDecimal(0.8)); if(fixedGusdReward.compareTo(BigDecimal.ZERO) > 0){ //获取今天之前满足发放奖励的全部质押单 //生效时间小于当前时间 //状态为生效中 List lists = zhiYaRecordDao.selectZhiYaRewardByStatueAndTime(1,new Date()); if(CollUtil.isNotEmpty(lists)){ for(ZhiYaRecordEntity zhiYaRecordEntity : lists){ ZhiyaRewardEntity zhiyaRewardEntity = new ZhiyaRewardEntity(); //查询今天有没有发送过了 String orderNo = zhiYaRecordEntity.getOrderNo(); Long memberId = zhiYaRecordEntity.getMemberId(); Date date = new Date(); List zhiyaRewardEntityDone = zhiYaRecordDao.selectZhiyaTeamRecordByMemberIdAndOrderNo(orderNo,memberId,date); if(ObjectUtil.isEmpty(zhiyaRewardEntityDone)){ zhiyaRewardEntity.setRecordId(zhiYaRecordEntity.getId()); zhiyaRewardEntity.setRecordNo(zhiYaRecordEntity.getOrderNo()); zhiyaRewardEntity.setMemberId(zhiYaRecordEntity.getMemberId()); zhiyaRewardEntity.setType(1); MemberEntity member = memberdao.selectById(zhiYaRecordEntity.getMemberId()); //获取当前人的上两级 BigDecimal multiplyReward = BigDecimal.ZERO; MemberEntity memberEntity = memberdao.selectMemberInfoByInviteId(member.getRefererId()); if(ObjectUtil.isNotEmpty(memberEntity)){ //以及1代理的比例 BigDecimal agetShangji = new BigDecimal(redisUtils.getString("GUSDREWARDAGENTONE")); BigDecimal multiply = zhiYaRecordEntity.getZhiyaCnt().multiply(gusdReward).multiply(agetShangji); multiplyReward = (zhiYaRecordEntity.getZhiyaCnt().multiply(gusdReward).subtract(multiply)); ZhiyaRewardEntity zhiyaRewardEntitySJ = new ZhiyaRewardEntity(); zhiyaRewardEntitySJ.setRecordId(zhiYaRecordEntity.getId()); zhiyaRewardEntitySJ.setRecordNo(zhiYaRecordEntity.getOrderNo()); zhiyaRewardEntitySJ.setMemberId(memberEntity.getId()); zhiyaRewardEntitySJ.setType(2); zhiyaRewardEntitySJ.setRewardAmout(multiply); zhiyaRewardDao.insert(zhiyaRewardEntitySJ); MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberEntity.getId(), CoinTypeEnum.GRICE.toString()); memberWalletCoinEntity.setAvailableBalance(memberWalletCoinEntity.getAvailableBalance().add(multiply)); memberWalletCoinEntity.setTotalBalance(memberWalletCoinEntity.getAvailableBalance().add(multiply)); memberWalletCoinDao.updateById(memberWalletCoinEntity); MemberEntity memberEntitySSJ = memberdao.selectMemberInfoByInviteId(memberEntity.getRefererId()); if(ObjectUtil.isNotEmpty(memberEntitySSJ)){ BigDecimal agetSSJ = new BigDecimal(redisUtils.getString("GUSDREWARDAGENTTWO")); BigDecimal multiplySSJ = zhiYaRecordEntity.getZhiyaCnt().multiply(gusdReward).multiply(agetSSJ); multiplyReward = (zhiYaRecordEntity.getZhiyaCnt().multiply(gusdReward).subtract(multiply).subtract(multiplySSJ)); MemberWalletCoinEntity memberWalletCoinEntitySSJ = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberEntity.getId(), CoinTypeEnum.GRICE.toString()); memberWalletCoinEntitySSJ.setAvailableBalance(memberWalletCoinEntitySSJ.getAvailableBalance().add(multiply)); memberWalletCoinEntitySSJ.setTotalBalance(memberWalletCoinEntitySSJ.getAvailableBalance().add(multiply)); memberWalletCoinDao.updateById(memberWalletCoinEntitySSJ); ZhiyaRewardEntity zhiyaRewardEntitySSJ = new ZhiyaRewardEntity(); zhiyaRewardEntitySSJ.setRecordId(zhiYaRecordEntity.getId()); zhiyaRewardEntitySSJ.setRecordNo(zhiYaRecordEntity.getOrderNo()); zhiyaRewardEntitySSJ.setMemberId(memberEntitySSJ.getId()); zhiyaRewardEntitySSJ.setType(2); zhiyaRewardEntitySSJ.setRewardAmout(multiplySSJ); zhiyaRewardDao.insert(zhiyaRewardEntitySSJ); } }else{ multiplyReward = (zhiYaRecordEntity.getZhiyaCnt().multiply(gusdReward)); } zhiyaRewardEntity.setRewardAmout(multiplyReward); zhiyaRewardDao.insert(zhiyaRewardEntity); String refererIds = member.getRefererIds(); if(StrUtil.isNotEmpty(refererIds)){ String[] split = refererIds.split(","); List strings = Arrays.asList(split); if(CollUtil.isNotEmpty(strings)){ for(String str : strings){ if(StrUtil.isNotEmpty(str)){ MemberEntity memberShangJi = memberdao.selectMemberInfoByInviteId(str); ZhiYaTeam zhiyaTeamByMemberId = zhiYaRecordDao.selectZhiyaTeamRecordByMemberId(memberShangJi.getId()); if(ObjectUtil.isNotEmpty(zhiyaTeamByMemberId)){ //更新数据 zhiyaTeamByMemberId.setRewardCnt( (zhiyaTeamByMemberId.getRewardCnt() == null ? BigDecimal.ZERO:zhiyaTeamByMemberId.getRewardCnt()).add(multiplyReward)); zhiyaTeamDao.updateById(zhiyaTeamByMemberId); } } } } } } } } } } @Override public Result getZhiyaReward(ZhiyaRewardRecordsPageDto recordsPageDto) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); Page page = new Page<>(recordsPageDto.getPageNum(), recordsPageDto.getPageSize()); ZhiyaRewardEntity zhiyaRewardEntity = new ZhiyaRewardEntity(); zhiyaRewardEntity.setMemberId(memberId); zhiyaRewardEntity.setRecordNo(recordsPageDto.getOrderNo()); IPage lists = zhiYaRecordDao.selectZhiyaRewardByMemberIdInPage(page, zhiyaRewardEntity); return Result.ok(lists); } @Override public Result getZhiyaRewardTypeTo(ZhiyaRewardRecordsTypePageDto recordsPageDto) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); Page page = new Page<>(recordsPageDto.getPageNum(), recordsPageDto.getPageSize()); ZhiyaRewardEntity zhiyaRewardEntity = new ZhiyaRewardEntity(); zhiyaRewardEntity.setMemberId(memberId); IPage lists = zhiYaRecordDao.selectZhiyaRewardTypeToByMemberIdInPage(page, zhiyaRewardEntity); return Result.ok(lists); } public String generateSimpleSerialno(String userId) { StringBuilder sb = new StringBuilder(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sd = new SimpleDateFormat("yyyyMMdd"); Date now = new Date(); sb.append(sd.format(now)); Calendar calendar = new GregorianCalendar(); calendar.setTime(now); calendar.add(calendar.DATE, 1); Date nextDate = calendar.getTime(); if (StrUtil.isNotEmpty(userId)) { sb.append(userId); } sb.append(RandomUtil.randomInt(2)); long count = zhiYaRecordDao.getOrderCountByToday(sdf.format(now), sdf.format(nextDate)); count++; int size = 4; for (int i = 0; i < size - String.valueOf(count).length(); i++) { sb.append("0"); } sb.append(count); return sb.toString(); } }