package com.dsh.guns.modular.system.controller.code; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.dsh.course.feignClient.account.AppUserClient; import com.dsh.course.feignClient.account.CityManagerClient; import com.dsh.course.feignClient.account.model.CityManager; import com.dsh.course.feignClient.account.model.Coach; import com.dsh.course.feignClient.account.model.TAppUser; import com.dsh.course.feignClient.course.*; import com.dsh.course.feignClient.course.model.*; import com.dsh.course.feignClient.other.BannerClient; import com.dsh.course.feignClient.other.SiteClient; import com.dsh.course.feignClient.other.StoreClient; import com.dsh.course.feignClient.other.model.Banner; import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.modular.system.model.*; import com.dsh.guns.modular.system.model.TCoursePackagePayment; import com.dsh.guns.modular.system.service.ICityService; import com.dsh.guns.modular.system.service.ICoursePackageService; import com.dsh.guns.modular.system.service.IStoreService; import com.dsh.guns.modular.system.util.ResultUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.*; /** * 广告管理控制器 * */ @Controller @RequestMapping("/cpPayment") public class CoursePackagePaymentController extends BaseController { private String PREFIX = "/system/cpPayment/"; @Autowired private BannerClient bannerClient; @Autowired private IStoreService storeService; @Autowired private ICityService cityService; @Autowired private CoursePackageTypeClient coursePackageTypeClient; @Autowired private CoursePackagePaymentClient coursePackagePaymentClient; @Autowired private AppUserClient appUserClient; @Autowired private StoreClient storeClient; @Autowired private CoursePackageDiscountClient coursePackageDiscountClient; @Autowired private CoursePackagePaymentConfigClient coursePackagePaymentConfigClient; @Autowired private CoursePackageClient coursePackageClient; /** * 跳转到购课记录页面 */ @RequestMapping("") public String index(Model model) { List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); List coursePackage = coursePackageTypeClient.queryAllCoursePackageType(); model.addAttribute("coursePackage",coursePackage); model.addAttribute("list",list); Integer roleType = UserExt.getUser().getObjectType(); model.addAttribute("roleType",roleType); return PREFIX + "cpPayment.html"; } /** * 跳转到广告添加页面 */ @RequestMapping("/add") public String operator(Model model) { List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); model.addAttribute("list",list); Integer roleType = UserExt.getUser().getObjectType(); model.addAttribute("roleType",roleType); return PREFIX + "cpPayment_add.html"; } /** * 添加购课记录 */ @ResponseBody @PostMapping(value = "/addCoursePackagePayment/{id}") public ResultUtil addCoach(@RequestBody TCoursePackagePayment tCoursePackagePayment, @PathVariable("id")Integer id) { Integer objectId = UserExt.getUser().getObjectId(); Integer objectType = UserExt.getUser().getObjectType(); String name = UserExt.getUser().getName(); tCoursePackagePayment.setPayUserId(objectId); // 获取课包id Integer coursePackageId = tCoursePackagePayment.getCoursePackageId(); List list = coursePackageDiscountClient.queryByCoursePackageId(coursePackageId); TCoursePackageDiscount tCoursePackageDiscount1 = list.get(0); // 获取当前课包价格配置 CoursePackagePaymentConfig coursePackagePaymentConfigs = coursePackagePaymentConfigClient.getById(id); Integer coursePackageId1 = tCoursePackagePayment.getCoursePackageId(); TCoursePackage tCoursePackage = coursePackageClient.queryById(coursePackageId1); Double cashPayment = coursePackagePaymentConfigs.getCashPayment(); String c1 = Double.toString(cashPayment); BigDecimal bigDecimal = new BigDecimal(c1); tCoursePackagePayment.setCashPayment(bigDecimal); Date currentDate = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(currentDate); calendar.add(Calendar.DAY_OF_MONTH, 20); Date updatedDate = calendar.getTime(); tCoursePackagePayment.setOriginalPrice(cashPayment); tCoursePackagePayment.setUseTime(updatedDate); tCoursePackagePayment.setPlayPaiCoin(coursePackagePaymentConfigs.getPlayPaiCoin()); coursePackagePaymentClient.addCoursePackagePayment(tCoursePackagePayment); return ResultUtil.success("添加成功"); } /** * 获取列表 */ @RequestMapping(value = "/listAll") @ResponseBody public List listAll(CoursePackagePaymentQuery query) { return coursePackagePaymentClient.listAll(query); } /** * 手动支付 */ @RequestMapping(value = "/pay") @ResponseBody public Object pay(@RequestBody CoursePackagePayDTO dto) { String name = UserExt.getUser().getName(); dto.setPayUserName(name); dto.setUserId(UserExt.getUser().getId()); coursePackagePaymentClient.changeState(dto); return ResultUtil.success(); } /** * 根据用户电话 获取用户 */ @RequestMapping(value = "/getUserByPhone/{phone}") @ResponseBody public TAppUser getUserByPhone(@PathVariable("phone") String phone) { return appUserClient.getAppUserByPhone(phone); } /** * 根据用户id 获取用户电话 */ @RequestMapping(value = "/queryStudentList") @ResponseBody public List queryStudentList(Integer appUserId) { return appUserClient.queryStudentList(appUserId); } /** * 根据市获取门店 */ @RequestMapping(value = "/getStore") @ResponseBody public List getStore(String city) { return storeClient.getStore(city); } /** * 根据课包id 获取课时规格 */ @RequestMapping(value = "/getCoursePackageConfig") @ResponseBody public List getCoursePackageConfig(Integer id) { return coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(id); } }