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.UserMoneyDetails;
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 java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class UserMoneyDetailsServiceImpl extends ServiceImpl<UserMoneyDetailsDao, UserMoneyDetails> implements UserMoneyDetailsService {
@Autowired
private SysUserMoneyDetailsService sysUserMoneyDetailsService;
@Override
public Result queryUserMoneyDetails(Integer page, Integer limit, Long sysUserId, Long userId, Integer classify,
Integer type, Integer moneyType, Integer viewType) {
PageHelper.startPage(page, limit);
QueryWrapper<UserMoneyDetails> queryWrapper = new QueryWrapper();
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) {
queryWrapper.eq("user_id", userId);
}
@ -47,7 +56,7 @@ public class UserMoneyDetailsServiceImpl extends ServiceImpl<UserMoneyDetailsDao
queryWrapper.in("classify", arrayList);
}
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

View File

@ -124,16 +124,18 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
private final AliService aliService;
private final UserInfoService userInfoService;
private final UserVipDao userVipDao;
private final InviteAchievementService inviteAchievementService;
@Value("${spring.profiles.active}")
private String profiles;
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.userInfoService = userInfoService;
this.userVipDao = userVipDao;
this.inviteAchievementService = inviteAchievementService;
}
@Override
@ -1524,7 +1526,18 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
@Override
public Result selectInviteUserList(Integer page, Integer limit, String userName, String phone) {
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

View File

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

View File

@ -22,7 +22,7 @@ public interface CourseDetailsDao extends BaseMapper<CourseDetails> {
* @param price 全剧价格
* @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<CourseDetails> findByCourseId(@Param("id") Long id, @Param("userId") Long userId);

View File

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

View File

@ -246,7 +246,7 @@ public class TempOrdersTask {
sysUserMoneyService.updateSysMoney(1, sysUser.getUserId(), Double.parseDouble(qdAward));
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)));
sysUserMoneyService.update(sysUserMoney, new LambdaQueryWrapper<SysUserMoney>()
.eq(SysUserMoney::getUserId, sysUserMoney.getUserId())

View File

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

View File

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

View File

@ -116,9 +116,16 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
@Override
public PageUtils selectCashOutList(Integer page, Integer limit, CashOut cashOut,@Param("isApp") boolean isApp) {
LambdaQueryWrapper<CashOut> queryWrapper = new LambdaQueryWrapper<>();
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) {
@ -667,6 +674,8 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
if (!page.isEmpty()) {
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));
page.forEach(item -> {
CashOut countInfo = countInfoMap.get(item.getUserId());
@ -676,6 +685,7 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
item.setVerifyCount(countInfo.getVerifyCount());
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);
}
@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 {
@Override
public void updateSysMoney(int i, Long userId, double money){
public void updateSysMoney(int i, Long userId, double money) {
selectSysUserMoneyByUserId(userId);
baseMapper.updateSysMoney(i,userId,money);
baseMapper.updateSysMoney(i, userId, money);
}
@Override
public SysUserMoney selectSysUserMoneyByUserId(Long userId){
public SysUserMoney selectSysUserMoneyByUserId(Long userId) {
SysUserMoney userMoney = baseMapper.selectOne(new QueryWrapper<SysUserMoney>().eq("user_id", userId));
if(userMoney==null){
userMoney=new SysUserMoney();
if (userMoney == null) {
userMoney = new SysUserMoney();
userMoney.setUserId(userId);
userMoney.setMoney(new BigDecimal("0.00"));
baseMapper.insert(userMoney);

View File

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

View File

@ -162,6 +162,18 @@
select count(*) from pay_details
where `state`=1 and user_id=#{userId}
</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>