吉安感知网项目-后端
linwei
7 days ago 3ff3de60e9274da9601fba4d2165fe46be4d7f07
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package org.sxkj.gd.workorder.controller;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.secure.utils.AuthUtil;
import org.springframework.web.bind.annotation.*;
import org.sxkj.common.model.ResponseResult;
import org.sxkj.gd.workorder.entity.GdOperationalRevenue;
import org.sxkj.gd.workorder.service.GdOperationalRevenueService;
import org.sxkj.gd.workorder.vo.GdOperationalRevenueVo;
 
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
 
/**
 * 运营收益控制器
 */
@Api(tags = "运营收益管理")
@RestController
@AllArgsConstructor
@RequestMapping("/revenue")
public class GdOperationalRevenueController {
 
    private final GdOperationalRevenueService operationalRevenueService;
 
    /**
     * 分页查询运营收益
     */
    @ApiOperation("分页查询运营收益")
    @GetMapping("/page")
    public ResponseResult page(
        @ApiParam("页码") @RequestParam(value = "current", defaultValue = "1") long current,
        @ApiParam("每页大小") @RequestParam(value = "size", defaultValue = "10") long size,
        @ApiParam("营业收入") @RequestParam(value = "operatingIncome", required = false) String operatingIncome,
        @ApiParam("综合总成本费用") @RequestParam(value = "totalCost", required = false) String totalCost,
        @ApiParam("净利润") @RequestParam(value = "netProfit", required = false) String netProfit,
        @ApiParam("财务内部收益率") @RequestParam(value = "financialIrr", required = false) String financialIrr,
        @ApiParam("市场空间") @RequestParam(value = "marketSpace", required = false) String marketSpace,
        @ApiParam("收益预测") @RequestParam(value = "earnForecast", required = false) String earnForecast,
        @ApiParam("创建人") @RequestParam(value = "nickName", required = false) String nickName
    ) {
        Page<GdOperationalRevenue> page = new Page<>(current, size);
        IPage<GdOperationalRevenue> result = operationalRevenueService.selectPage(page, operatingIncome, totalCost, netProfit, financialIrr, marketSpace, earnForecast, nickName);
 
        // 转换为Vo分页
        IPage<GdOperationalRevenueVo> voPage = result.convert(operationalRevenueService::convertToVo);
        return ResponseResult.success(voPage);
    }
 
    /**
     * 查询所有运营收益
     */
    @ApiOperation("查询所有运营收益")
    @GetMapping("/list")
    public ResponseResult list() {
        List<GdOperationalRevenue> list = operationalRevenueService.list();
 
        // 转换为Vo列表
        List<GdOperationalRevenueVo> voList = list.stream()
            .map(operationalRevenueService::convertToVo)
            .collect(Collectors.toList());
        return ResponseResult.success(voList);
    }
 
 
 
    /**
     * 根据ID查询运营收益
     */
    @ApiOperation("根据ID查询运营收益")
    @GetMapping("selectById/{id}")
    public ResponseResult getById(@ApiParam("主键ID") @PathVariable Long id) {
        GdOperationalRevenue operationalRevenue = operationalRevenueService.getById(id);
 
        // 转换为Vo对象
        GdOperationalRevenueVo vo = operationalRevenueService.convertToVo(operationalRevenue);
        return ResponseResult.success(vo);
    }
 
    /**
     * 新增运营收益
     */
    @ApiOperation("新增运营收益")
    @PostMapping("/add")
    public ResponseResult save(@RequestBody GdOperationalRevenue operationalRevenue) {
        operationalRevenue.setCreateUser(String.valueOf(AuthUtil.getUserId()));
        LocalDateTime now = LocalDateTime.now();
        operationalRevenue.setCreateTime(now);
        operationalRevenue.setUpdateTime(now);
        operationalRevenue.setCreateDept(AuthUtil.getDeptId());
        operationalRevenue.setUpdateUser(String.valueOf(AuthUtil.getUserId()));
        operationalRevenue.setNickName(AuthUtil.getNickName());
        boolean result = operationalRevenueService.save(operationalRevenue);
        return ResponseResult.success(result);
    }
 
    /**
     * 修改运营收益
     */
    @ApiOperation("修改运营收益")
    @PutMapping("update")
    public ResponseResult updateById(@RequestBody GdOperationalRevenue operationalRevenue) {
        LocalDateTime now = LocalDateTime.now();
        operationalRevenue.setUpdateTime(now);
        operationalRevenue.setUpdateUser(String.valueOf(AuthUtil.getUserId()));
        boolean result = operationalRevenueService.updateById(operationalRevenue);
        return ResponseResult.success(result);
    }
 
    /**
     * 删除运营收益
     */
    @ApiOperation("删除运营收益")
    @DeleteMapping("delete/{id}")
    public ResponseResult removeById(@ApiParam("主键ID") @PathVariable Long id) {
        boolean result = operationalRevenueService.removeById(id);
        return ResponseResult.success(result);
    }
 
    /**
     * 批量删除运营收益
     */
    @ApiOperation("批量删除运营收益")
    @DeleteMapping("/batch")
    public ResponseResult removeByIds(@RequestBody List<Long> ids) {
        boolean result = operationalRevenueService.removeByIds(ids);
        return ResponseResult.success(result);
    }
}