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);
|
}
|
|
}
|