Files
springboot-payment/boot-web/src/main/java/com/xwbing/controller/sys/SysConfigControl.java
T
2017-11-20 16:19:48 +08:00

108 lines
5.0 KiB
Java

package com.xwbing.controller.sys;
import com.alibaba.fastjson.JSONObject;
import com.xwbing.domain.entity.sys.SysConfig;
import com.xwbing.service.sys.SysConfigService;
import com.xwbing.util.JSONObjResult;
import com.xwbing.util.RestMessage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
/**
* 说明: 系统配置控制层
* 项目名称: boot-module-demo
* 创建时间: 2017/5/10 16:36
* 作者: xiangwb
*/
@Api(tags = "configApi", description = "系统配置相关接口")
@RestController
@RequestMapping("/config/")
public class SysConfigControl {
private final Logger logger = LoggerFactory.getLogger(SysConfigControl.class);
@Resource
private SysConfigService sysConfigService;
@ApiOperation(value = "新增", notes = "新增系统配置信息")
// @ApiImplicitParams({
// @ApiImplicitParam(name = "code", value = "配置项的key,长度为1-50", paramType = "query", required = true, dataType = "string"),
// @ApiImplicitParam(name = "value", value = "配置项的值", paramType = "query", required = true, dataType = "string"),
// @ApiImplicitParam(name = "enable", value = "是否启用,格式为Y|N", paramType = "query", required = true, dataType = "string"),
// @ApiImplicitParam(name = "name", value = "配置名称,长度为1-10", paramType = "query", required = true, dataType = "string")
// })
@PostMapping("save")
public JSONObject save(@RequestBody @Valid SysConfig sysConfig) {
String logMsg = "新增系统配置信息";
logger.info(logMsg);
RestMessage result = sysConfigService.save(sysConfig);
return JSONObjResult.toJSONObj(result);
}
@ApiOperation(value = "删除", notes = "根据code删除系统配置信息")
@ApiImplicitParam(name = "code", value = "配置项的code", paramType = "query", required = true, dataType = "string")
@GetMapping("removeByCode")
public JSONObject removeByCode(@RequestParam String code) {
String logMsg = "删除系统配置信息";
logger.info(logMsg + " code:{}", code);
if (StringUtils.isEmpty(code)) {
return JSONObjResult.toJSONObj("code不能为空");
}
RestMessage result = sysConfigService.removeByCode(code);
return JSONObjResult.toJSONObj(result);
}
@ApiOperation(value = "修改", notes = "修改系统配置信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "code", value = "配置项的key,长度为1-50", paramType = "query", required = true, dataType = "string"),
@ApiImplicitParam(name = "value", value = "配置项的值", paramType = "query", required = true, dataType = "string"),
@ApiImplicitParam(name = "enable", value = "是否启用,格式为Y|N", paramType = "query", required = true, dataType = "string"),
})
@PostMapping("update")
public JSONObject update(SysConfig sysConfig) {
String logMsg = "修改系统配置信息";
logger.info(logMsg);
if (StringUtils.isEmpty(sysConfig.getCode()))
return JSONObjResult.toJSONObj("配置项的code不能为空");
RestMessage result = sysConfigService.update(sysConfig);
return JSONObjResult.toJSONObj(result);
}
@ApiOperation(value = "查找", notes = "根据key查找系统配置信息")
@ApiImplicitParam(name = "code", value = "配置项的code", paramType = "query", required = true, dataType = "string")
@GetMapping("getByCode")
public JSONObject getByCode(@RequestParam String code) {
String logMsg = "根据code查找系统配置信息";
logger.info(logMsg + " code:{}", code);
if (StringUtils.isEmpty(code)) {
return JSONObjResult.toJSONObj("code不能为空");
}
SysConfig one = sysConfigService.getByCode(code);
if (one == null) {
return JSONObjResult.toJSONObj("该配置不存在");
}
return JSONObjResult.toJSONObj(one, true, "");
}
@ApiOperation(value = "查找列表", notes = "根据是否启用查找配置列表")
@ApiImplicitParam(name = "enable", value = "是否启用,格式为Y|N", paramType = "query", required = true, dataType = "string")
@GetMapping("listByEnable")
public JSONObject listByEnable(@RequestParam String enable) {
String logMsg = "根据是否启用查找配置列表";
logger.info(logMsg + " enable:{}", enable);
if (StringUtils.isEmpty(enable)) {
return JSONObjResult.toJSONObj("是否启用不能为空");
}
List<SysConfig> byEnable = sysConfigService.listByEnable(enable);
return JSONObjResult.toJSONObj(byEnable, true, "");
}
}