package com.dsh.guns.modular.system.controller.code; import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.feignClient.account.AppUserClient; import com.dsh.course.feignClient.account.CityClient; import com.dsh.course.feignClient.account.FinanceClient; import com.dsh.course.feignClient.account.model.*; import com.dsh.course.feignClient.competition.CompetitionClient; import com.dsh.course.feignClient.course.CancelledClassesClient; import com.dsh.course.mapper.UserMapper; import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.core.base.tips.SuccessTip; import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.core.util.ToolUtil; import com.dsh.guns.modular.system.model.*; import com.dsh.guns.modular.system.service.*; import org.springframework.beans.factory.annotation.Autowired; 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 javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashSet; import java.util.List; /** * 财务控制器 * */ @Controller @RequestMapping("/finance") public class TFinanceController extends BaseController { private String PREFIX = "/system/finance/"; @Autowired private AppUserClient appUserClient; @Autowired private ICityService cityService; @Autowired private IRegionService regionService; @Autowired private FinanceClient financeClient; @Autowired private CancelledClassesClient cancelledClassesClient; /** * 跳转到充值记录页面 */ @RequestMapping("/rechargeRecords") public String index(Model model) { List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); model.addAttribute("list",list); Integer objectType = UserExt.getUser().getObjectType(); Integer objectId = UserExt.getUser().getObjectId(); model.addAttribute("userType",objectType); String roleid = UserExt.getUser().getRoleid(); model.addAttribute("objectType",objectType); return PREFIX + "RechargeRecords.html"; } /** * 获取充值记录 */ @RequestMapping(value = "/listAll") @ResponseBody public List list(String province, String city, String name, String phone,String time,Integer type) { RechargeRecordsQuery coachQuery = new RechargeRecordsQuery(); Region provinceCode = regionService.getOne(new QueryWrapper().eq("code", province)); Region cityCode = regionService.getOne(new QueryWrapper().eq("code", city)); if (provinceCode!=null){ coachQuery.setProvince(provinceCode.getName()); }else{ coachQuery.setProvince(province); } if (cityCode!=null){ coachQuery.setCity(cityCode.getName()); }else{ coachQuery.setCity(city); } coachQuery.setName(name); coachQuery.setPhone(phone); coachQuery.setTime(time); coachQuery.setType(type); return financeClient.rechargeList(coachQuery); } /** * 获取充值记录 */ @RequestMapping(value = "/getAmount") @ResponseBody public BigDecimal getAmount(String province, String city, String name, String phone, String time, Integer type) { RechargeRecordsQuery coachQuery = new RechargeRecordsQuery(); coachQuery.setProvince(province); coachQuery.setCity(city); coachQuery.setName(name); coachQuery.setPhone(phone); coachQuery.setTime(time); coachQuery.setType(type); List rechargeRecordsVOS = financeClient.rechargeList(coachQuery); BigDecimal total = new BigDecimal("0.00"); BigDecimal result = new BigDecimal("0.00"); for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) { BigDecimal amount = rechargeRecordsVO.getAmount(); total = total.add(amount); // 将新的值赋给total result = result.add(amount); // 将新的值赋给result } return total; } /** * 跳转到消课记录页面 */ @RequestMapping("/cancelledClasses") public String cancelledClasses(Model model) { Integer objectType = UserExt.getUser().getObjectType(); model.addAttribute("objectType",objectType); return PREFIX + "CancelledClasses.html"; } /** * 获取消课记录 */ @RequestMapping(value = "/cancelListAll") @ResponseBody public List cancelListAll(String beginTime, String studentName, String courseName, String coachName) { CancelClassesQuery coachQuery = new CancelClassesQuery(); coachQuery.setStudentName(studentName); coachQuery.setCoachName(coachName); coachQuery.setCourseName(courseName); coachQuery.setTime(beginTime); return cancelledClassesClient.listAll(coachQuery); } }