huliguo
10 天以前 e3a2245265516fef78b4737d6fffc939e7c5e0af
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
package com.ruoyi.web.controller.errand;
 
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.errand.domain.Agreement;
import com.ruoyi.errand.mapper.AgreementMapper;
import com.ruoyi.errand.object.dto.app.AgreementDTO;
import com.ruoyi.errand.object.dto.sys.AgreementContentDTO;
import com.ruoyi.errand.service.AgreementService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cglib.core.Local;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
 
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
 
@RestController
@RequestMapping(value = "/app/agreement")
@Slf4j
public class AgreementController {
 
    @Autowired
    private AgreementService agreementService;
    @Autowired
    private AgreementMapper agreementMapper;
 
    /**
     * 协议 类型(1=用户协议,2=隐私协议,3=下单须知,4=注销协议,5=首页介绍,6=快递代拿下单说明,7=商品代买下单说明,8=会员协议)
     */
    @GetMapping("/getAgreementByType")
    @ApiOperation(value = "根据类型获取不同协议",tags = "app用户端-协议")
    public R<Agreement> getAgreementByType(@RequestParam(value = "type") Integer type) {
        return R.ok(agreementService.getAgreementByType(type));
    }
 
    @PostMapping("/addAgreement")
    @PreAuthorize("@ss.hasPermi('system:agreement:list')")
    @ApiOperation(value = "协议管理-添加", tags = {"管理后台-系统管理"})
    public R<Void> addAgreement(@RequestBody AgreementDTO agreementDTO){
        Agreement one = agreementService.getOne(new LambdaQueryWrapper<Agreement>().eq(Agreement::getType, agreementDTO.getType()));
        one.setContent(agreementDTO.getContent());
        agreementService.updateById(one);
        return R.ok();
    }
 
    @PostMapping("/addAgreement/content")
    @PreAuthorize("@ss.hasPermi('system:agreement:list')")
    @ApiOperation(value = "协议管理-内容管理", tags = {"管理后台-系统管理"})
    public R<Void> addAgreementContent(@RequestBody AgreementContentDTO dto){
        //修改
        List<Agreement> agreementList = agreementMapper.selectList(new LambdaQueryWrapper<Agreement>().in(Agreement::getType, Arrays.asList(5, 6, 7)));
        ArrayList<Integer> types = new ArrayList<>();
        types.add(5);
        types.add(6);
        types.add(7);
        if (agreementList!=null&& !agreementList.isEmpty()){
            agreementList.forEach(agreement -> {
                if (agreement.getType()==5){
                    agreement.setContent(dto.getContent());
                    types.remove(agreement.getType());
                    this.agreementMapper.updateById(agreement);
                }
                if (agreement.getType()==6){
                    agreement.setContent(dto.getTakeContent());
                    types.remove(agreement.getType());
                    this.agreementMapper.updateById(agreement);
                }
                if (agreement.getType()==7){
                    agreement.setContent(dto.getBuyContent());
                    types.remove(agreement.getType());
                    this.agreementMapper.updateById(agreement);
                }
            });
        }
       if (!types.isEmpty()){
           types.forEach(type -> {
               if (type==5){
                   Agreement agreement = new Agreement();
                   agreement.setContent(dto.getContent());
                   agreement.setType(type);
                   agreement.setCreateTime(LocalDateTime.now());
                   this.agreementMapper.insert(agreement);
               }
               if (type==6){
                   Agreement agreement = new Agreement();
                   agreement.setContent(dto.getTakeContent());
                   agreement.setType(type);
                   agreement.setCreateTime(LocalDateTime.now());
                   this.agreementMapper.insert(agreement);
               }
               if (type==7){
                   Agreement agreement = new Agreement();
                   agreement.setContent(dto.getBuyContent());
                   agreement.setType(type);
                   agreement.setCreateTime(LocalDateTime.now());
                   this.agreementMapper.insert(agreement);
               }
           });
       }
       return R.ok();
    }
 
    @GetMapping("/getAgreement/content")
    @PreAuthorize("@ss.hasPermi('system:agreement:list')")
    @ApiOperation(value = "协议管理-内容管理-查看详情", tags = {"管理后台-系统管理"})
    public R<AgreementContentDTO> getAgreementContent(){
        AgreementContentDTO vo = new AgreementContentDTO();
        List<Agreement> agreementList = agreementMapper.selectList(new LambdaQueryWrapper<Agreement>().in(Agreement::getType, Arrays.asList(5, 6, 7)));
        if (agreementList!=null&& !agreementList.isEmpty()){
            agreementList.forEach(agreement -> {
                if (agreement.getType()==5) vo.setContent(agreement.getContent());
                if (agreement.getType()==6) vo.setTakeContent(agreement.getContent());
                if (agreement.getType()==7) vo.setBuyContent(agreement.getContent());
            });
        }
        return R.ok(vo);
    }
 
}