From 16b704d18a875d1fb63827aaa507790ba2bef5be Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期二, 23 四月 2024 11:44:13 +0800
Subject: [PATCH] JK最终代码提交

---
 guns-management/src/main/java/com/stylefeng/guns/modular/system/service/impl/AppUserServiceImpl.java |  385 +++----------------------------------------------------
 1 files changed, 21 insertions(+), 364 deletions(-)

diff --git a/guns-management/src/main/java/com/stylefeng/guns/modular/system/service/impl/AppUserServiceImpl.java b/guns-management/src/main/java/com/stylefeng/guns/modular/system/service/impl/AppUserServiceImpl.java
index 370a168..3fcabcc 100644
--- a/guns-management/src/main/java/com/stylefeng/guns/modular/system/service/impl/AppUserServiceImpl.java
+++ b/guns-management/src/main/java/com/stylefeng/guns/modular/system/service/impl/AppUserServiceImpl.java
@@ -1,65 +1,37 @@
 package com.stylefeng.guns.modular.system.service.impl;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.stylefeng.guns.core.util.DateUtil;
-import com.stylefeng.guns.core.util.JwtTokenUtil;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.dao.AppUserMapper;
-import com.stylefeng.guns.modular.system.dto.Host;
-import com.stylefeng.guns.modular.system.dto.Medium;
-import com.stylefeng.guns.modular.system.model.*;
+import com.stylefeng.guns.modular.system.dto.AppUserQuery;
+import com.stylefeng.guns.modular.system.dto.TeamQuery;
+import com.stylefeng.guns.modular.system.model.AppUser;
 import com.stylefeng.guns.modular.system.service.IAppUserService;
-import com.stylefeng.guns.modular.system.service.ICollectionHouseResourceService;
-import com.stylefeng.guns.modular.system.service.IHousingDemandService;
-import com.stylefeng.guns.modular.system.service.IRegionService;
 import com.stylefeng.guns.modular.system.util.RedisUtil;
