liujie
2025-12-09 9a1593ad184cd28282bf46f1acb259138271766e
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package com.ruoyi.web.controller.api;
 
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.THtmlConfig;
import com.ruoyi.system.model.TPhysicalGoods;
import com.ruoyi.system.query.BigGiftPackageQuery;
import com.ruoyi.system.service.THtmlConfigService;
import com.ruoyi.system.service.TPhysicalGoodsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
 
import java.util.Objects;
 
import static net.sf.jsqlparser.parser.feature.Feature.update;
 
/**
 * <p>
 * 实物商品 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-12-08
 */
@RestController
@RequestMapping("/t-physical-goods")
@Api(tags = "(嘉视达)实物商品")
public class TPhysicalGoodsController {
 
    private final TPhysicalGoodsService tPhysicalGoodsService;
    private final TokenService tokenService;
    private final THtmlConfigService tHtmlConfigService;
 
    public TPhysicalGoodsController(TPhysicalGoodsService tPhysicalGoodsService, TokenService tokenService, THtmlConfigService tHtmlConfigService) {
        this.tPhysicalGoodsService = tPhysicalGoodsService;
        this.tokenService = tokenService;
        this.tHtmlConfigService = tHtmlConfigService;
 
    }
 
    @ApiOperation(value = "实物商品分页列表")
    @PostMapping(value = "/pageList")
    public R<Page<TPhysicalGoods>> pageList(@RequestBody BigGiftPackageQuery query) {
        Page<TPhysicalGoods> tPhysicalGoodsPage = new Page<>(query.getPageNum(), query.getPageSize());
        LambdaQueryWrapper<TPhysicalGoods> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(TPhysicalGoods::getStatus,1);
        wrapper.like(Objects.nonNull(query.getName()), TPhysicalGoods::getName, query.getName());
        wrapper.orderByDesc(TPhysicalGoods::getCreateTime);
        Page<TPhysicalGoods> pageInfo = tPhysicalGoodsService.page(tPhysicalGoodsPage, wrapper);
        return R.ok(pageInfo);
    }
 
    @ApiOperation(value = "实物商品详情")
    @GetMapping(value = "/detail/{id}")
    public R<TPhysicalGoods> detail(@PathVariable Integer id ) {
        TPhysicalGoods tPhysicalGoods = tPhysicalGoodsService.getById(id);
        return R.ok(tPhysicalGoods);
    }
 
    @ApiOperation(value = "实物商品添加")
    @PostMapping(value = "/add")
    @Log(title = "实物商品-添加", businessType = BusinessType.INSERT)
    public R<String> add(@RequestBody TPhysicalGoods tPhysicalGoods) {
        LoginUser loginUser = tokenService.getLoginUser();
        tPhysicalGoods.setCreateUserId(loginUser.getUserId());
        boolean save = tPhysicalGoodsService.save(tPhysicalGoods);
        return save ? R.ok() : R.fail();
    }
 
    @ApiOperation(value = "实物商品修改")
    @PostMapping(value = "/update")
    @Log(title = "实物商品-修改", businessType = BusinessType.UPDATE)
    public R<String> update(@RequestBody TPhysicalGoods tPhysicalGoods) {
        LoginUser loginUser = tokenService.getLoginUser();
        tPhysicalGoods.setUpdateUserId(loginUser.getUserId());
        boolean update = tPhysicalGoodsService.updateById(tPhysicalGoods);
        return update ? R.ok() : R.fail();
    }
 
    @ApiOperation(value = "实物商品删除")
    @DeleteMapping(value = "/delete/{id}")
    @Log(title = "实物商品-删除", businessType = BusinessType.DELETE)
    public R<String> delete(@PathVariable Integer id ) {
        TPhysicalGoods physicalGoods = tPhysicalGoodsService.getById(id);
        physicalGoods.setStatus(0);
        physicalGoods.setUpdateUserId(tokenService.getLoginUser().getUserId());
        boolean remove = tPhysicalGoodsService.updateById(physicalGoods);
        return remove ? R.ok() : R.fail();
    }
 
    @ApiOperation(value = "实物商品是否展示(0不展示 1展示)")
    @PostMapping(value = "/isShow")
    @Log(title = "实物商品-展示", businessType = BusinessType.UPDATE)
    public R<?> isShow(@RequestParam String isShow) {
        THtmlConfig config = tHtmlConfigService.getById(8);
        config.setContent(isShow);
        boolean update = tHtmlConfigService.updateById(config);
        return update ? R.ok() : R.fail();
    }
 
 
}