From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 11 七月 2024 10:47:51 +0800
Subject: [PATCH] 玩湃微信商户认证代码

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java |  383 +++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 320 insertions(+), 63 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
index 401004f..f60f2d6 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
@@ -1,13 +1,22 @@
 package com.dsh.guns.modular.system.controller.system;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.dsh.course.dto.*;
+import com.dsh.course.entity.CoursePackageOrderStudent;
+import com.dsh.course.entity.EvaluateStudent;
 import com.dsh.course.feignClient.account.AppUserClient;
+import com.dsh.course.feignClient.account.StudentClient;
 import com.dsh.course.feignClient.account.model.TAppUser;
+import com.dsh.course.feignClient.competition.CompetitionClient;
+import com.dsh.course.feignClient.competition.model.ListQuery;
 import com.dsh.course.feignClient.course.CoursePackageClient;
+import com.dsh.course.feignClient.course.CoursePackagePaymentClient;
 import com.dsh.course.feignClient.course.CourseStuddentClient;
 import com.dsh.course.feignClient.course.model.TCoursePackage;
 import com.dsh.course.feignClient.course.model.TCoursePackagePayment;
+import com.dsh.course.feignClient.other.BallClient;
 import com.dsh.course.feignClient.other.HistoryClient;
 import com.dsh.course.model.MoneyBack;
 import com.dsh.course.model.dto.InsertBackDto;
@@ -16,15 +25,14 @@
 import com.dsh.course.util.HtmlToPdfUtils;
 import com.dsh.guns.config.UserExt;
 import com.dsh.guns.core.base.controller.BaseController;
-import com.dsh.guns.modular.system.model.CourseCounsum;
-import com.dsh.guns.modular.system.model.TStudent;
-import com.dsh.guns.modular.system.model.User;
+import com.dsh.guns.modular.system.model.*;
 import com.dsh.guns.modular.system.model.dto.*;
-import com.dsh.guns.modular.system.service.ITStudentService;
+import com.dsh.guns.modular.system.service.*;
 import com.dsh.guns.modular.system.util.BigDecimalToChineseAmountUtil;
 import com.dsh.guns.modular.system.util.ResultUtil;
 import io.swagger.models.auth.In;
 import org.apache.ibatis.annotations.Param;
+import org.bouncycastle.math.raw.Mod;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpRequest;
 import org.springframework.stereotype.Controller;
@@ -32,6 +40,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.management.relation.RelationService;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -41,10 +50,8 @@
 import java.math.RoundingMode;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 控制器
@@ -66,7 +73,14 @@
     @Resource
     private HistoryClient historyClient;
 
