From 19251fb5596415bfa83c51b8ed130ecbb31644ce Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期一, 09 十月 2023 18:31:30 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai

---
 cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java |  321 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 311 insertions(+), 10 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
index 8edb780..384d2d1 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
@@ -1,28 +1,40 @@
 package com.dsh.account.controller;
 
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.dsh.account.dto.SelectDto;
+import com.dsh.account.dto.UserInfoQueryDTO;
+import com.dsh.account.entity.Coach;
 import com.dsh.account.entity.TAppUser;
-import com.dsh.account.model.AddAppUserVo;
-import com.dsh.account.model.JoinPlayPaiVo;
-import com.dsh.account.model.LoginSMSCodeVo;
-import com.dsh.account.model.LoginWeChatVo;
+import com.dsh.account.entity.TCourseInfoRecord;
+import com.dsh.account.model.*;
+import com.dsh.account.model.query.appUserQuery.QueryAppUser;
+import com.dsh.account.model.vo.QueryAppUserVO;
 import com.dsh.account.service.IVipPaymentService;
 import com.dsh.account.service.TAppUserService;
-import com.dsh.account.util.PayMoneyUtil;
-import com.dsh.account.util.ResultUtil;
-import com.dsh.account.util.TokenUtil;
-import com.dsh.account.util.ToolUtil;
+import com.dsh.account.service.TCourseInfoRecordService;
+import com.dsh.account.util.*;
+import com.dsh.account.vo.GroupCityInfoVO;
+import com.dsh.account.vo.UserInfoQueryVO;
+import com.dsh.account.vo.entity.DayData;
+import com.dsh.account.vo.entity.MonthData;
+import com.dsh.account.vo.entity.WeekData;
+import com.dsh.account.vo.entity.YearData;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.PrintWriter;
-import java.util.ArrayList;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.util.*;
 import java.util.List;
-import java.util.Map;
 
 /**
  * @author zhibing.pu
@@ -44,8 +56,82 @@
     @Autowired
     private TokenUtil tokenUtil;
 
+    @Autowired
+    private TCourseInfoRecordService courseInfoRecordService;
 
+    @Autowired
+    private RedisUtil redisUtil;
 
+    /**
+     * 获取所有用户
+     */
+    @ResponseBody
+    @PostMapping("/base/appUser/queryAppUserList")
+    public List<TAppUser> queryAppUserList(@RequestBody AppUserByNameAndPhoneDTO dto){
+        return appUserService.queryAPPUserByNameAndPhone(dto);
+    }
+    /**
+     * 根据用户姓名和电话模糊查询
+     */
+    @ResponseBody
+    @PostMapping("/base/appUser/queryAPPUserByNameAndPhone")
+    public List<TAppUser> queryAPPUserByNameAndPhone(@RequestBody AppUserByNameAndPhoneDTO dto){
+        return appUserService.queryAPPUserByNameAndPhone(dto);
+    }
+    /**
+     * 根据用户id获取用户信息
+     * @param appUserId
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/base/appUser/queryAppUser1")
+    public TAppUser queryAppUser1(@RequestBody Integer appUserId){
+         TAppUser appUser = appUserService.getById(appUserId);
+         return appUser;
+    }
+    /**
+     * 冻结/解冻 1=解冻 2=冻结
+     */
+    @RequestMapping("/base/appUser/changeState")
+    public Object changeState(@RequestBody AdvertisementChangeStateDTO dto){
+        return appUserService.changeState(dto);
+    }
+    /**
+     *  后台添加
+     */
+    @RequestMapping("/base/appUser/addAppUser1")
+    public Object addAppUser1(@RequestBody TAppUser query){
+        // 修改
+        if (query.getId()!=null){
+            TAppUser phone = appUserService.getOne(new QueryWrapper<TAppUser>().eq("phone", query.getPhone()).ne("id",query.getId()));
+            if (null != phone){
+                return 5001;
+            }
+        }
+        query.setIsVip(0);
+        query.setPassword("111111");
+        query.setInsertTime(new Date());
+        return appUserService.saveOrUpdate(query);
+    }
+
+    /**
+     * 获取用户信息列表数据
+     */
+    @RequestMapping("/base/appUser/listAll")
+    public List<QueryAppUserVO> listAll(@RequestBody QueryAppUser query){
+
+        return appUserService.listAll(query);
+    }
+
+    /**
+     * 根据用户手机号获取用户id
+     */
+    @ResponseBody
+    @GetMapping("/base/appUser/getAppUserByPhone/{phone}")
+    public TAppUser getAppUserByPhone(@PathVariable("phone") String phone){
+        TAppUser appUser = appUserService.getOne(new QueryWrapper<TAppUser>().eq("phone", phone));
+        return appUser;
+    }
 
     @ResponseBody
     @PostMapping("/base/appUser/getSMSCode")
