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 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 addAgreement(@RequestBody AgreementDTO agreementDTO){ Agreement one = agreementService.getOne(new LambdaQueryWrapper().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 addAgreementContent(@RequestBody AgreementContentDTO dto){ //修改 List agreementList = agreementMapper.selectList(new LambdaQueryWrapper().in(Agreement::getType, Arrays.asList(5, 6, 7))); ArrayList 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 getAgreementContent(){ AgreementContentDTO vo = new AgreementContentDTO(); List agreementList = agreementMapper.selectList(new LambdaQueryWrapper().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); } }