package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.dto.THtmlConfigDTO;
import com.ruoyi.system.model.THtmlConfig;
import com.ruoyi.system.service.THtmlConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.stream.Collectors;
/**
*
* 富文本内容管理 前端控制器
*
*
* @author xiaochen
* @since 2025-11-06
*/
@RestController
@RequestMapping("/t-html-config")
@Api(tags = "(嘉视达)基础信息管理-协议管理")
public class THtmlConfigController {
private final THtmlConfigService htmlConfigService;
@Autowired
public THtmlConfigController(THtmlConfigService htmlConfigService) {
this.htmlConfigService = htmlConfigService;
}
/**
* 修改系统配置-协议管理
*/
@Log(title = "系统配置-协议管理-修改", businessType = BusinessType.UPDATE)
@ApiOperation(value = "修改系统配置-协议管理管理")
@PostMapping(value = "/update")
public R update(@Validated @RequestBody THtmlConfig dto) {
THtmlConfig sysConfig = htmlConfigService.getOne(Wrappers.lambdaQuery().eq(THtmlConfig::getConfigType, dto.getConfigType())
.last("LIMIT 1"));
sysConfig.setContent(dto.getContent());
return R.ok(htmlConfigService.updateById(sysConfig));
}
/**
* 修改系统配置-协议管理
*/
@Log(title = "系统配置-协议管理-批量修改", businessType = BusinessType.UPDATE)
@ApiOperation(value = "批量修改系统配置-协议管理管理")
@PostMapping(value = "/updateBatch")
public R updateBatch(@RequestBody THtmlConfigDTO dto) {
List htmlConfigs = dto.getHtmlConfigs();
List types = htmlConfigs.stream().map(THtmlConfig::getConfigType).collect(Collectors.toList());
List sysConfigs = htmlConfigService.list(Wrappers.lambdaQuery().in(THtmlConfig::getConfigType, types));
for (THtmlConfig sysConfig : sysConfigs) {
List htmlConfigList = htmlConfigs.stream().filter(htmlConfig -> htmlConfig.getConfigType().equals(sysConfig.getConfigType())).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(htmlConfigList)) {
sysConfig.setContent(htmlConfigList.get(0).getContent());
}
}
htmlConfigService.updateBatchById(sysConfigs);
return R.ok();
}
/**
* 查看系统配置-协议管理详情
*/
@ApiOperation(value = "查看系统配置-协议管理详情",notes = "配置类型 类型 1=用户注册隐私协议,2=大礼包购买协议,3=实物商品购买协议,4=关于我们 5=积分规则,6=金币兑换图文说明,7=普通商品模块展示配置")
@GetMapping(value = "/getDetailById")
public R getDetailById(@RequestParam Integer configType) {
THtmlConfig sysConfig = htmlConfigService.getOne(Wrappers.lambdaQuery().eq(THtmlConfig::getConfigType, configType)
.last("LIMIT 1"));
return R.ok(sysConfig);
}
/**
* 查看系统配置-协议管理详情
*/
@ApiOperation(value = "查看系统配置-协议管理列表",notes = "配置类型 类型 1=用户注册隐私协议,2=大礼包购买协议,3=实物商品购买协议,4=关于我们 5=积分规则,6=金币兑换图文说明,7=普通商品模块展示配置")
@GetMapping(value = "/list")
public R> list() {
List sysConfigs = htmlConfigService.list();
return R.ok(sysConfigs);
}
}