rentaiming
2024-06-11 2f2eb2bb2c6a5a16b7081dbbe3b683acf18d04bc
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java
@@ -30,7 +30,10 @@
import com.ruoyi.member.controller.management.dto.MgtMemberQuery;
import com.ruoyi.member.controller.management.vo.MgtMemberPointsVO;
import com.ruoyi.member.controller.management.vo.MgtMemberVO;
import com.ruoyi.member.domain.MemberLevel;
import com.ruoyi.member.mapper.MemberLevelMapper;
import com.ruoyi.member.mapper.MemberMapper;
import com.ruoyi.member.service.IMemberLevelService;
import com.ruoyi.member.service.IMemberPointsService;
import com.ruoyi.member.service.IMemberService;
import com.ruoyi.member.util.HttpUtils;
@@ -43,13 +46,15 @@
import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO;
import com.ruoyi.system.api.domain.dto.MemberDTO;
import com.ruoyi.system.api.domain.dto.MobileDTO;
import com.ruoyi.system.api.domain.dto.updMembeOneDTO;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import javax.annotation.Resource;
import org.apache.commons.io.IOUtils;
@@ -128,7 +133,13 @@
    private RedisService redisService;
    @Resource
    private MemberLevelMapper memberLevelMapper;
    @Resource
    private IMemberPointsService memberPointsService;
    @Override
    public AppMiniLoginVO loginThird(AppMiniLoginDTO appMiniLoginDto) throws Exception {
        AppMiniLoginVO appMiniLoginVo = new AppMiniLoginVO();
@@ -362,7 +373,7 @@
    }
    @Override
    public List<Member> getMemberListByIds(Set<Long> memberIdList) {
    public List<Member> getMemberListByIds(Collection<Long> memberIdList) {
        return this.listByIds(memberIdList);
    }
@@ -494,6 +505,57 @@
        return PageDTO.of(page, MgtMemberVO.class);
    }
    @Override
    public void updMembeOne(updMembeOneDTO dMembeOneDTO) {
        Member byId = this.getById(dMembeOneDTO.getMemberId());
        if (dMembeOneDTO.getMoney()!=null){
            if (dMembeOneDTO.getType()==1){
                BigDecimal big=byId.getMoney().add(dMembeOneDTO.getMoney());
                byId.setMoney(big);
            }else {
                BigDecimal big=byId.getMoney().subtract(dMembeOneDTO.getMoney());
                byId.setMoney(big);
            }
        }  if (dMembeOneDTO.getTotalPoints()!=null){
            if (dMembeOneDTO.getType()==1){
                Integer big=byId.getTotalPoints()+dMembeOneDTO.getTotalPoints();
                byId.setTotalPoints(big);
            }else {
                Integer big=byId.getTotalPoints()-dMembeOneDTO.getTotalPoints();
                byId.setTotalPoints(big);
            }
        }
        this.updateById(byId);
        LambdaQueryWrapper<MemberLevel> wrapper= Wrappers.lambdaQuery();
        List<MemberLevel> list = memberLevelMapper.selectList(wrapper);
        for (int i=0;i<list.size();i++){
            if (i==0){
                int ia = byId.getMoney().compareTo(list.get(0).getCumulativeConsumption());
                if (ia<0){
                    byId.setLevel(0);
                    break;
                }
            }
            if (i==list.size()-1){
                BigDecimal cumulative = list.get(i - 1).getCumulativeConsumption();
                BigDecimal cumulative1 = list.get(i).getCumulativeConsumption();
                if (cumulative.compareTo(byId.getMoney()) <= 0 && cumulative1.compareTo(byId.getMoney()) >= 0) {
                    byId.setLevel(list.get(i).getLevel());
                }else{
                    byId.setLevel(list.get(i).getLevel());
                }
            }else {
                BigDecimal cumulative = list.get(i - 1).getCumulativeConsumption();
                BigDecimal cumulative1 = list.get(i).getCumulativeConsumption();
                if (cumulative.compareTo(byId.getMoney()) <= 0 && cumulative1.compareTo(byId.getMoney()) >= 0) {
                    byId.setLevel(list.get(i).getLevel());
                }
            }
        }
    }
    /**
     * 获取用户详情
     *
@@ -525,6 +587,25 @@
        }
        return PageDTO.of(page, MgtMemberPointsVO.class);
    }
    @Override
    public List<Member> getMemberListByCondition(MemberDTO memberDTO) {
        return this.lambdaQuery()
                .like(StringUtils.isNotBlank(memberDTO.getNickname()), Member::getNickname,
                        memberDTO.getNickname())
                .like(StringUtils.isNotBlank(memberDTO.getRealName()), Member::getRealName,
                        memberDTO.getRealName())
                .like(StringUtils.isNotBlank(memberDTO.getPhone()), Member::getPhone,
                        memberDTO.getPhone()).list();
    }
    @Override
    public List<Member> getMemberListByLevel(List<String> memberLevelList) {
        return this.lambdaQuery()
                .in(StringUtils.isNotEmpty(memberLevelList), Member::getLevel, memberLevelList)
                .orderByDesc(Member::getLevel)
                .list();
    }
}