|
|
@@ -17,6 +17,7 @@ import com.alipay.api.request.AlipayUserInfoShareRequest;
|
|
|
import com.alipay.api.response.AlipaySystemOauthTokenResponse;
|
|
|
import com.alipay.api.response.AlipayUserInfoShareResponse;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.github.binarywang.utils.qrcode.MatrixToImageWriter;
|
|
|
@@ -117,9 +118,29 @@ public class UserServiceImpl implements IUserService {
|
|
|
}
|
|
|
LambdaQueryWrapper<User> lqw = buildQueryWrapper(bo);
|
|
|
Page<UserVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
|
|
+ result.setRecords(convertList(result.getRecords(), false));
|
|
|
return TableDataInfo.build(result);
|
|
|
}
|
|
|
|
|
|
+ private List<UserVo> convertList(List<UserVo> list, boolean isBusiness) {
|
|
|
+ if(ObjectUtil.isEmpty(list)) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ return list.stream().map(item -> {
|
|
|
+ UserBo userBo = new UserBo();
|
|
|
+ userBo.setId(item.getId());
|
|
|
+ item.setSurplusQueueMoney(baseMapper.querySurplusQueueMoney(userBo));
|
|
|
+ UserStatisticsVo userStatisticsVo = baseMapper.querySubsidyMoney(userBo);
|
|
|
+ item.setShouldSubsidyMoney(userStatisticsVo.getShouldSubsidyMoney());
|
|
|
+ item.setAlreadySubsidyMoney(userStatisticsVo.getAlreadySubsidyMoney());
|
|
|
+ if (!isBusiness) {
|
|
|
+ UserStatisticsVo statistics = baseMapper.statistics(userBo);
|
|
|
+ item.setAvailablePoint(statistics.getAvailablePoint());
|
|
|
+ }
|
|
|
+ return item;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 查询小程序用户管理列表
|
|
|
*
|
|
|
@@ -769,12 +790,38 @@ public class UserServiceImpl implements IUserService {
|
|
|
|
|
|
@Override
|
|
|
public UserStatisticsVo statistics(UserBo bo) {
|
|
|
- UserStatisticsVo vo = new UserStatisticsVo();
|
|
|
- //累计可用余额
|
|
|
- vo.setAvailableBalance(baseMapper.queryAvailableBalance(bo));
|
|
|
- //累计可用积分
|
|
|
- vo.setAvailablePoint(baseMapper.queryAvailablePoint(bo));
|
|
|
- return vo;
|
|
|
+ UserStatisticsVo statistics = baseMapper.statistics(bo);
|
|
|
+ statistics.setAvailableBalance(baseMapper.queryAvailableBalance(bo));
|
|
|
+ //剩余排队金额
|
|
|
+ statistics.setSurplusQueueMoney(baseMapper.querySurplusQueueMoney(bo));
|
|
|
+ //累计补贴金额
|
|
|
+ UserStatisticsVo subsidyMoney = baseMapper.querySubsidyMoney(bo);
|
|
|
+ statistics.setShouldSubsidyMoney(subsidyMoney.getShouldSubsidyMoney());
|
|
|
+ statistics.setAlreadySubsidyMoney(subsidyMoney.getAlreadySubsidyMoney());
|
|
|
+ return statistics;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public TableDataInfo<UserVo> queryBusinessPageList(UserBo bo, PageQuery pageQuery) {
|
|
|
+ if(ObjectUtil.isNotNull(bo.getCreateDayStart())) {
|
|
|
+ bo.setCreateDayStart(DateUtil.beginOfDay(bo.getCreateDayStart()));
|
|
|
+ }
|
|
|
+ if(ObjectUtil.isNotNull(bo.getCreateDayEnd())) {
|
|
|
+ bo.setCreateDayEnd(DateUtil.endOfDay(bo.getCreateDayEnd()));
|
|
|
+ }
|
|
|
+ Page<UserVo> result = baseMapper.selectBusinessPage(pageQuery.build(), bo);
|
|
|
+ result.setRecords(convertList(result.getRecords(), true));
|
|
|
+ return TableDataInfo.build(result);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Boolean updateStatus(Long id) {
|
|
|
+ User user = loadByIdForLock(id, true);
|
|
|
+ this.baseMapper.update(null, new LambdaUpdateWrapper<User>()
|
|
|
+ .set(User::getStatus, !user.getStatus())
|
|
|
+ .eq(User::getId, id)
|
|
|
+ );
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
private String generateUniqueMemberCode(Long userId) {
|