From ee9cb0da4a43bcf523ebb157678f64a2895fba1a Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期二, 10 十月 2023 15:30:38 +0800 Subject: [PATCH] 10.10 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java | 588 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 532 insertions(+), 56 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 91685e1..7b0eccb 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,19 +1,50 @@ package com.dsh.guns.modular.system.controller.system; -import com.dsh.course.dto.StudentSearch; -import com.dsh.course.dto.TStudentDto; +import com.dsh.course.dto.*; +import com.dsh.course.feignClient.account.AppUserClient; +import com.dsh.course.feignClient.account.model.TAppUser; +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.HistoryClient; +import com.dsh.course.model.MoneyBack; +import com.dsh.course.model.dto.InsertBackDto; +import com.dsh.course.model.dto.StudentClassInfo; +import com.dsh.course.util.ChineseMoneyUtils; +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.dto.*; 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.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.math.BigDecimal; +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; /** * 控制器 @@ -29,6 +60,60 @@ @Autowired private ITStudentService itStudentService; + @Resource + private CourseStuddentClient courseStuddentClient; + + @Resource + private HistoryClient historyClient; + + + + @RequestMapping("download") + public void down(HttpServletRequest request, HttpServletResponse response) throws IOException { + // Get the InputStream from a file or any other source + InputStream inputStream = request.getInputStream(); // Obtain the InputStream + + // Set the content type of the response + response.setContentType("application/octet-stream"); + + // Set the headers for file download + response.setHeader("Content-Disposition", "attachment; filename=\"filename.extension\""); + + // Get the OutputStream from the response + OutputStream outputStream = response.getOutputStream(); + + // Copy the data from InputStream to OutputStream + byte[] buffer = new byte[1024]; + int bytesRead; + while ((bytesRead = inputStream.read(buffer)) != -1) { + outputStream.write(buffer, 0, bytesRead); + } + + HtmlToPdfUtils.convertToPdf(inputStream,null,outputStream); + + // Close the streams + inputStream.close(); + outputStream.close(); + } + + /** + * 获取变更列表 + */ + /** + * 获取有效期 + */ + @RequestMapping("/changelist/{payId}") + @ResponseBody + public ResultUtil changelist(@PathVariable("payId") Long payId, ConsumeQuery consumeQuery) { + consumeQuery.setPayId(payId); + System.out.println("=======changelist==========="+consumeQuery); + List<CourseCounsum> courseCounsums = courseStuddentClient.queryCounsum(consumeQuery); + Map<String,List<CourseCounsum>> map = new HashMap<>(); + map.put("items",courseCounsums); + + return new ResultUtil<>(0,0,null,map,null); + } + /** * 跳转到首页 */ @@ -36,6 +121,22 @@ public String index() { return PREFIX + "tStudent.html"; } + + @RequestMapping("TTT") + public String index1() { + return PREFIX + "tStudentEditTTT.html"; + } + + @RequestMapping("openAddCoursePackage") + public String index3() { + return PREFIX + "classelct.html"; + } + + @RequestMapping("trans") + public String index2() { + return PREFIX + "trans.html"; + } + /** * 跳转到添加 @@ -45,17 +146,179 @@ return PREFIX + "tStudent_add.html"; } + @Resource + private CoursePackageClient coursePackageClient; + + + /** + * 获取有效期 + */ + @RequestMapping("/getBackList/{tStudentId}") + @ResponseBody + public ResultUtil getBackList(@PathVariable("tStudentId") Integer tStudentId) { + + List<MoneyBack> moneyBacks = courseStuddentClient.getMoneyBack(tStudentId); + Map<String, List<MoneyBack>> map = new HashMap<>(); + map.put("items",moneyBacks); + + return new ResultUtil<>(0,0,null,map,null); + } + /** + * 跳转到退款 + */ + @RequestMapping("/backmoney") + public String backmoney(Integer id,String ids,Model model) { + + TStudentDto tStudentDto = appUserClient.queryOneWebUser(id); + model.addAttribute("id", id); + model.addAttribute("ids", ids); + + TAppUser tAppUser = appUserClient.queryById(tStudentDto.getAppUserId()); + model.addAttribute("userName",tAppUser.getName()); + model.addAttribute("tStudentDto",tStudentDto); + + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String formattedDate = dateFormat.format(new Date()); + model.addAttribute("reDate", formattedDate); + + List<TCoursePackagePayment> coursePackagePayments = courseStuddentClient.queryByIds(ids); + + BigDecimal countAll = new BigDecimal(0); + + for (TCoursePackagePayment payment : coursePackagePayments){ + + //课包名称 + TCoursePackage tCoursePackage = coursePackageClient.queryById(payment.getCoursePackageId()); + payment.setName(tCoursePackage.getName()); + payment.setId(Long.valueOf(tCoursePackage.getId())); + + BigDecimal cashPayment = payment.getCashPayment(); + if (cashPayment==null){ + cashPayment = BigDecimal.ZERO; + } + Integer totalClassHours = payment.getTotalClassHours(); + BigDecimal result = new BigDecimal(0); + if (totalClassHours!=0) { + result = cashPayment.divide(BigDecimal.valueOf(totalClassHours), 2, RoundingMode.HALF_UP); + } + + + + //单价 + payment.setOnePrice(result); + + int has = payment.getTotalClassHours() - payment.getLaveClassHours(); + //剩余课时 + payment.setHasHours(has); + + + BigDecimal onePrice = payment.getOnePrice(); + Integer laveClassHours = payment.getLaveClassHours(); + BigDecimal result1 = onePrice.multiply(BigDecimal.valueOf(laveClassHours)); + //总价 + payment.setRestPrice(result1); + System.out.println("======="+result1); + countAll = countAll.add(result1); + + } + //中文总价 +// String allprice = BigDecimalToChineseAmountUtil.convertToChineseAmount(countAll); + String allprice = ChineseMoneyUtils.toChineseMoney(countAll); + model.addAttribute("countAll", countAll); + model.addAttribute("allprice", allprice); + model.addAttribute("coursePackagePayments", coursePackagePayments); + + model.addAttribute("index",1); + + System.out.println("=====ids========"+ids); + return PREFIX + "banckmoney.html"; + } /** * 跳转到修改 */ @RequestMapping("/tStudent_update/{tStudentId}") public String tStudentUpdate(@PathVariable("tStudentId") Integer tStudentId, Model model) { + + System.out.println("======>t"+tStudentId); + //查询学员信息 TStudentDto tStudentDto = itStudentService.listOne(tStudentId); - model.addAttribute("item",tStudentDto); + 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]); + } + } + + + //查询课时信息 + StudentClassInfo studentClassInfo = courseStuddentClient.getInfo(tStudentId); + model.addAttribute("studentClassInfo", studentClassInfo); + + //查询课程列表 + List<ClassListDto> classListDtos = courseStuddentClient.listClass(tStudentId); + model.addAttribute("classListDtos", classListDtos); + + + return PREFIX + "tStudentEdit_first.html"; + } + + @RequestMapping("/tStudent_info/{tStudentId}") + public String tStudentInfo(@PathVariable("tStudentId") Integer tStudentId, Model model) { + System.out.println("======>t"+tStudentId); + //查询学员信息 + TStudentDto tStudentDto = itStudentService.listOne(tStudentId); + 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]); + } + } + + + //查询课时信息 + StudentClassInfo studentClassInfo = courseStuddentClient.getInfo(tStudentId); + model.addAttribute("studentClassInfo", studentClassInfo); + + + System.out.println("=======controller====studentClassInfo==="+studentClassInfo); return PREFIX + "tStudentEdit.html"; } + + + + // + + /** + * 获取有效期 + */ + @RequestMapping("/getUseTime/{tStudentId}") + @ResponseBody + public ResultUtil getMax(@PathVariable("tStudentId") Integer tStudentId) { + Date useTime = courseStuddentClient.getUseTime(tStudentId); + Map<String, Date> map = new HashMap<>(); + map.put("useTime",useTime); + + return new ResultUtil<>(0,0,null,map,null); + } + /** * 获取列表 */ @@ -67,63 +330,276 @@ return itStudentService.listAll(search); } + /** + * 获取列表 + */ + @RequestMapping("/classList/{tStudentId}") + @ResponseBody + public ResultUtil listClass(@PathVariable("tStudentId") Integer tStudentId) { + List<ClassListDto> classListDtos = courseStuddentClient.listClass(tStudentId); + Map<String,List<ClassListDto>> map = new HashMap<>(); + map.put("items",classListDtos); + return new ResultUtil<>(0,0,null,map,null); + } + + + +//保存退款记录 @RequestMapping("/ttt") @ResponseBody - public ResultUtil list1(StudentSearch search) { + public ResultUtil list1(Integer id, String ids) { + InsertBackDto insertBackDto= new InsertBackDto(); + insertBackDto.setId(id); + insertBackDto.setIds(ids); + System.out.println("=====insertBackDto========"+insertBackDto); + courseStuddentClient.insertBack(insertBackDto); + + //取消排课 + courseStuddentClient.cancel(ids); System.out.println("============学员查询接口========="); return ResultUtil.success(); } -// /** -// * 获取一个用户信息 -// */ -// @RequestMapping("/list") -// @ResponseBody -// public TStudentDto listOne(Integer id) { -// -// System.out.println("============学员查询接口========="); -// return itStudentService.listOne(id); -// } + +//同意退款 + + @RequestMapping("/changeStatus/{id}") + @ResponseBody + public ResultUtil changeStatus(@PathVariable Integer id) { +// InsertBackDto insertBackDto= new InsertBackDto(); +// insertBackDto.setId(id); +//// insertBackDto.setIds(ids); +// System.out.println("=====insertBackDto========"+insertBackDto); + + courseStuddentClient.changeStatus(id); + courseStuddentClient.zeroClass(id); + + System.out.println("============学员查询接口========="); + return new ResultUtil<>(0,0,"同意成功",null,null); + } + + @RequestMapping("/noStatus/{id}") + @ResponseBody + public ResultUtil noStatus(@PathVariable Integer id) { +// InsertBackDto insertBackDto= new InsertBackDto(); +// insertBackDto.setId(id); +//// insertBackDto.setIds(ids); +// System.out.println("=====insertBackDto========"+insertBackDto); + + courseStuddentClient.changeStatus(id); + courseStuddentClient.backStausClass(id); +// courseStuddentClient.zeroClass(id); + + System.out.println("============学员查询接口========="); + return new ResultUtil<>(0,0,"同意成功",null,null); + } + + /** + * 学员修改 + */ + @RequestMapping(value = "/update") + @ResponseBody + + public ResultUtil update(@RequestBody TStudent tStudent) { + String lateralSurface = tStudent.getImage1()+";"+tStudent.getImage2()+";"+tStudent.getImage3(); + + System.out.println("=======lateralSurface======>?"+lateralSurface); + tStudent.setLateralSurface(lateralSurface); + System.out.println("学员体测表的值"+lateralSurface); + itStudentService.update(tStudent); +// appUserClient.updateStudent(tStudent); + return new ResultUtil(0,0,"编辑成功"); + } + + @Resource + private AppUserClient appUserClient; + /** + * 学员详情修改有效期 + */ + + @RequestMapping("/updateClassTime") + @ResponseBody + public ResultUtil updateClassTime(@RequestParam("date") String date, @RequestParam("id")Integer id, String passPic, String pleasePic ){ + + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date date1; + try { + date1 = dateFormat.parse(date); + } catch (ParseException e) { + // 处理日期转换异常 + e.printStackTrace(); + return ResultUtil.error("日期格式错误"); + } -// -// /** -// * 新增 -// */ -// @RequestMapping(value = "/add") -// @ResponseBody -// public Object add(TStudent tStudent) { -// tStudentService.insert(tStudent); -// return SUCCESS_TIP; -// } -// -// /** -// * 删除 -// */ -// @RequestMapping(value = "/delete") -// @ResponseBody -// public Object delete(@RequestParam Integer tStudentId) { -// tStudentService.deleteById(tStudentId); -// return SUCCESS_TIP; -// } -// -// /** -// * 修改 -// */ -// @RequestMapping(value = "/update") -// @ResponseBody -// public Object update(TStudent tStudent) { -// tStudentService.updateById(tStudent); -// return SUCCESS_TIP; -// } -// -// /** -// * 详情 -// */ -// @RequestMapping(value = "/detail/{tStudentId}") -// @ResponseBody -// public Object detail(@PathVariable("tStudentId") Integer tStudentId) { -// return tStudentService.selectById(tStudentId); -// } + updateTimeDto updateTimeDto =new updateTimeDto(date1,id); + System.out.println("======updateTimeDto=====>"+updateTimeDto); + courseStuddentClient.updateUseDate(updateTimeDto); + + + CreateHistoryDto historyDto = new CreateHistoryDto(); + historyDto.setPleasePic(pleasePic); + historyDto.setPassPic(passPic); + User user = UserExt.getUser(); + historyDto.setCreateBy(user.getId()); + historyDto.setStudentId(id); + +// appUserClient.createHistory(historyDto); + historyClient.createHistory(historyDto); + + + return new ResultUtil<>(0,0,"更改成功",null,null); + + } + + + /** + * 查询有效期记录 + */ + @RequestMapping(value = "/getHisory/{id}") + @ResponseBody + public ResultUtil getHisory(@PathVariable("id") Integer studentId) { + List<GetHistoryDto> getHistoryDtos = historyClient.getHisory(studentId); + Map<String,List<GetHistoryDto>> map = new HashMap<>(); + map.put("items",getHistoryDtos); + + return new ResultUtil(0,0,"编辑成功",map,""); + } + + /** + * 查询有效期记录 + */ + @RequestMapping(value = "/getUserSlect/{id}") + @ResponseBody + public ResultUtil getUserSlect(@PathVariable("id") Long payId) { + + List<SelectDto> selectDtos = courseStuddentClient.getSelect(payId); + Map<String,List<SelectDto>> map = new HashMap<>(); + map.put("options",selectDtos); + return new ResultUtil(0,0,"编辑成功",map,""); + } + + /** + * 学员转移课程 + */ + @RequestMapping(value = "/toClass") + @ResponseBody + public ResultUtil toClass( Long id,Integer toStudentId) { + ToClassDto toClassDto = new ToClassDto(); + toClassDto.setToStudentId(toStudentId); + toClassDto.setId(id); + + courseStuddentClient.toClass(toClassDto); + +// Map<String,List<SelectDto>> map = new HashMap<>(); +// map.put("options",selectDtos); + return new ResultUtil(0,0,"编辑成功",1,""); + } + + /** + * 赠送课时下拉框 + */ + @RequestMapping(value = "/giftSelect") + @ResponseBody + public ResultUtil giftSelect(GiftSearchDto giftSearchDto) { + + List<SelectDto> selectDtos = appUserClient.giftSelect(giftSearchDto); + + Map<String,List<SelectDto>> map = new HashMap<>(); + map.put("options",selectDtos); +// Map<String,List<SelectDto>> map = new HashMap<>(); +// map.put("options",selectDtos); + return new ResultUtil(0,0,"编辑成功",map,""); + } + + + //获取可报名假期课程下拉框 + @RequestMapping(value = "/getholi/{id}") + @ResponseBody + public ResultUtil giftSelect(@PathVariable("id") Integer id) { + List<SelectDto> selectDtos = courseStuddentClient.getGiftSelect(id); + + Map<String,List<SelectDto>> map = new HashMap<>(); + map.put("options",selectDtos); + + return new ResultUtil(0,0,"编辑成功",map,""); + } + + //获取可转换常规课程下拉框 + @RequestMapping(value = "/gettrans/{id}") + @ResponseBody + public ResultUtil gettrans(@PathVariable("id") Integer id) { + List<SelectDto> selectDtos = courseStuddentClient.getTransSelect(id); + + Map<String,List<SelectDto>> map = new HashMap<>(); + map.put("options",selectDtos); + + return new ResultUtil(0,0,"编辑成功",map,""); + } + //消耗时长可报名假期课程 + @RequestMapping(value = "/Toholi") + @ResponseBody + public ResultUtil Toholi(Integer id,String ids,Integer holiId,Integer classNum) { + + String[] stringArray = ids.split(","); + + ToHoliDto toHoliDto = new ToHoliDto(); + toHoliDto.setId(id); + toHoliDto.setIds(stringArray); + toHoliDto.setClassNum(classNum); + toHoliDto.setClassId(holiId); + + + String resultUtil = courseStuddentClient.toHoli(toHoliDto); + System.out.println("========ToHoliDto========="+resultUtil); + + + if (resultUtil==""||resultUtil==null){ + return new ResultUtil<>(0,0,"报名成功"); + }else{ + return new ResultUtil<>(0,0,"报名成功,以下学员剩余课时不足"+resultUtil);} + + } + + + @RequestMapping(value = "/ToTrans") + @ResponseBody + public ResultUtil Totans(Integer id,String ids,Integer holiId,Integer classNum) { + + String[] stringArray = ids.split(","); + + ToHoliDto toHoliDto = new ToHoliDto(); + toHoliDto.setId(id); + toHoliDto.setIds(stringArray); + toHoliDto.setClassNum(classNum); + toHoliDto.setClassId(holiId); + + + String resultUtil = courseStuddentClient.toTrans(toHoliDto); + System.out.println("========ToHoliDto========="+resultUtil); + + + if (resultUtil==""){ + return new ResultUtil<>(0,0,"报名成功"); + }else{ + return new ResultUtil<>(0,0,"报名成功,以下学员剩余课时不足"+resultUtil);} + } + + //赠课 + + @RequestMapping(value = "/giftTo") + @ResponseBody + public ResultUtil toClagiftToss( Long id,Integer toStudentId) { + ToClassDto toClassDto = new ToClassDto(); + toClassDto.setToStudentId(toStudentId); + toClassDto.setId(id); + + courseStuddentClient.toClass(toClassDto); + +// Map<String,List<SelectDto>> map = new HashMap<>(); +// map.put("options",selectDtos); + return new ResultUtil(0,0,"编辑成功",1,""); + } + } -- Gitblit v1.7.1