-import com.stylefeng.guns.modular.system.util.ResultUtil;
-import com.stylefeng.guns.modular.system.util.UUIDUtil;
-import com.stylefeng.guns.modular.system.util.weChat.WXCore;
-import com.stylefeng.guns.modular.system.util.weChat.WeChatUtil;
-import com.stylefeng.guns.modular.system.warpper.req.*;
-import com.stylefeng.guns.modular.system.warpper.res.*;
+import com.stylefeng.guns.modular.system.vo.InviteUserVO;
+import com.stylefeng.guns.modular.system.vo.TeamDetailVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.util.StringUtils;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
-import sun.rmi.runtime.Log;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
- * @author zhibing.pu
- * @Date 2023/11/7 11:07
+ * <p>
+ * 用户表 服务实现类
+ * </p>
+ *
+ * @author 无关风月
+ * @since 2024-02-06
  */
 @Service
 public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> implements IAppUserService {
-
-    @Autowired
-    private WeChatUtil weChatUtil;
     @Autowired
     private RedisUtil redisUtil;
     @Autowired
-    private IRegionService regionService;
-    @Autowired
-    private IAppUserService appUserService;
-    @Autowired
-    private HouseResourceService houseResourceService;
-    @Autowired
-    private CollectionHouseResourceServiceImpl collectionHouseResourceService;
-
-
-
-
+    private AppUserMapper appUserMapper;
     /**
      * 通过token获取用户信息
      * @return
@@ -71,7 +43,7 @@
         String authorization = request.getHeader("Authorization");
         // todo 这里注释了一段代码
         // && authorization.contains("Bearer")
-        if(ToolUtil.isNotEmpty(authorization) && authorization.contains("Bearer") ){
+        if(ToolUtil.isNotEmpty(authorization) && authorization.contains("Bearer ") ){
             String token = authorization.substring(7);
             //通过token获取用户id
             Integer appUserId = getAppUserIdFromToken(token);
@@ -80,335 +52,20 @@
         return null;
     }
 
-
-
-
-
-
-    /**
-     * 小程序登录
-     * @return
-     */
     @Override
-    public ResultUtil<AppletLoginRes> appletLogin(RegisterAccountReq req) {
-        try {
-            //调用微信获取用户小程序openid
-            Map<String, Object> map = weChatUtil.code2Session(req.getJscode());
-            if(null == map){
-                return ResultUtil.error("获取微信身份信息失败");
-            }
-            String openid = map.get("openid").toString();
-            AppUser appUser = this.selectOne(new EntityWrapper<AppUser>()
-                    .eq("wechat_openid", openid)
-                    .eq("audit_status", 2)
-                    .eq("status", 1));
-            AppletLoginRes appletLoginRes = new AppletLoginRes();
-            if(null != appUser){
-                String token = JwtTokenUtil.generateToken(appUser.getPhone());
-                appletLoginRes.setToken(token);
-                appletLoginRes.setUserType(appUser.getUserType());
-            }else{
-                System.err.println("新增");
-                String sessionKey = map.get("sessionKey").toString();
-                //解密手机号
-                String phone = WXCore.decrypt(req.getEncryptedPhoneData(), sessionKey, req.getPhone_iv());
-                appUser = this.selectOne(new EntityWrapper<AppUser>()
-                        .eq("phone", phone)
-                        .eq("audit_status", 2)
-                        .eq("status", 1));
-                if(null == appUser){
-                    JSONObject jsonObject = JSONObject.parseObject(phone);
-                    String phone1 = jsonObject.getString("phoneNumber");
-                    System.err.println("看看json");
-                    System.err.println(jsonObject);
-                    System.err.println(phone1);
-                    //注册新账号
-                    addNewAppUser(openid, phone1);
-                }else{
-                    appUser.setWechatOpenid(openid);
-                    this.updateById(appUser);
-                }
-            }
-            AppUser appUser1 = this.selectOne(new EntityWrapper<AppUser>()
-                    .eq("wechat_openid", openid)
-                    .eq("audit_status", 2)
-                    .eq("status", 1));
-            //生成token
-            String token = JwtTokenUtil.generateToken(appUser1.getPhone());
-            appletLoginRes.setToken(token);
-            appletLoginRes.setUserType(appUser1.getUserType());
-            System.err.println("看看TOKEN:"+token);
-            //存入缓存中
-            addTokenToRedis(token, appUser1.getId());
-            return ResultUtil.success(appletLoginRes);
-        }catch (Exception e){
-            e.printStackTrace();
-            return ResultUtil.runErr();
-        }
-    }
-
-
-    /**
-     * 小程序注册账号
-     * @param req
-     * @return
-     */
-    @Override
-    public ResultUtil<AppletLoginRes> registerAccount(RegisterAccountReq req) {
-        try {
-            //调用微信获取用户小程序openid
-            Map<String, Object> map = weChatUtil.code2Session(req.getJscode());
-            if(null == map){
-                return ResultUtil.error("获取微信身份信息失败");
-            }
-            System.err.println("看看返回结果map");
-            System.err.println(map);
-            String openid = map.get("openid").toString();
-            AppUser appUser = this.selectOne(new EntityWrapper<AppUser>()
-                    .eq("wechat_openid", openid)
-                    .eq("audit_status", 2)
-                    .eq("status", 1));
-            AppletLoginRes appletLoginRes = new AppletLoginRes();
-            if(null == appUser){
-                String sessionKey = map.get("sessionKey").toString();
-                //解密手机号
-                String phone = WXCore.decrypt(req.getEncryptedPhoneData(), sessionKey, req.getPhone_iv());
-                appUser = this.selectOne(new EntityWrapper<AppUser>()
-                        .eq("phone", phone)
-                        .eq("audit_status", 2)
-                        .eq("status", 1));
-                if(null == appUser){
-                    JSONObject jsonObject = JSONObject.parseObject(phone);
-                    String phone1 = jsonObject.getString("phoneNumber");
-                    System.err.println("看看json");
-                    System.err.println(jsonObject);
-                    System.err.println(phone1);
-                    //注册新账号
-                    addNewAppUser(openid, phone1);
-                }else{
-                    appUser.setWechatOpenid(openid);
-                    this.updateById(appUser);
-                }
-            }
-            AppUser appUser1 = this.selectOne(new EntityWrapper<AppUser>()
-                    .eq("wechat_openid", openid)
-                    .eq("audit_status", 2)
-                    .eq("status", 1));
-            //生成token
-            String token = JwtTokenUtil.generateToken(appUser1.getPhone());
-            appletLoginRes.setToken(token);
-            appletLoginRes.setUserType(appUser1.getUserType());
-            //存入缓存中
-            addTokenToRedis(token, appUser1.getId());
-            return ResultUtil.success(appletLoginRes);
-        }catch (Exception e){
-            e.printStackTrace();
-            return ResultUtil.runErr();
-        }
+    public List<InviteUserVO> inviteUserList(AppUserQuery query) {
+        return appUserMapper.inviteUserList(query);
     }
 
     @Override
-    public SearchIntermediaryRes searchIntermediaryList(SearchIntermediaryReq req) {
-        req.setPageNum((req.getPageNum() - 1) * req.getPageSize());
-        //区域
-        List<Integer> districtIds = new ArrayList<>();
-        List<Integer> cityIds = new ArrayList<>();
-        if (req.getDistrict() != null &&(!req.getDistrict().equals("")) ){
-            // 一级id
-            Integer integer = Integer.valueOf(req.getDistrict());
-            districtIds.add(integer);
-            if (req.getArea()!=null && (!req.getArea().equals(""))){
-                String[] split = req.getArea().split(",");
-                for (String s : split) {
-                    cityIds.add(Integer.valueOf(s));
-                }
-            }
-        }
-        SearchIntermediaryRes searchIntermediaryRes = new SearchIntermediaryRes();
-        List<SearchIntermediaryListRes> res =this.baseMapper.searchIntermediaryList(req,districtIds,cityIds);
-        searchIntermediaryRes.setList(res);
-        searchIntermediaryRes.setTotal(res.size());
-        return searchIntermediaryRes;
+    public List<TeamDetailVO> teamList(TeamQuery query) {
+        return appUserMapper.teamList(query);
     }
 
     @Override
-    public ResultUtil<AppUser> userInfo() {
-        // 获取当前登录用户
-        AppUser appUser = appUserService.getAppUser();
-        return ResultUtil.success(appUser);
+    public List<AppUser> selectList1(String name, String phone) {
+        return appUserMapper.selectList1(name,phone);
 
-    }
-    @Autowired
-    private IHousingDemandService housingDemandService;
-    @Override
-    public ResultUtil<CollectRes> collect() {
-        // 查询发布的求房源信息
-        SearchHousingDemandReq req = new SearchHousingDemandReq();
-        SearchHousingDemandRes searchHousingDemandRes = housingDemandService.searchHousingDemand(req);
-        List<SearchHousingDemandListRes> list1 = searchHousingDemandRes.getList();
-        List<SearchHousingDemandListRes> collect1 = list1.stream().filter(t -> t.getAppuserId() == appUserService.getAppUser().getId()).
-                collect(Collectors.toList());
-        // 拿到收藏的房源ids
-        List<Integer> ids = new ArrayList<>();
-        CollectRes searchIntermediaryRes = new CollectRes();
-        searchIntermediaryRes.setList1(collect1);
-        List<CollectListRes> list = houseResourceService.collect(ids);
-        long count1 = collect1.stream().filter(t -> t.getType() == 1).count();
-        long count = list.stream().filter(t -> t.getType() == 1).count();
-        // 草稿数量
-        searchIntermediaryRes.setDraft(Integer.parseInt(String.valueOf(count))+Integer.parseInt(String.valueOf(count1)));
-        // 上架房源数
-        int size = list.stream().filter(t -> t.getStatus() == 1 && t.getType()==2).collect(Collectors.toList()).size();
-        searchIntermediaryRes.setOn(size);
-        // 下架房源数
-        int size1 = list.stream().filter(t -> t.getStatus() == 0 && t.getType()==2).collect(Collectors.toList()).size();
-        searchIntermediaryRes.setOff(size1);
-        for (CollectListRes collectListRes : list) {
-            // 查询这个房源的收藏
-            int collect = collectionHouseResourceService.selectList(new EntityWrapper<CollectionHouseResource>()
-                    .eq("house_resource_id", collectListRes.getId())).size();
-            collectListRes.setCollect(collect);
-            // 根据区id 查询下级
-            Region city = regionService.selectById(collectListRes.getCityId());
-            Region dis = regionService.selectById(collectListRes.getDistrictId());
-            Region region = regionService.selectOne(new EntityWrapper<Region>().eq("parent_id",dis.getId()));
-            StringBuilder stringBuilder = new StringBuilder("");
-            stringBuilder.append(dis.getName());
-            if (region!=null){
-                stringBuilder.append("/"+region.getName());
-                Region region1 = regionService.selectOne(new EntityWrapper<Region>().eq("parent_id",region.getId()));
-                if (region!=null){
-                    stringBuilder.append(region1.getName());
-                    Region region2 = regionService.selectOne(new EntityWrapper<Region>().eq("parent_id",region1.getId()));
-                    if (region2!=null){
-                        stringBuilder.append("/"+region2.getName());
-                    }
-                }
-            }
-            collectListRes.setAddress(city.getName()+">"+stringBuilder.toString());
-        }
-        searchIntermediaryRes.setList(list);
-        searchIntermediaryRes.setTotal(list.size());
-        return ResultUtil.success(searchIntermediaryRes);
-    }
-
-    @Override
-    public ResultUtil<CollectRes> release(UserInfoQuery query) {
-        query.setPageNum((query.getPageNum() - 1) * query.getPageSize());
-        // 房源ids
-        List<Integer> ids = collectionHouseResourceService.selectList(new EntityWrapper<CollectionHouseResource>()
-                .eq("app_user_id", appUserService.getAppUser().getId()))
-                .stream().map(CollectionHouseResource::getHouseResourceId).collect(Collectors.toList());
-        List<Integer> collect = houseResourceService.selectList(new EntityWrapper<HouseResource>()
-                .eq("is_delete", 0)
-                .eq("status", 1)
-                .eq("auth_status", 2)
-                .in("id", ids)).stream().map(HouseResource::getId).collect(Collectors.toList());
-        List<CollectListRes> list = houseResourceService.release(query,collect);
-        for (CollectListRes collectListRes : list) {
-            // 根据区id 查询下级
-            Region city = regionService.selectById(collectListRes.getCityId());
-            Region dis = regionService.selectById(collectListRes.getDistrictId());
-            Region region = regionService.selectOne(new EntityWrapper<Region>().eq("parent_id",dis.getId()));
-            StringBuilder stringBuilder = new StringBuilder("");
-            stringBuilder.append(dis.getName());
-            if (region!=null){
-                stringBuilder.append("/"+region.getName());
-                Region region1 = regionService.selectOne(new EntityWrapper<Region>().eq("parent_id",region.getId()));
-                if (region!=null){
-                    stringBuilder.append(region1.getName());
-                    Region region2 = regionService.selectOne(new EntityWrapper<Region>().eq("parent_id",region1.getId()));
-                    if (region2!=null){
-                        stringBuilder.append("/"+region2.getName());
-                    }
-                }
-            }
-            collectListRes.setAddress(city.getName()+">"+stringBuilder.toString());
-        }
-        CollectRes searchIntermediaryRes = new CollectRes();
-        searchIntermediaryRes.setList(list);
-        searchIntermediaryRes.setTotal(list.size());
-        return ResultUtil.success();
-    }
-
-//    @Autowired
-//    private HouseResourceService houseResourceService;
-    @Override
-    public List<Host> listHost(String nickname, Integer userType, Integer status, String phone) {
-        List<Host> hosts = this.baseMapper.listHost(nickname, userType, status, phone);
-//        for (Host h : hosts) {
-//            HouseResource houseResource = houseResourceService.selectOne(new EntityWrapper<HouseResource>().eq("insert_user_id", h.getId()).last("order by insert_time desc limit 1"));
-//            HousingDemand housingDemand = housingDemandService.selectOne(new EntityWrapper<HousingDemand>().eq("insert_user_id", h.getId()).last("order by insert_time desc limit 1"));
-//            if (houseResource==null&&housingDemand!=null){
-//                h.setWechatQRCode(housingDemand.getWechatQrCode());
-//                h.setWatchApp(housingDemand.getWatchApp());
-//                continue;
-//            }
-//            if (houseResource!=null&&housingDemand==null){
-//                h.setWechatQRCode(houseResource.getWechatQRCode());
-//                h.setWatchApp(houseResource.getWatchApp());
-//                continue;
-//            }
-//            if (houseResource==null&&housingDemand==null){
-//                continue;
-//            }
-//                Date insertTime = houseResource.getInsertTime();
-//                Date insertTime1 = housingDemand.getInsertTime();
-//                if (insertTime.after(insertTime1)) {
-//                    h.setWechatQRCode(houseResource.getWechatQRCode());
-//                    h.setWatchApp(houseResource.getWatchApp());
-//                } else {
-//                    h.setWechatQRCode(housingDemand.getWechatQrCode());
-//                    h.setWatchApp(housingDemand.getWatchApp());
-//                }
-//        }
-
-        return  hosts;
-    }
-
-    @Override
-    public List<Medium> listMedium(String nickname, Integer userType, Integer status, String phone) {
-        return this.baseMapper.listMedium(nickname,userType,status,phone);
-    }
-
-    @Override
-    public List<Medium> listAuMedium(String nickname, Integer userType, Integer status, String phone) {
-        return this.baseMapper.listAuMedium(nickname,userType,status,phone);
-    }
-
-
-
-    /**
-     * 添加新用户到数据库
-     * @param openid    微信openid
-     * @param phone     手机号
-     */
-    private void addNewAppUser(String openid, String phone){
-        AppUser appUser = new AppUser();
-        appUser.setCode(UUIDUtil.getNumberRandom(16));
-        appUser.setUserType(1);
-        appUser.setPhone(phone);
-        appUser.setWechatOpenid(openid);
-        appUser.setAuditStatus(2);
-        appUser.setStatus(1);
-        appUser.setInsertTime(new Date());
-        this.insert(appUser);
-    }
-
-
-    /**
-     * 将用户标识存入缓存中用于后期接口的身份校验
-     * @param token
-     * @param id
-     */
-    private void addTokenToRedis(String token, Integer id){
-        String key = token;
-        int length = token.length();
-        if(length > 16){
-            key = token.substring(4, 12);
-        }
-        //30天有效期
-        redisUtil.setStrValue(key, id.toString(), 2592000);
     }
 
 
@@ -420,8 +77,8 @@
     private Integer getAppUserIdFromToken(String token){
         String key = token;
         int length = token.length();
-        if(length > 16){
-            key = token.substring(4, 12);
+        if(length > 32){
+            key = token.substring(token.length() - 32);
         }
         String value = redisUtil.getValue(key);
         if(ToolUtil.isEmpty(value)){

--
Gitblit v1.7.1