package com.stylefeng.guns.modular.code.controller;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.stylefeng.guns.modular.system.dto.FitnessPositionQuery;
|
import com.stylefeng.guns.modular.system.model.*;
|
import com.stylefeng.guns.modular.system.model.Package;
|
import com.stylefeng.guns.modular.system.service.*;
|
import com.stylefeng.guns.modular.system.util.Page;
|
import com.stylefeng.guns.modular.system.util.ResultUtil;
|
import com.stylefeng.guns.modular.system.vo.*;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.bouncycastle.util.Pack;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.util.StringUtils;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
|
/**
|
* 优惠券控制器
|
*/
|
@Controller
|
@RequestMapping("/base/fitness")
|
public class FitnessController {
|
|
@Autowired
|
private IDeptService deptService;
|
@Autowired
|
private IPageService pageService;
|
@Autowired
|
private IProtocolService protocolService;
|
@Autowired
|
private IUseGuideService useGuideService;
|
@Autowired
|
private ISysSetService sysSetService;
|
@Autowired
|
private IRedPackageService redPackageService;
|
@Autowired
|
private IAppUserService appUserService;
|
@Autowired
|
private ICouponService couponService;
|
@Autowired
|
private IFitnessTypeService fitnessTypeService;
|
@Autowired
|
private IFitnessPositionService fitnessPositionService;
|
@Autowired
|
private IPackageService packageService;
|
@ResponseBody
|
@PostMapping("/fitnessType")
|
@ApiOperation(value = "列表查询", tags = {"健身类型管理"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "类型名称", name = "typeName"),
|
@ApiImplicitParam(value = "页码,首页1", name = "pageNum", dataType = "int"),
|
@ApiImplicitParam(value = "页条数", name = "pageSize", dataType = "int"),
|
})
|
public ResultUtil<PageInfo<FitnessType>> fitnessType(String name, Integer pageNum, Integer pageSize) {
|
EntityWrapper<FitnessType> wrapper = new EntityWrapper<>();
|
List<String> strings = new ArrayList<>();
|
strings.add("id");
|
wrapper.orderDesc(strings);
|
|
if (StringUtils.hasLength(name)){
|
wrapper.like("name",name);
|
}
|
wrapper.eq("isDelete",0);
|
List<FitnessType> res = fitnessTypeService.selectList(wrapper);
|
// PageHelper.startPage(pageNum,pageSize);
|
PageInfo<FitnessType> info=new PageInfo<>(res);
|
return ResultUtil.success(info);
|
}
|
|
@ResponseBody
|
@PostMapping("/addOrUpdateType")
|
@ApiOperation(value = "健身类型添加/编辑", tags = {"健身类型管理"})
|
|
public ResultUtil addCoupon(FitnessType fitnessType) {
|
if (fitnessType.getId()==null){
|
// 添加
|
fitnessTypeService.insert(fitnessType);
|
return ResultUtil.success("添加成功");
|
}else {
|
// 编辑
|
fitnessTypeService.updateById(fitnessType);
|
return ResultUtil.success("编辑成功");
|
}
|
}
|
@ResponseBody
|
@PostMapping("/packageList")
|
@ApiOperation(value = "列表查询", tags = {"健身套餐管理"})
|
public ResultUtil<PageInfo<PackageVO>> packageList (FitnessPositionQuery req) {
|
|
List<PackageVO> res = packageService.packageList(req);
|
// PageHelper.startPage(req.getPageNum(),req.getPageSize());
|
PageInfo<PackageVO> info=new PageInfo<>(res);
|
return ResultUtil.success(info);
|
}
|
@ResponseBody
|
@PostMapping("/addOrUpdatePackage")
|
@ApiOperation(value = "健身套餐添加/编辑", tags = {"健身套餐管理"})
|
public ResultUtil addPackage(Package dto) {
|
if (dto.getId()==null){
|
// 添加
|
packageService.insert(dto);
|
return ResultUtil.success("添加成功");
|
}else {
|
// 编辑
|
packageService.updateById(dto);
|
return ResultUtil.success("编辑成功");
|
}
|
}
|
@ResponseBody
|
@PostMapping("/packageDetail")
|
@ApiOperation(value = "健身套餐查看详情", tags = {"健身套餐管理"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "套餐", name = "id"),
|
})
|
public ResultUtil<PackageDetailVO> packageDetail(Integer id) {
|
Package aPackage = packageService.selectById(id);
|
PackageDetailVO packageDetailVO = new PackageDetailVO();
|
List<FitnessPositionVO> fitnessPositionVOS = new ArrayList<>();
|
packageDetailVO.setId(id);
|
packageDetailVO.setName(aPackage.getName());
|
packageDetailVO.setTotal(aPackage.getTotal());
|
packageDetailVO.setAmount(aPackage.getAmount());
|
packageDetailVO.setPrice(aPackage.getPrice());
|
if (StringUtils.hasLength(aPackage.getPositions())){
|
// 遍历部位ids
|
for (String s : aPackage.getPositions().split(",")) {
|
FitnessPositionVO fitnessPositionVO = new FitnessPositionVO();
|
// 查询部位
|
FitnessPosition fitnessPosition = fitnessPositionService.selectById(Integer.valueOf(s));
|
if (fitnessPosition.getIsDelete() == 1){
|
continue;
|
}
|
if (fitnessPosition!=null){
|
fitnessPositionVO.setName(fitnessPosition.getName());
|
// 查询部位名称
|
FitnessType fitnessType = fitnessTypeService.selectById(fitnessPosition.getTypeId());
|
if (fitnessType.getIsDelete() == 1){
|
continue;
|
}
|
if (fitnessType!=null){
|
fitnessPositionVO.setTypeName(fitnessType.getName());
|
}
|
fitnessPositionVO.setAmount(fitnessPosition.getAmount());
|
}
|
fitnessPositionVO.setId(fitnessPosition.getId());
|
fitnessPositionVOS.add(fitnessPositionVO);
|
}
|
}
|
packageDetailVO.setTypes(fitnessPositionVOS);
|
return ResultUtil.success(packageDetailVO);
|
}
|
@ResponseBody
|
@PostMapping("/selectPosition")
|
@ApiOperation(value = "选择部位", tags = {"健身套餐管理"})
|
public ResultUtil<PageInfo<FitnessPositionVO> > selectPosition(FitnessPositionQuery req) {
|
List<FitnessPositionVO> res = packageService.selectPosition(req);
|
// PageHelper.startPage(req.getPageNum(),req.getPageSize());
|
PageInfo<FitnessPositionVO> info=new PageInfo<>(res);
|
return ResultUtil.success(info);
|
}
|
|
@ResponseBody
|
@PostMapping("/fitnessPosition")
|
@ApiOperation(value = "列表查询", tags = {"健身部位管理"})
|
public ResultUtil<PageInfo<FitnessPositionVO>> fitnessPosition(FitnessPositionQuery req) {
|
List<FitnessPositionVO> res = fitnessPositionService.fitnessPosition(req);
|
// PageHelper.startPage(req.getPageNum(),req.getPageSize());
|
PageInfo<FitnessPositionVO> info=new PageInfo<>(res);
|
return ResultUtil.success(info);
|
}
|
@ResponseBody
|
@PostMapping("/addOrUpdatePosition")
|
@ApiOperation(value = "健身部位添加/编辑", tags = {"健身部位管理"})
|
public ResultUtil addCoupon(FitnessPosition fitnessPosition) {
|
|
if (fitnessPosition.getId()==null){
|
if (fitnessPosition.getName().equals("全身")){
|
// 勾选的全身 判断这个类型是否已经有名为全身的部位了
|
int size = fitnessPositionService.selectList(new EntityWrapper<FitnessPosition>()
|
.eq("name", "全身")
|
.eq("typeId", fitnessPosition.getTypeId())
|
.eq("isDelete", 0)).size();
|
if (size>0){
|
return ResultUtil.error("添加失败,所选类型已有部位名称为全身");
|
}
|
}
|
// 添加
|
fitnessPositionService.insert(fitnessPosition);
|
return ResultUtil.success("添加成功");
|
}else {
|
if (fitnessPosition.selectById(fitnessPosition.getId()).getTypeId().equals(fitnessPosition.getTypeId())){
|
// 相同则没有改类型
|
}else{
|
// 需要把部位id是这个的课程的类型id全部修改
|
List<Course> positionId = courseService.selectList(new EntityWrapper<Course>()
|
.eq("positionId", fitnessPosition.getId()));
|
for (Course course : positionId) {
|
course.setTypeId(fitnessPosition.getTypeId());
|
courseService.updateById(course);
|
}
|
}
|
// 编辑
|
if (fitnessPosition.getName().equals("全身")){
|
// 勾选的全身 判断这个类型是否已经有名为全身的部位了
|
int size = fitnessPositionService.selectList(new EntityWrapper<FitnessPosition>()
|
.eq("name", "全身")
|
.ne("id",fitnessPosition.getId())
|
.eq("typeId", fitnessPosition.getTypeId())
|
.eq("isDelete", 0)).size();
|
if (size>0){
|
return ResultUtil.error("添加失败,所选类型已有部位名称为全身");
|
}
|
}
|
fitnessPositionService.updateById(fitnessPosition);
|
|
return ResultUtil.success("编辑成功");
|
}
|
}
|
@Autowired
|
private ICourseService courseService;
|
@ResponseBody
|
@PostMapping("/deletePosition")
|
@ApiOperation(value = "健身部位删除", tags = {"健身部位管理"})
|
public ResultUtil deletePosition(Integer id) {
|
// 查询有没有课程使用了这个部位
|
List<Course> courses = courseService.selectList(new EntityWrapper<Course>()
|
.eq("positionId", id)
|
.ne("state", 3));
|
if (courses.size()>0){
|
return ResultUtil.error("当前部位被使用,无法删除");
|
}
|
List<Package> packages = packageService.selectList(new EntityWrapper<Package>()
|
.ne("state", 3));
|
if (packages.size()>0){
|
for (Package aPackage : packages) {
|
if (aPackage.getPositions().contains(""+id)){
|
return ResultUtil.error("当前部位被使用,无法删除");
|
}
|
}
|
}
|
|
FitnessPosition fitnessPosition = fitnessPositionService.selectById(id);
|
fitnessPosition.setIsDelete(1);
|
fitnessPositionService.updateById(fitnessPosition);
|
return ResultUtil.success("删除成功");
|
|
}
|
@ResponseBody
|
@PostMapping("/deleteType")
|
@ApiOperation(value = "健身类型删除", tags = {"健身类型管理"})
|
public ResultUtil deleteType(Integer id) {
|
// 查询有没有部位使用了该类型
|
List<FitnessPosition> positions = fitnessPositionService.selectList(new EntityWrapper<FitnessPosition>()
|
.eq("typeId", id)
|
.eq("isDelete", 0));
|
if ( positions.size()>0){
|
return ResultUtil.error("当前类型被使用,无法删除");
|
}
|
FitnessType fitnessPosition = fitnessTypeService.selectById(id);
|
fitnessPosition.setIsDelete(1);
|
fitnessTypeService.updateById(fitnessPosition);
|
return ResultUtil.success("删除成功");
|
|
}
|
@ResponseBody
|
@PostMapping("/deletePackage")
|
@ApiOperation(value = "健身套餐状态修改 1上架2下架3删除", tags = {"健身套餐管理"})
|
public ResultUtil deletePackage(Integer id,Integer state) {
|
Package fitnessPosition = packageService.selectById(id);
|
fitnessPosition.setState(state);
|
packageService.updateById(fitnessPosition);
|
return ResultUtil.success("删除成功");
|
}
|
|
}
|