无关风月
2024-07-11 eb6b6dbb35a9f029e0b7d269773685c19fd40976
cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
@@ -61,33 +61,38 @@
            monthEnd = DateTimeHelper.getCurrentMouthEnd();
        }
        List<UserIntegralChanges> userIntegralChanges = this.baseMapper.selectList(new QueryWrapper<UserIntegralChanges>()
                .eq("appUserId",userIdFormRedis )
                .between("insertTime",monthStart,monthEnd)
                .eq("appUserId", userIdFormRedis)
                .between("insertTime", monthStart, monthEnd)
                .orderByDesc("insertTime"));
        if (userIntegralChanges.size() > 0 ){
        if (userIntegralChanges.size() > 0) {
            for (UserIntegralChanges userIntegralChange : userIntegralChanges) {
                IntegralsData detail= new IntegralsData();
                switch (userIntegralChange.getType()){
                IntegralsData detail = new IntegralsData();
                switch (userIntegralChange.getType()) {
                    case 1:
                        detail.setConsumeAmount("+"+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
                        detail.setConsumeAmount("+" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
                        detail.setConsumeName("赠送积分");
                        detail.setDetailsType(2);
                        break;
                    case 2:
                        detail.setConsumeAmount("-"+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
                        detail.setConsumeAmount("" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
                        detail.setConsumeName("兑换商品");
                        detail.setDetailsType(1);
                        break;
                    case 3:
                        detail.setConsumeAmount("+"+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
                        detail.setConsumeAmount("+" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
                        detail.setConsumeName("完成课后练习");
                        detail.setDetailsType(2);
                        break;
                    case 4:
                        detail.setConsumeAmount("+"+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
                        detail.setConsumeAmount("+" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
                        detail.setConsumeTime(simpleDateFormat.format(userIntegralChange.getInsertTime()));
                        detail.setConsumeName("观看教学视频");
                        detail.setDetailsType(2);
                        break;
                    case 5:
                        detail.setConsumeAmount("" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
                        detail.setConsumeName("智慧球场开始游戏");
                        detail.setDetailsType(1);
                        break;
                    default:
                        break;
@@ -95,10 +100,10 @@
                detail.setConsumeTime(simpleDateFormat.format(userIntegralChange.getInsertTime()));
                details.add(detail);
            }
            if (null != recordId){
            if (null != recordId) {
                details = details.stream()
                        .filter(obj -> obj instanceof IntegralsData)
                        .filter(obj -> Objects.equals(obj.getDetailsType(), recordId))
                        .filter(obj -> !Objects.equals(obj.getDetailsType(), recordId))
                        .collect(Collectors.toList());
            }
        }
@@ -108,6 +113,7 @@
    /**
     * 保存用户积分变动
     *
     * @param vo
     * @throws Exception
     */
@@ -118,10 +124,13 @@
        userIntegralChanges.setAppUserId(vo.getAppUserId());
        userIntegralChanges.setOldIntegral(appUser.getIntegral());
        userIntegralChanges.setType(vo.getType());
        appUser.setIntegral(appUser.getIntegral() + vo.getIntegral());
        tauMapper.updateById(appUser);
        userIntegralChanges.setNewIntegral(appUser.getIntegral());
        userIntegralChanges.setInsertTime(new Date());
        userIntegralChanges.setCategory(1);
        userIntegralChanges.setRemark(vo.getRemark());
        this.save(userIntegralChanges);
    }
@@ -129,14 +138,14 @@
    public List<ExchangeDetailsResponse> queryExchangeGoodsdetails(Integer userIdFormRedis, Integer useType, Integer goodType) {
        List<ExchangeDetailsResponse> detailsResponses = new ArrayList<>();
        ExchangeDetailsVo integralExchangeDetails = mcClient.getIntegralExchangeDetails(userIdFormRedis);
        if (ToolUtil.isNotEmpty(integralExchangeDetails.getDetailsResponses())){
        if (ToolUtil.isNotEmpty(integralExchangeDetails.getDetailsResponses())) {
            detailsResponses = integralExchangeDetails.getDetailsResponses();
            if (ToolUtil.isNotEmpty(useType)){
            if (ToolUtil.isNotEmpty(useType)) {
                detailsResponses = integralExchangeDetails.getDetailsResponses().stream()
                        .filter(response -> Objects.equals(response.getUseStatus(), useType))
                        .collect(Collectors.toList());
            }
            if (ToolUtil.isNotEmpty(goodType)){
            if (ToolUtil.isNotEmpty(goodType)) {
                detailsResponses = integralExchangeDetails.getDetailsResponses().stream()
                        .filter(response -> Objects.equals(response.getGoodType(), goodType))
                        .collect(Collectors.toList());
@@ -153,18 +162,18 @@
    @Override
    public Page<UserIntegral> listAll(Page<UserIntegral> userIntegralPage, IntegralListQuery integralListQuery) {
        String sTime =null;
        String eTime =null;
        if(ToolUtil.isNotEmpty(integralListQuery.getTime())){
            sTime = integralListQuery.getTime().split(" - ")[0]+" 00:00:00";
            eTime = integralListQuery.getTime().split(" - ")[1]+" 23:59:59";
        String sTime = null;
        String eTime = null;
        if (ToolUtil.isNotEmpty(integralListQuery.getTime())) {
            sTime = integralListQuery.getTime().split(" - ")[0] + " 00:00:00";
            eTime = integralListQuery.getTime().split(" - ")[1] + " 23:59:59";
        }
        Page<UserIntegral> userIntegrals = this.baseMapper.listAll(userIntegralPage, integralListQuery, sTime, eTime);
        for (UserIntegral userIntegral : userIntegrals.getRecords()) {
            if(userIntegral.getCategory()==1){
                userIntegral.setIntegral(userIntegral.getNewIntegral()-userIntegral.getOldIntegral());
            }else {
                userIntegral.setIntegral(userIntegral.getOldIntegral()-userIntegral.getNewIntegral());
            if (userIntegral.getCategory() == 1) {
                userIntegral.setIntegral(userIntegral.getNewIntegral() - userIntegral.getOldIntegral());
            } else {
                userIntegral.setIntegral(userIntegral.getOldIntegral() - userIntegral.getNewIntegral());
            }
        }
        return userIntegrals;
@@ -174,19 +183,22 @@
    public List<ExchangeDetailsResponse> queryExchangeGoodsdetails1(Integer userIdFormRedis, Integer useType, Integer goodType, Integer page, Integer size) {
        List<ExchangeDetailsResponse> detailsResponses = new ArrayList<>();
        ExchangeDetailsVo integralExchangeDetails = mcClient.getIntegralExchangeDetails(userIdFormRedis);
        if (ToolUtil.isNotEmpty(integralExchangeDetails.getDetailsResponses())){
        if (ToolUtil.isNotEmpty(integralExchangeDetails.getDetailsResponses())) {
            detailsResponses = integralExchangeDetails.getDetailsResponses();
            if (ToolUtil.isNotEmpty(useType)){
            if (ToolUtil.isNotEmpty(useType)) {
                detailsResponses = detailsResponses.stream()
                        .filter(response -> Objects.equals(response.getUseStatus(), useType))
                        .collect(Collectors.toList());
            }
            if (ToolUtil.isNotEmpty(goodType)){
            if (ToolUtil.isNotEmpty(goodType)) {
                detailsResponses = detailsResponses.stream()
                        .filter(response -> Objects.equals(response.getGoodType(), goodType))
                        .collect(Collectors.toList());
            }
        }
        int totalItems = detailsResponses.size();
        int startIndex = (page - 1) * size;
@@ -198,6 +210,7 @@
            detailsResponses.clear();
        }
        return detailsResponses;
    }
}