Merge branch 'test' into dev

This commit is contained in:
GYJ 2025-01-06 19:53:11 +08:00
commit 9cdecb8172
15 changed files with 81 additions and 28 deletions

View File

@ -11,23 +11,32 @@ import com.sqx.modules.app.dao.UserMoneyDetailsDao;
import com.sqx.modules.app.entity.UserMoney; import com.sqx.modules.app.entity.UserMoney;
import com.sqx.modules.app.entity.UserMoneyDetails; import com.sqx.modules.app.entity.UserMoneyDetails;
import com.sqx.modules.app.service.UserMoneyDetailsService; import com.sqx.modules.app.service.UserMoneyDetailsService;
import com.sqx.modules.sys.entity.SysUserMoneyDetails;
import com.sqx.modules.sys.service.SysUserMoneyDetailsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
@Service @Service
public class UserMoneyDetailsServiceImpl extends ServiceImpl<UserMoneyDetailsDao, UserMoneyDetails> implements UserMoneyDetailsService { public class UserMoneyDetailsServiceImpl extends ServiceImpl<UserMoneyDetailsDao, UserMoneyDetails> implements UserMoneyDetailsService {
@Autowired
private SysUserMoneyDetailsService sysUserMoneyDetailsService;
@Override @Override
public Result queryUserMoneyDetails(Integer page, Integer limit, Long sysUserId, Long userId, Integer classify, public Result queryUserMoneyDetails(Integer page, Integer limit, Long sysUserId, Long userId, Integer classify,
Integer type, Integer moneyType, Integer viewType) { Integer type, Integer moneyType, Integer viewType) {
PageHelper.startPage(page, limit); PageHelper.startPage(page, limit);
QueryWrapper<UserMoneyDetails> queryWrapper = new QueryWrapper();
if (sysUserId != null) { if (sysUserId != null) {
queryWrapper.eq("sys_user_id", sysUserId); List<SysUserMoneyDetails> list = sysUserMoneyDetailsService.list(new LambdaQueryWrapper<SysUserMoneyDetails>()
.eq(SysUserMoneyDetails::getUserId, sysUserId).orderByDesc(SysUserMoneyDetails::getCreateTime));
return Result.success().put("data", PageUtils.page(new PageInfo<>(list), true));
} }
QueryWrapper<UserMoneyDetails> queryWrapper = new QueryWrapper();
if (userId != null) { if (userId != null) {
queryWrapper.eq("user_id", userId); queryWrapper.eq("user_id", userId);
} }
@ -47,7 +56,7 @@ public class UserMoneyDetailsServiceImpl extends ServiceImpl<UserMoneyDetailsDao
queryWrapper.in("classify", arrayList); queryWrapper.in("classify", arrayList);
} }
queryWrapper.orderByDesc("create_time"); queryWrapper.orderByDesc("create_time");
return Result.success().put("data", PageUtils.page(new PageInfo<>(baseMapper.selectList(queryWrapper)),true)); return Result.success().put("data", PageUtils.page(new PageInfo<>(baseMapper.selectList(queryWrapper)), true));
} }
@Override @Override

View File

