123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- package com.ylx.web.controller.massage;
- import cn.hutool.core.collection.CollectionUtil;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.ylx.common.annotation.Log;
- import com.ylx.common.core.domain.R;
- import com.ylx.common.enums.BusinessType;
- import com.ylx.common.exception.ServiceException;
- import com.ylx.massage.domain.THighlights;
- import com.ylx.massage.domain.TJs;
- import com.ylx.massage.domain.TJsDay;
- import com.ylx.massage.domain.TXiangmu;
- import com.ylx.massage.domain.vo.TXiangmuDetailVo;
- import com.ylx.massage.mapper.TJsDayMapper;
- import com.ylx.massage.service.THighlightsService;
- import com.ylx.massage.service.TJsService;
- import com.ylx.massage.service.TXiangmuService;
- import com.ylx.massage.utils.DateTimeUtils;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.web.bind.annotation.*;
- import javax.annotation.Resource;
- import java.util.Date;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * Controller
- *
- * @author ylx
- * @date 2024-03-22
- */
- @RestController
- @RequestMapping("api/xiangmu/v1")
- @Slf4j
- @Api(tags = {"项目管理"})
- public class TXiangmuController {
- @Resource
- private TXiangmuService xiangmuService;
- @Resource
- private THighlightsService highlightsService;
- @Resource
- private TJsDayMapper jsDayMapper;
- @Resource
- private TJsService jsService;
- /**
- * 获取所有项目
- *
- * @return
- */
- @RequestMapping(value = "wx/getAll", method = RequestMethod.POST)
- @ApiOperation("获取所有项目")
- public R<List<TXiangmu>> geTXiangmu(@RequestBody TXiangmu tXiangmu) {
- LambdaQueryWrapper<TXiangmu> objectLambdaQueryWrapper = new LambdaQueryWrapper<>();
- objectLambdaQueryWrapper.eq(StringUtils.isNotBlank(tXiangmu.getcId()), TXiangmu::getcId, tXiangmu.getcId());
- if (StringUtils.isNotBlank(tXiangmu.getcLdList())) {
- objectLambdaQueryWrapper.apply("FIND_IN_SET({0}, c_ld_list)", tXiangmu.getcLdList());
- }
- objectLambdaQueryWrapper.orderByAsc(TXiangmu::getdPrice);
- List<TXiangmu> list = xiangmuService.list(objectLambdaQueryWrapper);
- return R.ok(list);
- }
- @RequestMapping(value = "wx/recommend", method = RequestMethod.GET)
- @ApiOperation("推荐技师")
- public List<TJs> recommend(@RequestParam String deptName) {
- //推荐技师
- List<TJsDay> tJsDays = jsDayMapper.selectRanking(deptName, null,
- DateTimeUtils.formatDate(DateTimeUtils.addMonths(new Date(), -1)), DateTimeUtils.formatDate(new Date()));
- //查技师
- if (CollectionUtil.isEmpty(tJsDays)) {
- return null;
- }
- List<String> jsId = tJsDays.stream().map(TJsDay::getJsId).collect(Collectors.toList());
- LambdaQueryWrapper<TJs> jsLambdaQueryWrapper = new LambdaQueryWrapper<>();
- jsLambdaQueryWrapper.in(CollectionUtil.isNotEmpty(jsId), TJs::getId, jsId);
- return jsService.list(jsLambdaQueryWrapper);
- }
- /**
- * 添加或者更新项目
- *
- * @param xiangmu
- * @return
- */
- @Log(title = "项目管理", businessType = BusinessType.INSERT)
- @RequestMapping(value = "/saveOrUpdate", method = RequestMethod.POST)
- @ApiOperation("添加或者更新项目")
- public R saveOrUpdate(@RequestBody TXiangmu xiangmu) {
- try {
- return R.ok(xiangmuService.addOrUpdate(xiangmu));
- } catch (ServiceException s) {
- log.error(s.toString());
- return R.fail(s.getMessage());
- } catch (Exception e) {
- log.error(e.toString());
- return R.fail("系统异常");
- }
- }
- /**
- * 分页查询数据
- */
- @RequestMapping(value = "/select", method = RequestMethod.GET)
- @ApiOperation("分页查询数据")
- public R<Page<TXiangmu>> selecTXiangmu(Page<TXiangmu> page, TXiangmu tXiangmu) {
- LambdaQueryWrapper<TXiangmu> objectLambdaQueryWrapper = new LambdaQueryWrapper<>();
- objectLambdaQueryWrapper.like(StringUtils.isNotBlank(tXiangmu.getcTitle()), TXiangmu::getcTitle, tXiangmu.getcTitle()).
- orderByDesc(TXiangmu::getDtCreateTime);
- // 获取查询返回结果
- Page<TXiangmu> pageSelect = xiangmuService.page(page, objectLambdaQueryWrapper);
- return R.ok(pageSelect);
- }
- /**
- * 分页查询数据
- */
- @ApiOperation("根据id查询项目")
- @RequestMapping(value = "/getByid", method = RequestMethod.POST)
- public R getById(@RequestBody TXiangmu xiangmu) {
- TXiangmuDetailVo details = xiangmuService.details(xiangmu);
- return R.ok(details);
- }
- /**
- * 删除项目
- *
- * @param xiangmu
- * @return
- */
- @Log(title = "项目管理", businessType = BusinessType.DELETE)
- @RequestMapping(value = "/del", method = RequestMethod.POST)
- @ApiOperation("删除项目")
- public R del(@RequestBody TXiangmu xiangmu) {
- return R.ok(xiangmuService.removeById(xiangmu));
- }
- /**
- * 项目两点
- */
- @ApiOperation("项目亮点")
- @RequestMapping(value = "/highlights", method = RequestMethod.GET)
- public R<List<THighlights>> getHighlights() {
- return R.ok(highlightsService.list());
- }
- }
|