@@ -133,6 +219,27 @@
     public ResultUtil<String> loginWeChat(LoginWeChatVo loginWeChatVo){
         try {
             return appUserService.loginWechat(loginWeChatVo);
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+    @ResponseBody
+    @PostMapping("/base/appUser/bind")
+    @ApiOperation(value = "微信登录--绑定手机号", tags = {"APP-登录注册"})
+    @ApiImplicitParams({
+    })
+    public ResultUtil<String> bind(String phone,String openId,String code){
+        try {
+            String value = redisUtil.getValue(phone);
+            if(!code.equals(value)){
+                return ResultUtil.error("验证码无效", "");
+            }
+            List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getOpenid, openId));
+            TAppUser tAppUser = list.get(0);
+            tAppUser.setPhone(phone);
+            appUserService.updateById(tAppUser);
+            return ResultUtil.success();
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -350,4 +457,198 @@
             return new ArrayList<>();
         }
     }
+
+    @PostMapping("/base/appUser/queryByNamePhone")
+    public List<TAppUser> queryByNamePhone(@RequestBody QueryByNamePhone queryByNamePhone){
+        try {
+            LambdaQueryWrapper<TAppUser> tAppUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            if(ToolUtil.isNotEmpty(queryByNamePhone.getName())){
+                tAppUserLambdaQueryWrapper.like(TAppUser::getName,queryByNamePhone.getName());
+            }
+            if(ToolUtil.isNotEmpty(queryByNamePhone.getPhone())){
+                tAppUserLambdaQueryWrapper.like(TAppUser::getPhone,queryByNamePhone.getPhone());
+            }
+            List<TAppUser> list = appUserService.list(tAppUserLambdaQueryWrapper);
+            return list;
+        }catch (Exception e){
+            e.printStackTrace();
+            return new ArrayList<>();
+        }
+    }
+
+    @PostMapping("/base/appUser/queryById")
+    public TAppUser queryById(@RequestBody Integer appUserId){
+        try {
+            return appUserService.getById(appUserId);
+        }catch (Exception e){
+            e.printStackTrace();
+            return new TAppUser();
+        }
+    }
+
+    /**
+     * 根据名称模糊搜索用户
+     * @param name
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/appUser/queryAppUserListByName")
+    public List<TAppUser> queryAppUserListByName(@RequestBody String name){
+        return appUserService.list(new QueryWrapper<TAppUser>().eq("state", 1).like("name", name));
+    }
+
+
+
+    @PostMapping("/appUser/addCourseInfoRecord")
+    public Boolean addCourseInfoRecord(@RequestBody TCourseInfoRecord tCourseInfoRecord){
+        boolean save = courseInfoRecordService.save(tCourseInfoRecord);
+        return save;
+    }
+
+    @PostMapping("/appUser/getSelects")
+    public List<SelectDto> getSelects(@RequestBody List<Integer> studentIds){
+        List<SelectDto> selectDtos =    appUserService.getSelects(studentIds);
+        System.out.println("=======selectDtos======>"+selectDtos);
+        return selectDtos;
+    }
+
+
+    @PostMapping("/appUser/userInfo")
+    public UserInfoQueryVO userInfo(@RequestBody UserInfoQueryDTO dto){
+
+        UserInfoQueryVO userInfoQueryVO = new UserInfoQueryVO();
+
+        LambdaQueryWrapper<TAppUser> wrapper = new LambdaQueryWrapper<>();
+
+        if(StringUtils.hasLength(dto.getCityCode())){
+            wrapper.eq(TAppUser::getCityCode,dto.getCityCode());
+        }
+
+        if(Objects.nonNull(dto.getOperatorId())){
+            wrapper.eq(TAppUser::getInsertType,2);
+            wrapper.eq(TAppUser::getAddUserId,dto.getOperatorId());
+        }
+
+        if(Objects.nonNull(dto.getStoreId())){
+            wrapper.eq(TAppUser::getInsertType,3);
+            wrapper.eq(TAppUser::getAddUserId,dto.getStoreId());
+        }
+
+        // 查询会员总数,年度会员总数
+        int userCount = appUserService.count(wrapper);
+        int userVipCount = appUserService.count(wrapper.eq(TAppUser::getIsVip,1));
+
+        userInfoQueryVO.setUserCount(userCount);
+        userInfoQueryVO.setUserVipCount(userVipCount);
+
+        if(Objects.nonNull(dto.getIsVip())){
+            wrapper.eq(TAppUser::getIsVip,dto.getIsVip());
+        }
+
+        // 年度数据
+        List<YearData> yearData = appUserService.getYearUserCount(dto);
+        userInfoQueryVO.setYearData(yearData);
+        // 月度数据
+        List<MonthData> monthData = appUserService.getMonthUserCount(dto);
+        userInfoQueryVO.setMonthData(monthData);
+
+        // 获取最近四周
+        LocalDateTime minNow = LocalDateTime.now().with(LocalTime.MIN);
+        LocalDateTime maxNow = LocalDateTime.now().with(LocalTime.MAX);
+        // 周度数据
+        dto.setStartTime(minNow.minusDays(6).toString());
+        dto.setEndTime(maxNow.toString());
+        WeekData week4 = appUserService.getWeekUserCount4(dto);
+        dto.setStartTime(minNow.minusDays(13).toString());
+        dto.setEndTime(maxNow.minusDays(6).toString());
+        WeekData week3 = appUserService.getWeekUserCount3(dto);
+        dto.setStartTime(minNow.minusDays(20).toString());
+        dto.setEndTime(maxNow.minusDays(13).toString());
+        WeekData week2 = appUserService.getWeekUserCount2(dto);
+        dto.setStartTime(minNow.minusDays(27).toString());
+        dto.setEndTime(maxNow.minusDays(20).toString());
+        WeekData week1 = appUserService.getWeekUserCount1(dto);
+
+        List<WeekData> weekDataList = new ArrayList<>();
+        weekDataList.add(week1);
+        weekDataList.add(week2);
+        weekDataList.add(week3);
+        weekDataList.add(week4);
+        userInfoQueryVO.setWeekData(weekDataList);
+
+        // 日度数据
+        dto.setStartTime(minNow.minusDays(6).toString());
+        dto.setEndTime(maxNow.toString());
+        List<DayData> dayData = appUserService.getDayUserCount(dto);
+        userInfoQueryVO.setDayData(dayData);
+        return userInfoQueryVO;
+    }
+
+    @PostMapping("/appUser/ageInfo")
+    public Map<String,Long> ageInfo(@RequestBody UserInfoQueryDTO dto){
+
+        Map<String,Long> map = new HashMap<>();
+
+        LambdaQueryWrapper<TAppUser> wrapper = new LambdaQueryWrapper<>();
+
+        if(StringUtils.hasLength(dto.getCityCode())){
+            wrapper.eq(TAppUser::getCityCode,dto.getCityCode());
+        }
+
+        if(Objects.nonNull(dto.getOperatorId())){
+            wrapper.eq(TAppUser::getInsertType,2);
+            wrapper.eq(TAppUser::getAddUserId,dto.getOperatorId());
+        }
+
+        if(Objects.nonNull(dto.getStoreId())){
+            wrapper.eq(TAppUser::getInsertType,3);
+            wrapper.eq(TAppUser::getAddUserId,dto.getStoreId());
+        }
+
+        List<TAppUser> list = appUserService.list(wrapper);
+        // 查询会员
+        list.forEach(tAppUser->tAppUser.setAge(DateUtil.ageOfNow(tAppUser.getBirthday())));
+
+        map.put("age1", list.stream().filter(e -> e.getAge() > 0 && e.getAge() <= 12).count());
+        map.put("age2",list.stream().filter(e -> e.getAge() >= 13 && e.getAge() <= 18).count());
+        map.put("age3",list.stream().filter(e -> e.getAge() >= 19 && e.getAge() <= 25).count());
+        map.put("age4",list.stream().filter(e -> e.getAge() >= 26 && e.getAge() <= 35).count());
+        map.put("age5",list.stream().filter(e -> e.getAge() >= 36 && e.getAge() <= 50).count());
+        map.put("age6",list.stream().filter(e -> e.getAge() >= 51).count());
+        return map;
+    }
+
+    @PostMapping("/appUser/sexInfo")
+    public Map<String,Integer> sexInfo(@RequestBody UserInfoQueryDTO dto){
+
+        Map<String,Integer> map = new HashMap<>(2);
+        LambdaQueryWrapper<TAppUser> wrapper = new LambdaQueryWrapper<>();
+
+        if(StringUtils.hasLength(dto.getCityCode())){
+            wrapper.eq(TAppUser::getCityCode,dto.getCityCode());
+        }
+
+        if(Objects.nonNull(dto.getOperatorId())){
+            wrapper.eq(TAppUser::getInsertType,2);
+            wrapper.eq(TAppUser::getAddUserId,dto.getOperatorId());
+        }
+
+        if(Objects.nonNull(dto.getStoreId())){
+            wrapper.eq(TAppUser::getInsertType,3);
+            wrapper.eq(TAppUser::getAddUserId,dto.getStoreId());
+        }
+
+        // 查询会员
+        int boyCount = appUserService.count(wrapper.eq(TAppUser::getGender,1));
+        int girlCount = appUserService.count(wrapper.eq(TAppUser::getGender,2));
+        map.put("boyCount",boyCount);
+        map.put("girlCount",girlCount);
+        return map;
+    }
+
+    @PostMapping("/appUser/groupCityInfo")
+    public List<GroupCityInfoVO> groupCityInfo(@RequestBody UserInfoQueryDTO dto){
+        // 查询地区会员
+        return appUserService.groupCityInfo(dto);
+    }
 }

--
Gitblit v1.7.1