From 8fa41ca2c6b1d423f57f85a9b86cb581a4fc0bca Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期三, 12 六月 2024 18:15:05 +0800
Subject: [PATCH] 用户端商品

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java |  141 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 135 insertions(+), 6 deletions(-)

diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java
index 65ee508..1dfcb83 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java
@@ -21,34 +21,42 @@
 import com.ruoyi.common.core.enums.GenderEnum;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.page.BeanUtils;
 import com.ruoyi.common.core.utils.page.PageDTO;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.member.controller.management.dto.MgtMemberPointsQuery;
 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;
 import com.ruoyi.system.api.RemoteUserService;
 import com.ruoyi.system.api.constants.SecurityConstant;
 import com.ruoyi.system.api.domain.AppMiniLoginVO;
 import com.ruoyi.system.api.domain.Member;
+import com.ruoyi.system.api.domain.MemberPoints;
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO;
-import com.ruoyi.system.api.domain.dto.AppMiniRegisterDTO;
 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 com.ruoyi.system.api.domain.dto.MobileDTO;
 import org.apache.commons.io.IOUtils;
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpResponse;
@@ -74,7 +82,7 @@
 
     public static RequestConfig config = RequestConfig.custom().setConnectTimeout(5000).setSocketTimeout(5000).build();
     // 配置您申请的KEY,在个人中心->我的数据,接口名称上方查看
-    public static final String APPKEY = "";
+    public static final String APPKEY = "61ad64e1ea78a24e00c449c346caa5d7";
     //明文查询地址
     public static String query_url = "http://op.juhe.cn/idcard/query?key=" + APPKEY;
 
@@ -123,6 +131,13 @@
 
     @Resource
     private RedisService redisService;
+
+    @Resource
+    private MemberLevelMapper memberLevelMapper;
+
+
+    @Resource
+    private IMemberPointsService memberPointsService;
 
 
     @Override
@@ -290,6 +305,12 @@
     public void authentificationMembe(MemberDTO memberDTO) {
         Member member= this.getById(memberDTO.getMemberid());
         member.setPhone(memberDTO.getPhone());
+        if(memberDTO.getIdNumber()==null){
+            throw new ServiceException("身份证号不能为空");
+        }
+        if(memberDTO.getRealName()==null){
+            throw new ServiceException("姓名不能为空");
+        }
         member.setIdNumber(memberDTO.getIdNumber());
         member.setRealName(memberDTO.getRealName());
         String realname = "";// 姓名
@@ -323,6 +344,12 @@
             }
         }
      JSONObject jsonObject= JSON.parseObject(result);
+        String object1= jsonObject.get("reason").toString();
+        if(!object1.equals("成功")){
+            throw new ServiceException(object1);
+        }
+
+
       String object= jsonObject.get("result").toString();
       JSONObject jsonObject1= JSON.parseObject(object);
       if (Integer.valueOf(jsonObject1.get("res").toString())==2){
@@ -358,7 +385,7 @@
     }
 
     @Override
-    public List<Member> getMemberListByIds(Set<Long> memberIdList) {
+    public List<Member> getMemberListByIds(Collection<Long> memberIdList) {
         return this.listByIds(memberIdList);
     }
 
@@ -489,6 +516,108 @@
         }
         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());
+                }
+            }
+
+        }
+
+    }
+
+    /**
+     * 获取用户详情
+     *
+     * @param id 会员id
+     * @return MgtMemberVO
+     */
+    @Override
+    public MgtMemberVO getMemberById(Long id) {
+        Member member = this.getById(id);
+        if (StringUtils.isNull(member)) {
+            throw new ServiceException("会员不存在");
+        }
+        return BeanUtils.copyBean(member, MgtMemberVO.class);
+    }
+
+    /**
+     * 获取积分明细分页列表
+     *
+     * @param query 会员积分明细查询对象
+     * @return PageDTO<MgtMemberPointsVO>
+     */
+    @Override
+    public PageDTO<MgtMemberPointsVO> getMemberPoints(MgtMemberPointsQuery query) {
+        Page<MemberPoints> page = memberPointsService.lambdaQuery()
+                .eq(MemberPoints::getMemberId, query.getId())
+                .page(new Page<>(query.getPageCurr(), query.getPageSize()));
+        if (StringUtils.isEmpty(page.getRecords())) {
+            return PageDTO.empty(page);
+        }
+        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();
+    }
 }
 
 

--
Gitblit v1.7.1