@ -124,16 +124,18 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
private final AliService aliService; private final AliService aliService;
private final UserInfoService userInfoService; private final UserInfoService userInfoService;
private final UserVipDao userVipDao; private final UserVipDao userVipDao;
private final InviteAchievementService inviteAchievementService;
@Value("${spring.profiles.active}") @Value("${spring.profiles.active}")
private String profiles; private String profiles;
private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true); private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true);
public UserServiceImpl(@Lazy AliService aliService, UserInfoService userInfoService, UserVipDao userVipDao) { public UserServiceImpl(@Lazy AliService aliService, UserInfoService userInfoService, UserVipDao userVipDao, InviteAchievementService inviteAchievementService) {
this.aliService = aliService; this.aliService = aliService;
this.userInfoService = userInfoService; this.userInfoService = userInfoService;
this.userVipDao = userVipDao; this.userVipDao = userVipDao;
this.inviteAchievementService = inviteAchievementService;
} }
@Override @Override
@ -1524,7 +1526,18 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
@Override @Override
public Result selectInviteUserList(Integer page, Integer limit, String userName, String phone) { public Result selectInviteUserList(Integer page, Integer limit, String userName, String phone) {
PageHelper.startPage(page,limit); PageHelper.startPage(page,limit);
return Result.success().put("data", PageUtils.page(new PageInfo<>(baseMapper.selectInviteUserList(userName, phone)),true)); List<UserEntity> userEntities = baseMapper.selectInviteUserList(userName, phone);
if (!userEntities.isEmpty()) {
Set<Long> userIdList = userEntities.stream().map(UserEntity::getUserId).collect(Collectors.toSet());
Map<Long, UserMoney> infoMap = userMoneyService.list(new LambdaQueryWrapper<UserMoney>()
.in(UserMoney::getUserId, userIdList))
.stream().collect(Collectors.toMap(UserMoney::getUserId, item -> item));
userEntities.forEach(item -> {
UserMoney userMoney = infoMap.get(item.getUserId());
item.setMoney(userMoney == null ? BigDecimal.ZERO : userMoney.getInviteIncomeMoney());
});
}
return Result.success().put("data", PageUtils.page(new PageInfo<>(userEntities),true));
} }
@Override @Override

View File

