nickchange
2023-11-09 c036557db88c6297b9a626a892dce35c14ab8ee5
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
@@ -1,13 +1,19 @@
package com.dsh.guns.modular.system.controller.system;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.course.dto.*;
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.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 +22,17 @@
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.EvaluateStudentService;
import com.dsh.guns.modular.system.service.ISiteBookingService;
import com.dsh.guns.modular.system.service.IStoreService;
import com.dsh.guns.modular.system.service.ITStudentService;
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;
@@ -41,10 +49,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 +72,10 @@
    @Resource
    private HistoryClient historyClient;
    @Autowired
    private IStoreService storeService;
    @Autowired
    private CompetitionClient competitionClient;
    @RequestMapping("download")
    public void down(HttpServletRequest request, HttpServletResponse response) throws IOException {
@@ -118,7 +127,9 @@
     * 跳转到首页
     */
    @RequestMapping("")
    public String index() {
    public String index(Model model) {
        Integer objectType = UserExt.getUser().getObjectType();
        model.addAttribute("objectType",objectType);
        return PREFIX + "tStudent.html";
    }
@@ -172,7 +183,6 @@
        TStudentDto tStudentDto = appUserClient.queryOneWebUser(id);
        model.addAttribute("id", id);
        model.addAttribute("ids", ids);
        TAppUser tAppUser = appUserClient.queryById(tStudentDto.getAppUserId());
        model.addAttribute("userName",tAppUser.getName());
@@ -303,6 +313,18 @@
    }
    @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";
    }
//
@@ -320,17 +342,158 @@
        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());
        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();
    }
    /**
     * 获取列表
     */