fangyuan
2023-01-16 ecad870fe1896c8c3e48506d50bb5818974253bf
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
package com.ycl.controller;
 
 
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycl.entity.NewsColumnInformation;
import com.ycl.entity.NewsInformation;
import com.ycl.entity.NewsInformationPolice;
import com.ycl.entity.NewsPolice;
import com.ycl.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import sun.nio.ch.IOUtil;
 
import javax.annotation.Resource;
import java.io.Serializable;
import java.sql.SQLException;
import java.util.List;
 
/**
 * 资讯表(NewsInformation)表控制层
 *
 * @author makejava
 * @since 2022-11-17 11:38:27
 */
@RestController
@RequestMapping("newsInformation")
@Api(tags = "资讯管理")
public class NewsInformationController extends ApiController {
    /**
     * 服务对象
     */
    @Resource
    private NewsInformationService newsInformationService;
 
    @Autowired
    private NewsPoliceService policeService;
 
    @Autowired
    private NewsInformationPoliceService newsInformationPoliceService;
 
    @Autowired
    private NewsColumnInformationService newsColumnInformationService;
    /**
     * 分页查询所有数据
     *
     * @return 所有数据
     */
    @GetMapping
    @ApiOperation(value = "查询所有数据")
    public R selectAll() {
        return success(this.newsInformationService.selectAllInformation());
 
    }
 
    /**
     * 通过主键查询单条数据
     *
     * @param id 主键
     * @return 单条数据
     */
    @GetMapping("{id}")
    @ApiOperation(value = "按id查询数据")
    public R selectOne(@PathVariable Integer id) {
        return success(this.newsInformationService.selectInformationById(id));
    }
 
    /**
     * 新增数据
     *
     * @param newsInformation 实体对象
     * @return 新增结果
     */
    @Transactional(rollbackFor = SQLException.class)
    @PostMapping
    @ApiOperation(value = "新增数据")
    public R insert(@RequestBody NewsInformation newsInformation) {
        Integer saveResult = this.newsInformationService.insertOneInformation(newsInformation);
        Integer informationId=newsInformation.getId();
        if (newsInformation.getIsSign()==0){
            List<String> departmentIds = newsInformation.getDepartmentId();
            for (String departmentId:departmentIds){
                QueryWrapper<NewsPolice> wrapper = new QueryWrapper();
                wrapper.eq("news_department_id",departmentId);
                List<NewsPolice> list = policeService.list(wrapper);
                if (!list.isEmpty()){
                    for (NewsPolice newsPolice:list){
                        newsInformationPoliceService.save(NewsInformationPolice.builder().newsPoliceId(newsPolice.getId()).newsInformationId(informationId).isSign(0).build());
                    }
                }
            }
        }
 
        for (String columnId:newsInformation.getColumnId()){
            newsColumnInformationService.save(NewsColumnInformation.builder().columnId(Integer.parseInt(columnId)).informationId(informationId).build());
        }
        return success(saveResult);
    }
 
    /**
     * 修改数据
     *
     * @param newsInformation 实体对象
     * @return 修改结果
     */
    @PutMapping
    @ApiOperation(value = "修改数据")
    @Transactional
    public R update(@RequestBody NewsInformation newsInformation) {
//        Integer informationId = newsInformation.getId();
//        if (newsInformation.getIsSign()==0){
//            newsInformationPoliceService.remove(new QueryWrapper<NewsInformationPolice>().eq("news_information_id",informationId));
//            List<String> departmentIds = newsInformation.getDepartmentId();
//            for (String departmentId:departmentIds){
//                QueryWrapper<NewsPolice> wrapper = new QueryWrapper();
//                wrapper.eq("news_department_id",departmentId);
//                List<NewsPolice> list = policeService.list(wrapper);
//                if (!list.isEmpty()){
//                    for (NewsPolice newsPolice:list){
//                        newsInformationPoliceService.save(NewsInformationPolice.builder().newsPoliceId(newsPolice.getId()).newsInformationId(informationId).isSign(0).build());
//                    }
//                }
//            }
//        }
//        newsColumnInformationService.remove(new QueryWrapper<NewsColumnInformation>().eq("information_id",informationId));
//        for (String columnId:newsInformation.getColumnId()){
//            newsColumnInformationService.save(NewsColumnInformation.builder().columnId(Integer.parseInt(columnId)).informationId(informationId).build());
//        }
 
//        return success(this.newsInformationService.updateInformationById(newsInformation));
        return success(this.newsInformationService.updateInformationById(newsInformation));
    }
 
    /**
     * 删除数据
     *
     * @param idList 主键结合
     * @return 删除结果
     */
    @DeleteMapping
    @ApiOperation(value = "删除数据")
    public R delete(@RequestParam("idList") List<Long> idList) {
        if (idList==null||idList.size()==0){
            return failed("请选择一个刹车农户对象");
        }
        for (long id:idList){
            newsColumnInformationService.remove(new QueryWrapper<NewsColumnInformation>().eq("information_id",id));
        }
        return success(this.newsInformationService.removeByIds(idList));
    }
}