@ -22,7 +22,6 @@ public class AppCourseCollectController extends AbstractController {
@Login @Login
@PostMapping("/insertCourseCollect") @PostMapping("/insertCourseCollect")
@ApiOperation("app收藏短剧信息") @ApiOperation("app收藏短剧信息")
@Debounce(interval = 1000, value = "#userId,#courseCollect.courseId,#courseCollect.classify")
public Result insertCourseCollect(@RequestBody CourseCollect courseCollect, @RequestAttribute("userId") Long userId) { public Result insertCourseCollect(@RequestBody CourseCollect courseCollect, @RequestAttribute("userId") Long userId) {
courseCollect.setUserId(userId); courseCollect.setUserId(userId);
return courseCollectService.insertCourseCollect(courseCollect); return courseCollectService.insertCourseCollect(courseCollect);

View File

@ -22,7 +22,7 @@ public interface CourseDetailsDao extends BaseMapper<CourseDetails> {
* @param price 全剧价格 * @param price 全剧价格
* @param wholesalePrice 10集价格 * @param wholesalePrice 10集价格
*/ */
@Cacheable(cacheNames = "courseSets", key = "#courseId") @Cacheable(cacheNames = "courseSets", key = "#courseId + '-' + #isPrice")
List<CourseDetailsSetVo> courseSets(@Param("courseId") Long courseId, Integer isPrice, BigDecimal wholesalePrice); List<CourseDetailsSetVo> courseSets(@Param("courseId") Long courseId, Integer isPrice, BigDecimal wholesalePrice);
List<CourseDetails> findByCourseId(@Param("id") Long id, @Param("userId") Long userId); List<CourseDetails> findByCourseId(@Param("id") Long id, @Param("userId") Long userId);

View File

@ -51,7 +51,7 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
@Override @Override
@CacheEvict(value = "app:courseCollect", key = "#courseCollect.userId") @CacheEvict(value = "app:courseCollect", key = "#courseCollect.userId")
public Result insertCourseCollect(CourseCollect courseCollect) { public Result insertCourseCollect(CourseCollect courseCollect) {
// reentrantReadWriteLock.writeLock().lock(); reentrantReadWriteLock.writeLock().lock();
try { try {
if (courseCollect.getClassify() == 3) { if (courseCollect.getClassify() == 3) {
QueryWrapper<CourseCollect> queryWrapper = new QueryWrapper<>(); QueryWrapper<CourseCollect> queryWrapper = new QueryWrapper<>();
@ -101,12 +101,12 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
} }
return Result.success("操作成功!"); return Result.success("操作成功!");
} catch (Exception e) { } catch (Exception e) {
// e.printStackTrace(); e.printStackTrace();
log.error("收藏短剧出错了!" + e.getMessage()); log.error("收藏短剧出错了!" + e.getMessage());
} }
// finally { finally {
// reentrantReadWriteLock.writeLock().unlock(); reentrantReadWriteLock.writeLock().unlock();
// } }
return Result.error("系统繁忙,请稍后再试!"); return Result.error("系统繁忙,请稍后再试!");
} }

View File

@ -246,7 +246,7 @@ public class TempOrdersTask {
sysUserMoneyService.updateSysMoney(1, sysUser.getUserId(), Double.parseDouble(qdAward)); sysUserMoneyService.updateSysMoney(1, sysUser.getUserId(), Double.parseDouble(qdAward));
sysUserMoneyDetailsService.save(userMoneyDetails4); sysUserMoneyDetailsService.save(userMoneyDetails4);
SysUserMoney sysUserMoney = sysUserMoneyService.selectSysUserMoneyByUserId(sysUser.getSysUserId()); SysUserMoney sysUserMoney = sysUserMoneyService.selectSysUserMoneyByUserId(sysUser.getUserId());
sysUserMoney.setInviteIncomeMoney(sysUserMoney.getInviteIncomeMoney() == null ? new BigDecimal(qdAward) : sysUserMoney.getInviteIncomeMoney().add(new BigDecimal(qdAward))); sysUserMoney.setInviteIncomeMoney(sysUserMoney.getInviteIncomeMoney() == null ? new BigDecimal(qdAward) : sysUserMoney.getInviteIncomeMoney().add(new BigDecimal(qdAward)));
sysUserMoneyService.update(sysUserMoney, new LambdaQueryWrapper<SysUserMoney>() sysUserMoneyService.update(sysUserMoney, new LambdaQueryWrapper<SysUserMoney>()
.eq(SysUserMoney::getUserId, sysUserMoney.getUserId()) .eq(SysUserMoney::getUserId, sysUserMoney.getUserId())

View File

@ -246,7 +246,12 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
log.info("生成商品订单信息接口入参为:{},{}", courseId, userId); log.info("生成商品订单信息接口入参为:{},{}", courseId, userId);
// reentrantReadWriteLock.writeLock().lock(); // reentrantReadWriteLock.writeLock().lock();
try { try {
CourseDetails courseDetail = courseDetailsService.getById(courseDetailsId); CourseDetails courseDetail = courseDetailsService.getOne(new LambdaQueryWrapper<CourseDetails>()
.eq(CourseDetails::getCourseDetailsId, courseDetailsId)
.eq(CourseDetails::getCourseId, courseId));
if (courseDetail == null) {
return Result.error("未知短剧");
}
if (courseDetail != null && courseDetail.getIsPrice().equals(2)) { if (courseDetail != null && courseDetail.getIsPrice().equals(2)) {
return Result.success().put("status", 1); return Result.success().put("status", 1);
} }
@ -297,9 +302,8 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
String value = commonInfoService.findOne(914).getValue(); String value = commonInfoService.findOne(914).getValue();
BigDecimal v = new BigDecimal(value); BigDecimal v = new BigDecimal(value);
if (courseDetailsId != null) { if (courseDetailsId != null) {
CourseDetails courseDetails = courseDetailsService.getById(courseDetailsId); orders.setPayMoney(courseDetail.getPrice());
orders.setPayMoney(courseDetails.getPrice()); orders.setPayDiamond(courseDetail.getPrice().multiply(v));
orders.setPayDiamond(courseDetails.getPrice().multiply(v));
} else { } else {
if (course.getPrice() == null || NumberUtil.isLessOrEqual(course.getPrice(), BigDecimal.ZERO)) { if (course.getPrice() == null || NumberUtil.isLessOrEqual(course.getPrice(), BigDecimal.ZERO)) {
return Result.error("该剧暂不支持整剧购买方式!"); return Result.error("该剧暂不支持整剧购买方式!");

View File

@ -273,9 +273,9 @@ public class CashController {
@ApiOperation("收入统计") @ApiOperation("收入统计")
@GetMapping("/statisticsIncomeMoney") @GetMapping("/statisticsIncomeMoney")
public Result statisticsIncomeMoney(String time, Integer flag) { public Result statisticsIncomeMoney(String time, Integer flag) {
Double sumMoney = ordersService.statisticsIncomeMoney(time, flag, null); Double sumMoney = payDetailsService.statisticsIncomeMoney(time, flag, null);
Double courseMoney = ordersService.statisticsIncomeMoney(time, flag, 1); Double courseMoney = payDetailsService.statisticsIncomeMoney(time, flag, 1);
Double vipMoney = ordersService.statisticsIncomeMoney(time, flag, 2); Double vipMoney = payDetailsService.statisticsIncomeMoney(time, flag, 2);
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("sumMoney", sumMoney == null ? 0.00 : sumMoney); map.put("sumMoney", sumMoney == null ? 0.00 : sumMoney);
map.put("courseMoney", courseMoney == null ? 0.00 : courseMoney); map.put("courseMoney", courseMoney == null ? 0.00 : courseMoney);

View File

@ -46,4 +46,6 @@ public interface PayDetailsDao extends BaseMapper<PayDetails> {
Double instantselectSumPay(@Param("date") String date, @Param("userId") Long userId); Double instantselectSumPay(@Param("date") String date, @Param("userId") Long userId);
Double statisticsIncomeMoney(@Param("time") String time, @Param("flag") Integer flag, @Param("ordersType") Integer ordersType);
} }

View File

@ -20,4 +20,5 @@ public interface PayDetailsService {
Double instantselectSumPay(String date, Long userId); Double instantselectSumPay(String date, Long userId);
Double statisticsIncomeMoney(String time, Integer flag, Integer ordersType);
} }

View File

@ -116,9 +116,16 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
@Override @Override
public PageUtils selectCashOutList(Integer page, Integer limit, CashOut cashOut,@Param("isApp") boolean isApp) { public PageUtils selectCashOutList(Integer page, Integer limit, CashOut cashOut,@Param("isApp") boolean isApp) {
LambdaQueryWrapper<CashOut> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<CashOut> queryWrapper = new LambdaQueryWrapper<>();
if (isApp) { if (isApp) {
queryWrapper.eq(CashOut::getUserId, cashOut.getUserId()); queryWrapper.eq(CashOut::getUserId, cashOut.getUserId())
.eq(CashOut::getUserId, 1);
}else {
if (cashOut.getSysUserId() != null) {
queryWrapper.eq(CashOut::getUserId, cashOut.getSysUserId())
.eq(CashOut::getUserType, 2);
}
} }
if (!isApp && cashOut.getUserId() != null) { if (!isApp && cashOut.getUserId() != null) {
@ -667,6 +674,8 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
if (!page.isEmpty()) { if (!page.isEmpty()) {
Set<Long> userIdList = page.stream().map(CashOut::getUserId).collect(Collectors.toSet()); Set<Long> userIdList = page.stream().map(CashOut::getUserId).collect(Collectors.toSet());
Map<Long, String> userNameMap = userDao.selectList(new LambdaQueryWrapper<UserEntity>().in(UserEntity::getUserId, userIdList)
.select(UserEntity::getUserName, UserEntity::getUserId)).stream().collect(Collectors.toMap(UserEntity::getUserId, UserEntity::getUserName));
Map<Long, CashOut> countInfoMap = cashOutDao.countByUserIdList(userIdList).stream().collect(Collectors.toMap(CashOut::getUserId, item -> item)); Map<Long, CashOut> countInfoMap = cashOutDao.countByUserIdList(userIdList).stream().collect(Collectors.toMap(CashOut::getUserId, item -> item));
page.forEach(item -> { page.forEach(item -> {
CashOut countInfo = countInfoMap.get(item.getUserId()); CashOut countInfo = countInfoMap.get(item.getUserId());
@ -676,6 +685,7 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
item.setVerifyCount(countInfo.getVerifyCount()); item.setVerifyCount(countInfo.getVerifyCount());
item.setVerifyTotal(countInfo.getVerifyTotal()); item.setVerifyTotal(countInfo.getVerifyTotal());
} }
item.setUserName(userNameMap.get(item.getUserId()));
}); });
} }

View File

@ -83,5 +83,8 @@ public class PayDetailsServiceImpl extends ServiceImpl<PayDetailsDao, PayDetails
return payDetailsDao.instantselectSumPay(date, userId); return payDetailsDao.instantselectSumPay(date, userId);
} }
@Override
public Double statisticsIncomeMoney(String time, Integer flag, Integer ordersType) {
return baseMapper.statisticsIncomeMoney(time, flag, ordersType);
}
} }

View File

@ -17,16 +17,16 @@ import java.util.Map;
public class SysUserMoneyServiceImpl extends ServiceImpl<SysUserMoneyDao, SysUserMoney> implements SysUserMoneyService { public class SysUserMoneyServiceImpl extends ServiceImpl<SysUserMoneyDao, SysUserMoney> implements SysUserMoneyService {
@Override @Override
public void updateSysMoney(int i, Long userId, double money){ public void updateSysMoney(int i, Long userId, double money) {
selectSysUserMoneyByUserId(userId); selectSysUserMoneyByUserId(userId);
baseMapper.updateSysMoney(i,userId,money); baseMapper.updateSysMoney(i, userId, money);
} }
@Override @Override
public SysUserMoney selectSysUserMoneyByUserId(Long userId){ public SysUserMoney selectSysUserMoneyByUserId(Long userId) {
SysUserMoney userMoney = baseMapper.selectOne(new QueryWrapper<SysUserMoney>().eq("user_id", userId)); SysUserMoney userMoney = baseMapper.selectOne(new QueryWrapper<SysUserMoney>().eq("user_id", userId));
if(userMoney==null){ if (userMoney == null) {
userMoney=new SysUserMoney(); userMoney = new SysUserMoney();
userMoney.setUserId(userId); userMoney.setUserId(userId);
userMoney.setMoney(new BigDecimal("0.00")); userMoney.setMoney(new BigDecimal("0.00"));
baseMapper.insert(userMoney); baseMapper.insert(userMoney);

View File

@ -151,7 +151,7 @@ pagehelper:
offsetAsPageNum: true offsetAsPageNum: true
rowBoundsWithCount: true rowBoundsWithCount: true
helperDialect: mysql helperDialect: mysql
reasonable: true reasonable: false
supportMethodsArguments: true supportMethodsArguments: true
params: params:
count: countSql count: countSql

View File

@ -162,6 +162,18 @@
select count(*) from pay_details select count(*) from pay_details
where `state`=1 and user_id=#{userId} where `state`=1 and user_id=#{userId}
</select> </select>
<select id="statisticsIncomeMoney" resultType="java.lang.Double">
select sum(money) from pay_details where state=1
<if test="flag!=null and flag==1">
and date_format(create_time,'%Y-%m-%d')=date_format(#{time},'%Y-%m-%d')
</if>
<if test="flag!=null and flag==2">
and date_format(create_time,'%Y-%m')=date_format(#{time},'%Y-%m')
</if>
<if test="flag!=null and flag==3">
and date_format(create_time,'%Y')=date_format(#{time},'%Y')
</if>
</select>
</mapper> </mapper>