guohongjin
2024-05-01 1901fceb6ddaa56a57f3131191454554c3e77e68
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package cn.stylefeng.guns.modular.business.controller;
 
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
import cn.stylefeng.guns.modular.business.dto.request.MentalAnalysisSpecialTimeConfigDeleteRequest;
import cn.stylefeng.guns.modular.business.dto.request.MentalAnalysisSpecialTimeConfigEdit2Request;
import cn.stylefeng.guns.modular.business.entity.MentalAnalysisSpecialTimeConfig;
import cn.stylefeng.guns.modular.business.service.IMentalAnalysisSpecialTimeConfigService;
import cn.stylefeng.roses.kernel.rule.annotation.BusinessLog;
import cn.stylefeng.roses.kernel.rule.enums.ResBizTypeEnum;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import javax.annotation.Resource;
import java.util.List;
 
@RestController
@Api(tags = "性格分析师配置")
@ApiResource(name = "性格分析师配置", resBizType = ResBizTypeEnum.BUSINESS)
@RequestMapping("/business")
public class MentalAnalysisSpecialTimeConfigController {
 
    @Resource
    private IMentalAnalysisSpecialTimeConfigService mentalAnalysisSpecialTimeConfigService;
 
    @ApiOperation("特殊时段列表")
    @GetResource(name = "特殊时段列表", path = "/mentalAnalysisSpecialTimeConfigList")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "counsellingInfoId", value = "咨询师ID", dataTypeClass = Long.class, paramType = "query"),
            @ApiImplicitParam(name = "searchBeginTime", value = "开始时间(yyyy-MM-dd)", dataTypeClass = String.class, paramType = "query"),
            @ApiImplicitParam(name = "searchEndTime", value = "结束时间(yyyy-MM-dd)", dataTypeClass = String.class, paramType = "query"),
    })
    public ResponseData<List<MentalAnalysisSpecialTimeConfig>> mentalAnalysisSpecialTimeConfigList(Long counsellingInfoId, String searchBeginTime, String searchEndTime) {
        List<MentalAnalysisSpecialTimeConfig> list = mentalAnalysisSpecialTimeConfigService.list(
                Wrappers.<MentalAnalysisSpecialTimeConfig>lambdaQuery()
                        .eq(counsellingInfoId != null, MentalAnalysisSpecialTimeConfig::getCounsellingInfoId, counsellingInfoId)
                        .ge(StrUtil.isNotBlank(searchBeginTime), MentalAnalysisSpecialTimeConfig::getSpecialDay, searchBeginTime)
                        .le(StrUtil.isNotBlank(searchEndTime), MentalAnalysisSpecialTimeConfig::getSpecialDay, searchEndTime)
        );
        return new SuccessResponseData<>(list);
    }
 
    @ApiOperation("特殊时段修改")
    @PostResource(name = "特殊时段修改", path = "/mentalAnalysisSpecialTimeConfigEdit")
    @BusinessLog
    public ResponseData<?> mentalAnalysisSpecialTimeConfigEdit(@RequestBody MentalAnalysisSpecialTimeConfigEdit2Request req) {
        // 特殊时段修改
        return mentalAnalysisSpecialTimeConfigService.editSpecialTimeConfig(req);
    }
 
    @ApiOperation("特殊时段删除")
    @PostResource(name = "特殊时段删除", path = "/mentalAnalysisSpecialTimeConfigDelete")
    @BusinessLog
    public ResponseData<?> mentalAnalysisSpecialTimeConfigDelete(@RequestBody MentalAnalysisSpecialTimeConfigDeleteRequest req) {
        Assert.notNull(req.getCounsellingInfoId(), "性格分析师ID不能为空");
        // 清除当天的设置
        boolean remove = mentalAnalysisSpecialTimeConfigService.remove(
                Wrappers.<MentalAnalysisSpecialTimeConfig>lambdaQuery()
                        .eq(MentalAnalysisSpecialTimeConfig::getCounsellingInfoId, req.getCounsellingInfoId())
                        .eq(StrUtil.isNotBlank(req.getSpecialDay()), MentalAnalysisSpecialTimeConfig::getSpecialDay, req.getSpecialDay())
        );
        return new SuccessResponseData<>(remove);
    }
 
}