package com.ruoyi.system.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.CustomConfig;
import com.ruoyi.system.api.domain.dto.MgtAfterSaleSettingDTO;
import com.ruoyi.system.domain.dto.PointsConfigDTO;
import com.ruoyi.system.domain.vo.CustomConfigVO;
import com.ruoyi.system.domain.vo.WishSettingVO;
import com.ruoyi.system.service.ICustomConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import javax.annotation.Resource;
import javax.validation.Valid;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
*
* 系统配置 前端控制器
*
*
* @author mitao
* @since 2024-05-21
*/
@Validated
@RestController
@RequestMapping("/custom-config")
@Api(value = "系统配置接口", tags = "系统配置接口")
public class CustomConfigController {
@Resource
private ICustomConfigService iCustomConfigService;
@GetMapping(value = "/{configId}")
public R getconfig(@PathVariable String configId)
{
LambdaQueryWrapper wrapper = Wrappers.lambdaQuery();
wrapper.eq(CustomConfig::getConfigKey, configId);
CustomConfig one = iCustomConfigService.getOne(wrapper);
return R.ok(one);
}
/**
* 获取积分设置
*
* @return List
*/
@ApiOperation("获取积分设置")
@GetMapping("/points")
public R getPointsConfig() {
return R.ok(iCustomConfigService.getPointsConfig());
}
/**
* 保存积分设置
*
* @param dto 积分配置数据传输对象
*/
@ApiOperation(value = "保存积分设置")
@PostMapping("/save-points")
public R> savePointsSettings(@Validated @RequestBody PointsConfigDTO dto) {
iCustomConfigService.savePointsSettings(dto);
return R.ok();
}
/**
* 获取订单说明设置
*
* @return CustomConfigVO
*/
@ApiOperation("获取订单说明设置")
@GetMapping("/order-desc")
public R getOrderDesc() {
return R.ok(iCustomConfigService.getOrderDesc());
}
/**
* 订单说明设置
*
* @param description 订单说明
*/
@ApiOperation(value = "订单说明设置")
@PostMapping("/save-order-desc")
public R> saveOrderDescription(
@RequestParam(value = "description", required = true) String description) {
iCustomConfigService.saveOrderDescription(description);
return R.ok();
}
/**
* 售后设置
*
* @param dto 售后设置对象
*/
@ApiOperation(value = "售后设置")
@PostMapping("/save-after-sale-setting")
public R> saveAfterSaleSetting(@Validated @RequestBody MgtAfterSaleSettingDTO dto) {
iCustomConfigService.saveAfterSaleSetting(dto);
return R.ok();
}
/**
* 获取售后设置
*
* @return List
*/
@ApiOperation("获取售后设置")
@GetMapping("/get-after-sale-setting")
public R getAfterSaleSetting() {
return R.ok(iCustomConfigService.getAfterSaleSetting());
}
/**
* 获取客服电话
*
* @return 客服电话
*/
@ApiOperation("获取客服电话")
@GetMapping("/service-phone")
public R servicePhone() {
return R.ok(iCustomConfigService.getServicePhone());
}
/**
* 保存客服电话
*
* @param phone 客服电话
*/
@ApiOperation("保存客服电话")
@PostMapping("/save-service-phone")
@ApiImplicitParams({
@ApiImplicitParam(name = "phone", value = "客服电话", example = "18888888888", required = true)})
public R> servicePhone(@RequestParam(value = "phone", required = true) String phone) {
iCustomConfigService.updateServicePhone(phone);
return R.ok();
}
/**
* 删除客户电话
*
* @param phone 客服电话
*/
@ApiOperation("删除客服电话")
@PostMapping("/delete-service-phone")
@ApiImplicitParams({
@ApiImplicitParam(name = "phone", value = "客服电话", example = "18888888888", required = true)})
public R> deleteServicePhone(@RequestParam(value = "phone", required = true) String phone) {
iCustomConfigService.deleteServicePhone(phone);
return R.ok();
}
/**
* 获取心愿求购说明
*
* @return
*/
@ApiOperation("获取心愿求购说明、分享配置")
@GetMapping("/wish-setting")
public R getWishSetting() {
return R.ok(iCustomConfigService.getWishSetting());
}
/**
* 保存心愿求购设置
*
* @param vo 保存心愿求购设置
*/
@ApiOperation(value = "保存心愿设置")
@PostMapping("/save-wish-setting")
public R> saveWishDescription(@Valid @RequestBody WishSettingVO vo) {
iCustomConfigService.saveWishDescription(vo);
return R.ok();
}
}