-
+    @Autowired
+    private IStoreService storeService;
+    @Autowired
+    private CompetitionClient competitionClient;
+    @Autowired
+    private ICityService cityService;
+    @Autowired
+    private CoursePackagePaymentClient coursePackagePaymentClient;
 
     @RequestMapping("download")
     public void down(HttpServletRequest request, HttpServletResponse response) throws IOException {
@@ -118,7 +132,11 @@
      * 跳转到首页
      */
     @RequestMapping("")
-    public String index() {
+    public String index(Model model) {
+        Integer objectType = UserExt.getUser().getObjectType();
+        model.addAttribute("objectType",objectType);
+        List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+        model.addAttribute("list",list);
         return PREFIX + "tStudent.html";
     }
 
@@ -177,22 +195,35 @@
         model.addAttribute("userName",tAppUser.getName());
         model.addAttribute("tStudentDto",tStudentDto);
 
-        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         String formattedDate = dateFormat.format(new Date());
         model.addAttribute("reDate", formattedDate);
 
-        List<TCoursePackagePayment> coursePackagePayments =  courseStuddentClient.queryByIds(ids);
+        List<CoursePackageOrderStudent> coursePackagePayments =  courseStuddentClient.queryByIds(ids);
 
         BigDecimal countAll = new BigDecimal(0);
 
-        for (TCoursePackagePayment payment : coursePackagePayments){
+        for (CoursePackageOrderStudent payment : coursePackagePayments){
 
             //课包名称
             TCoursePackage tCoursePackage = coursePackageClient.queryById(payment.getCoursePackageId());
+             List<CoursePackageOrder> ordes =  courseStuddentClient.getOrder(payment.getId());
+
+
+
             payment.setName(tCoursePackage.getName());
             payment.setId(Long.valueOf(tCoursePackage.getId()));
 
-            BigDecimal cashPayment = payment.getCashPayment();
+
+            BigDecimal cashPayment = BigDecimal.ZERO;
+            for (CoursePackageOrder order : ordes) {
+                BigDecimal cashPayment1 = order.getCashPayment();
+                if (cashPayment1 != null) {
+                    cashPayment = cashPayment.add(cashPayment1);
+                }
+            }
+            payment.setCashPayment(cashPayment);
+//            BigDecimal cashPayment = payment.getCashPayment();
             if (cashPayment==null){
                 cashPayment = BigDecimal.ZERO;
             }
@@ -244,17 +275,19 @@
         //查询学员信息
         TStudentDto tStudentDto = itStudentService.listOne(tStudentId);
         model.addAttribute("item", tStudentDto);
-        if (tStudentDto.getLateralSurface()!=null) {
+        if (tStudentDto.getLateralSurface()!=null&&!tStudentDto.getLateralSurface().equals("")) {
             String[] pics = tStudentDto.getLateralSurface().split(";");
-            model.addAttribute("pic1", pics[0]);
-            System.out.println("=====pic1==" + pics[0]);
-            if (pics.length > 1) {
-                model.addAttribute("pic2", pics[1]);
-                System.out.println("=====pic2==" + pics[1]);
-            }
-            if (pics.length > 2) {
-                model.addAttribute("pic3", pics[2]);
-                System.out.println("=====pic3==" + pics[2]);
+            if (pics.length>0) {
+                model.addAttribute("pic1", pics[0]);
+                System.out.println("=====pic1==" + pics[0]);
+                if (pics.length > 1) {
+                    model.addAttribute("pic2", pics[1]);
+                    System.out.println("=====pic2==" + pics[1]);
+                }
+                if (pics.length > 2) {
+                    model.addAttribute("pic3", pics[2]);
+                    System.out.println("=====pic3==" + pics[2]);
+                }
             }
         }
 
@@ -271,24 +304,43 @@
         return PREFIX + "tStudentEdit_first.html";
     }
 
+    @Autowired
+    private IMenuService menuService;
+
+    @Autowired
+    private IRelationService relationService;
     @RequestMapping("/tStudent_info/{tStudentId}")
     public String tStudentInfo(@PathVariable("tStudentId") Integer tStudentId, Model model) {
         System.out.println("======>t"+tStudentId);
         //查询学员信息
         TStudentDto tStudentDto = itStudentService.listOne(tStudentId);
+        // 查询该学员第一次购买课包的时间
+        String time = coursePackagePaymentClient.getTime(tStudentId);
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        try {
+            if (time!=null){
+                Date parse = format.parse(time);
+                tStudentDto.setTime(parse);
+            }
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+
+
         model.addAttribute("item", tStudentDto);
-        if (tStudentDto.getLateralSurface()!=null) {
-            String[] pics = tStudentDto.getLateralSurface().split(";");
-            model.addAttribute("pic1", pics[0]);
-            System.out.println("=====pic1==" + pics[0]);
-            if (pics.length > 1) {
-                model.addAttribute("pic2", pics[1]);
-                System.out.println("=====pic2==" + pics[1]);
-            }
-            if (pics.length > 2) {
-                model.addAttribute("pic3", pics[2]);
-                System.out.println("=====pic3==" + pics[2]);
-            }
+        if (tStudentDto.getLateralSurface()!=null&&!tStudentDto.equals("")) {
+//            String[] pics = tStudentDto.getLateralSurface().split(";");
+//            model.addAttribute("pic1", pics[0]);
+//            System.out.println("=====pic1==" + pics[0]);
+//            if (pics.length > 1) {
+//                model.addAttribute("pic2", pics[1]);
+//                System.out.println("=====pic2==" + pics[1]);
+//            }
+//            if (pics.length > 2) {
+//                model.addAttribute("pic3", pics[2]);
+//                System.out.println("=====pic3==" + pics[2]);
+//            }
+            model.addAttribute("images",tStudentDto.getLateralSurface());
         }
 
 
@@ -298,7 +350,30 @@
 
 
         System.out.println("=======controller====studentClassInfo==="+studentClassInfo);
+
+
+        User user = UserExt.getUser();
+
+        List<Relation> list = relationService.list(new QueryWrapper<Relation>().eq("menuid", 391).eq("roleid", user.getRoleid()));
+        if (!list.isEmpty()){
+            model.addAttribute("back",false);
+        }else {
+            model.addAttribute("back",true);
+        }
+
         return PREFIX + "tStudentEdit.html";
+    }
+
+
+    @Autowired
+    private EvaluateStudentService evalstuService;
+
+    @RequestMapping("/tStudent_commite/{tStudentId}")
+    public String tStudent_commite(@PathVariable("tStudentId") Integer tStudentId, Model model) {
+
+        model.addAttribute("id",tStudentId);
+
+        return PREFIX + "tStudent_commite.html";
     }
 
 
@@ -312,23 +387,165 @@
     @RequestMapping("/getUseTime/{tStudentId}")
     @ResponseBody
     public ResultUtil getMax(@PathVariable("tStudentId") Integer tStudentId) {
-        Date useTime = courseStuddentClient.getUseTime(tStudentId);
+        Date vali = studentClient.getById(tStudentId);
+
+//        Date useTime = courseStuddentClient.getUseTime(tStudentId);
         Map<String, Date> map = new HashMap<>();
-        map.put("useTime",useTime);
+        map.put("useTime",vali);
 
         return new ResultUtil<>(0,0,null,map,null);
     }
 
+    @Autowired
+    private ISiteBookingService siteBookingService;
+    @Autowired
+    private BallClient ballClient;
     /**
      * 获取列表
      */
     @RequestMapping("/list")
     @ResponseBody
     public List<TStudentDto> list(StudentSearch search) {
+        List<Integer> ids = new ArrayList<>();
 
+        if(UserExt.getUser().getObjectType()==3){
+            ids = appUserClient.getUserStore(UserExt.getUser().getObjectId());
+            if(ids.size()==0){
+                ids.add(-1);
+            }
+            search.setIds(ids);
+        }
+        if(UserExt.getUser().getObjectType()==2){
+            // 获取运营商下的所有门店id集合
+            List<Integer> storeIds = storeService.list(new QueryWrapper<TStore>()
+                    .eq("operatorId", UserExt.getUser().getObjectId()))
+                    .stream().map(TStore::getId).collect(Collectors.toList());
+            // 根据门店id集合查询 属于该运营商下的门店举办的赛事
+            ListQuery listQuery = new ListQuery();
+            listQuery.setIds(storeIds);
+            // 通过门店ids 获取赛事的支付记录 获取到用户的ids
+            List<Integer> list = competitionClient.getUserIds(listQuery);
+
+            // 获取场地预约记录 拿到用户ids
+            List<Integer> siteUsers = siteBookingService.list(new QueryWrapper<SiteBooking>().in("storeId", storeIds))
+                    .stream().map(SiteBooking::getAppUserId).collect(Collectors.toList());
+            // 获取课程购买记录 拿到用户ids
+            List<Integer> cpUsers = coursePackageClient.getCoursePackageByStoreIds(storeIds);
+            // 获取游戏记录 拿到用户ids
+            List<Integer> gameUsers = ballClient.getGameByStoreIds(storeIds);
+            // 用户ids
+            List<Integer> users = new ArrayList<>();
+            users.addAll(list);
+            users.addAll(siteUsers);
+            users.addAll(cpUsers);
+            users.addAll(gameUsers);
+            // 去重后的用户id
+            List<Integer> collect = users.stream().distinct().collect(Collectors.toList());
+            ids = appUserClient.getUserYYs(UserExt.getUser().getObjectId());
+            ids.addAll(collect);
+            List<Integer> collect1 = ids.stream().distinct().collect(Collectors.toList());
+            if(ids.size()==0){
+                ids.add(-1);
+            }
+            search.setIds(collect1);
+        }
         System.out.println("============学员查询接口=========");
         return itStudentService.listAll(search);
     }
+
+
+
+
+    @Autowired
+    private  EvaluateStudentService evaluateStudentService;
+
+    @Resource
+    private StudentClient studentClient;
+    /**
+     * 获取列表
+     */
+    @RequestMapping("/listcom/{id}")
+    @ResponseBody
+    public List<Map<String,Object>> listcom(@PathVariable("id") Integer id) {
+
+        List<Map<String,Object>> maps =   studentClient.listCom(id);
+
+        return maps;
+    }
+
+
+    @RequestMapping("/addcom/{id}")
+    @ResponseBody
+    public ResultUtil addcom(@PathVariable("id") Integer id,String content,String image) {
+
+        EvaluateStudent evaluateStudent = new EvaluateStudent();
+        evaluateStudent.setStudentId(id);
+        evaluateStudent.setContent(content);
+        evaluateStudent.setImgs(image);
+//        evaluateStudent.setInsertTime(new Date());
+
+        User user = UserExt.getUser();
+        evaluateStudent.setCoachId(user.getId());
+        appUserClient.save(evaluateStudent);
+//        evaluateStudentService.save(evaluateStudent);
+
+
+
+        return new ResultUtil<>(0,0,"保存成功",null,null);
+    }
+
+
+
+    @RequestMapping("/updatecom")
+    @ResponseBody
+    public ResultUtil updatecom(@RequestBody StudentPingYuDTO dto) {
+
+        EvaluateStudent evaluateStudent = new EvaluateStudent();
+        evaluateStudent.setId(dto.getId());
+        evaluateStudent.setContent(dto.getContent());
+        evaluateStudent.setImgs(dto.getImages());
+        appUserClient.save(evaluateStudent);
+
+//        evaluateStudentService.updateById(evaluateStudent);
+
+
+
+        return new ResultUtil<>(0,0,"修改成功",null,null);
+    }
+
+
+    @RequestMapping("/comdel/{id}")
+    @ResponseBody
+    public ResultUtil comdel(@PathVariable("id") Integer id) {
+
+
+        appUserClient.comdel(id);
+
+//        evaluateStudentService.removeById(id);
+
+
+
+        return new ResultUtil<>(0,0,"删除成功",null,null);
+    }
+
+
+    @RequestMapping("/frozen")
+    @ResponseBody
+
+    public ResultUtil forzen(Integer id,Integer state){
+
+            TStudent student = new TStudent();
+            student.setId(id);
+            student.setState(state);
+
+
+            studentClient.frozen(student);
+
+
+            return ResultUtil.success();
+
+    }
+
 
     /**
      * 获取列表
@@ -336,7 +553,18 @@
     @RequestMapping("/classList/{tStudentId}")
     @ResponseBody
     public ResultUtil listClass(@PathVariable("tStudentId") Integer tStudentId) {
+        // 需要过滤体验课
         List<ClassListDto> classListDtos = courseStuddentClient.listClass(tStudentId);
+        for (ClassListDto classListDto : classListDtos) {
+            if (classListDto.getClassType()==2){
+                classListDto.setTotalClassHours(null);
+                classListDto.setHasClassHours(null);
+                classListDto.setLaveClassHours(null);
+                continue;
+            }
+            classListDto.setHasClassHours(classListDto.getTotalClassHours()-classListDto.getLaveClassHours());
+
+        }
         Map<String,List<ClassListDto>> map = new HashMap<>();
         map.put("items",classListDtos);
         return new ResultUtil<>(0,0,null,map,null);
@@ -354,11 +582,14 @@
         insertBackDto.setIds(ids);
         System.out.println("=====insertBackDto========"+insertBackDto);
 
-        courseStuddentClient.insertBack(insertBackDto);
+        Integer i = courseStuddentClient.insertBack(insertBackDto);
 
+        if (i == 1){
+            return ResultUtil.error("当前课程已在退费申请中");
+        }
         //取消排课
-        courseStuddentClient.cancel(ids);
-        System.out.println("============学员查询接口=========");
+//        courseStuddentClient.cancel(ids);
+//        System.out.println("============学员查询接口=========");
         return ResultUtil.success();
     }
 
@@ -376,7 +607,7 @@
         courseStuddentClient.zeroClass(id);
 
         System.out.println("============学员查询接口=========");
-        return new ResultUtil<>(0,0,"同意成功",null,null);
+        return new ResultUtil<>(0,0,"已同意",null,null);
     }
 
     @RequestMapping("/noStatus/{id}")
@@ -387,12 +618,12 @@
 ////        insertBackDto.setIds(ids);
 //        System.out.println("=====insertBackDto========"+insertBackDto);
 
-        courseStuddentClient.changeStatus(id);
+        courseStuddentClient.noStatus(id);
         courseStuddentClient.backStausClass(id);
 //        courseStuddentClient.zeroClass(id);
 
         System.out.println("============学员查询接口=========");
-        return new ResultUtil<>(0,0,"同意成功",null,null);
+        return new ResultUtil<>(0,0,"已拒绝",null,null);
     }
 
     /**
@@ -402,11 +633,25 @@
     @ResponseBody
 
     public ResultUtil update(@RequestBody TStudent tStudent) {
-        String lateralSurface = tStudent.getImage1()+";"+tStudent.getImage2()+";"+tStudent.getImage3();
+        List<String> strings = new ArrayList<>();
+        if (!tStudent.getImage1().isEmpty()){
+            strings.add(tStudent.getImage1());
+        }
+        if (!tStudent.getImage2().isEmpty()){
+            strings.add(tStudent.getImage2());
+        }
+        if (!tStudent.getImage3().isEmpty()){
+            strings.add(tStudent.getImage3());
+        }
+        String result = String.join(";", strings);
 
-        System.out.println("=======lateralSurface======>?"+lateralSurface);
-        tStudent.setLateralSurface(lateralSurface);
-        System.out.println("学员体测表的值"+lateralSurface);
+
+//
+//        String lateralSurface = tStudent.getImage1()+";"+tStudent.getImage2()+";"+tStudent.getImage3();
+//
+//        System.out.println("=======lateralSurface======>?"+lateralSurface);
+        tStudent.setLateralSurface(result);
+        System.out.println("学员体测表的值"+result);
         itStudentService.update(tStudent);
 //        appUserClient.updateStudent(tStudent);
         return new ResultUtil(0,0,"编辑成功");
@@ -435,7 +680,9 @@
 
         updateTimeDto updateTimeDto =new updateTimeDto(date1,id);
         System.out.println("======updateTimeDto=====>"+updateTimeDto);
-        courseStuddentClient.updateUseDate(updateTimeDto);
+//        courseStuddentClient.updateUseDate(updateTimeDto);
+
+        studentClient.update(updateTimeDto);
 
 
         CreateHistoryDto historyDto = new CreateHistoryDto();
@@ -491,9 +738,6 @@
         toClassDto.setId(id);
 
         courseStuddentClient.toClass(toClassDto);
-
-//        Map<String,List<SelectDto>> map = new HashMap<>();
-//        map.put("options",selectDtos);
         return new ResultUtil(0,0,"编辑成功",1,"");
     }
 
@@ -505,7 +749,16 @@
     public ResultUtil giftSelect(GiftSearchDto giftSearchDto) {
 
         List<SelectDto>  selectDtos =  appUserClient.giftSelect(giftSearchDto);
-
+        // 只查询当前用户下 同时也报名了该课程的学员
+//        for (SelectDto selectDto : selectDtos) {
+//            // 获取课包id
+//            TCoursePackagePayment tCoursePackagePayment = coursePackagePaymentClient.queryCoursePackagePaymentById(giftSearchDto.getId());
+//
+//            Integer coursePackageId = tCoursePackagePayment.getCoursePackageId();
+//            // 学员id 拿到学员id 判断当前学员是否报名了这门课程
+//            Long id = selectDto.getId();
+//            //
+//        }
         Map<String,List<SelectDto>> map = new HashMap<>();
         map.put("options",selectDtos);
 //        Map<String,List<SelectDto>> map = new HashMap<>();
@@ -555,10 +808,11 @@
         System.out.println("========ToHoliDto========="+resultUtil);
 
 
-        if (resultUtil==""||resultUtil==null){
-            return new ResultUtil<>(0,0,"报名成功");
-        }else
-        return new ResultUtil<>(0,0,"报名成功,以下学员剩余课时不足"+resultUtil);
+        if (resultUtil.equals("报名成功")){
+            return new ResultUtil<>(0,0,resultUtil);
+        }else{
+        return new ResultUtil<>(0,1,resultUtil);}
+
     }
 
 
@@ -578,12 +832,16 @@
         String resultUtil = courseStuddentClient.toTrans(toHoliDto);
         System.out.println("========ToHoliDto========="+resultUtil);
 
+        if (resultUtil.equals("换课成功")) {
+//            return ResultUtil.success(resultUtil);
+                        return new ResultUtil<>(0,0,resultUtil);
 
-        if (resultUtil==""){
-            return new ResultUtil<>(0,0,"报名成功");
-        }else
-            return new ResultUtil<>(0,0,"报名成功,以下学员剩余课时不足"+resultUtil);
-    }
+        }else {
+            return new ResultUtil<>(0,1,resultUtil);}
+        }
+//        if (resultUtil==""){
+//        }else{
+
 
     //赠课
 
@@ -593,7 +851,6 @@
         ToClassDto toClassDto = new ToClassDto();
         toClassDto.setToStudentId(toStudentId);
         toClassDto.setId(id);
-
         courseStuddentClient.toClass(toClassDto);
 
 //        Map<String,List<SelectDto>> map = new HashMap<>();

--
Gitblit v1.7.1