系统设置
角色
This commit is contained in:
pan.wl.2 2024-10-22 23:23:18 +08:00
parent 68e587fb66
commit 5b2ae7c83b
15 changed files with 108 additions and 81 deletions

View File

@ -2,6 +2,7 @@ package com.mdd.admin.controller.setting;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.mdd.admin.aop.Log;
import com.mdd.admin.validate.commons.IdArrayValidate;
import com.mdd.common.aop.NotPower;
import com.mdd.admin.service.ISettingDictDataService;
import com.mdd.admin.validate.commons.IdsValidate;
@ -23,7 +24,7 @@ import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("api/setting/dict/data")
@RequestMapping("/adminapi/setting/dict.dict_data")
@Api(tags = "配置字典数据")
public class SettingDictDataController {
@ -34,16 +35,16 @@ public class SettingDictDataController {
@GetMapping("/all")
@ApiOperation(value="字典数据所有")
public AjaxResult<List<SettingDictDataVo>> all(@RequestParam Map<String, String> params) {
Assert.isFalse(StringUtils.isEmpty(params.get("dictType")), "dictType缺失");
Assert.isFalse(StringUtils.isEmpty(params.get("type_id")), "type_id缺失");
List<SettingDictDataVo> list = iSettingDictDataService.all(params);
return AjaxResult.success(list);
}
@GetMapping("/list")
@GetMapping("/lists")
@ApiOperation(value="字典数据列表")
public AjaxResult<PageResult<SettingDictDataVo>> list(@Validated PageValidate pageValidate,
@RequestParam Map<String, String> params) {
Assert.isFalse(StringUtils.isEmpty(params.get("dictType")), "dictType缺失");
Assert.isFalse(StringUtils.isEmpty(params.get("type_id")), "type_id缺失");
PageResult<SettingDictDataVo> list = iSettingDictDataService.list(pageValidate, params);
return AjaxResult.success(list);
}
@ -72,10 +73,10 @@ public class SettingDictDataController {
}
@Log(title = "字典数据删除")
@PostMapping("/del")
@PostMapping("/delete")
@ApiOperation(value="字典数据删除")
public AjaxResult<Object> del(@Validated @RequestBody IdsValidate idsValidate) {
iSettingDictDataService.del(idsValidate.getIds());
public AjaxResult<Object> del(@Validated @RequestBody IdArrayValidate idArrayValidate) {
iSettingDictDataService.del(idArrayValidate.getId());
return AjaxResult.success();
}

View File

@ -1,6 +1,7 @@
package com.mdd.admin.controller.setting;
import com.mdd.admin.aop.Log;
import com.mdd.admin.validate.commons.IdValidate;
import com.mdd.common.aop.NotPower;
import com.mdd.admin.service.ISettingDictTypeService;
import com.mdd.admin.validate.commons.IdsValidate;
@ -21,7 +22,7 @@ import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("api/setting/dict/type")
@RequestMapping("/adminapi/setting/dict.dict_type")
@Api(tags = "配置字典类型")
public class SettingDictTypeController {
@ -36,7 +37,7 @@ public class SettingDictTypeController {
return AjaxResult.success(list);
}
@GetMapping("/list")
@GetMapping("/lists")
@ApiOperation(value="字典类型列表")
public AjaxResult<PageResult<SettingDictTypeVo>> list(@Validated PageValidate pageValidate,
@RequestParam Map<String, String> params) {
@ -68,10 +69,10 @@ public class SettingDictTypeController {
}
@Log(title = "字典类型删除")
@PostMapping("/del")
@PostMapping("/delete")
@ApiOperation(value="字典类型删除")
public AjaxResult<Object> del(@Validated @RequestBody IdsValidate idsValidate) {
iSettingDictTypeService.del(idsValidate.getIds());
public AjaxResult<Object> del(@Validated @RequestBody IdValidate idValidate) {
iSettingDictTypeService.del(idValidate.getId());
return AjaxResult.success();
}

View File

@ -63,6 +63,6 @@ public interface ISettingDictTypeService {
* @author fzr
* @param ids 主键
*/
void del(List<Integer> ids);
void del(Integer ids);
}

View File

@ -14,6 +14,7 @@ import com.mdd.common.entity.setting.DictData;
import com.mdd.common.entity.setting.DictType;
import com.mdd.common.mapper.setting.DictDataMapper;
import com.mdd.common.mapper.setting.DictTypeMapper;
import com.mdd.common.util.StringUtils;
import com.mdd.common.util.TimeUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -51,7 +52,7 @@ public class SettingDictDataServiceImpl implements ISettingDictDataService {
Assert.notNull(dictType, "该字典类型不存在!");
QueryWrapper<DictData> queryWrapper = new QueryWrapper<>();
queryWrapper.select("id,type_id,name,value,remark,sort,status,create_time,update_time");
queryWrapper.select("id,type_id,name,type_value, value,remark,sort,status,create_time,update_time");
queryWrapper.isNull("delete_time");
queryWrapper.eq("type_id", dictType.getId());
queryWrapper.orderByDesc("id");
@ -90,18 +91,23 @@ public class SettingDictDataServiceImpl implements ISettingDictDataService {
Integer page = pageValidate.getPage_no();
Integer limit = pageValidate.getPage_size();
QueryWrapper<DictData> queryWrapper = new QueryWrapper<>();
queryWrapper.select("id,type_id,name,type_value,value,remark,sort,status,create_time,update_time");
queryWrapper.isNull("delete_time");
queryWrapper.orderByDesc("id");
if (StringUtils.isNotEmpty(params.get("type_id"))) {
DictType dictType = dictTypeMapper.selectOne(new QueryWrapper<DictType>()
.isNull("delete_time")
.eq("dict_type", params.get("dictType"))
.eq("id", params.get("type_id"))
.last("limit 1"));
Assert.notNull(dictType, "该字典类型不存在!");
QueryWrapper<DictData> queryWrapper = new QueryWrapper<>();
queryWrapper.select("id,type_id,name,value,remark,sort,status,create_time,update_time");
queryWrapper.eq("type_id", dictType.getId());
queryWrapper.isNull("delete_time");
queryWrapper.orderByDesc("id");
}
dictDataMapper.setSearch(queryWrapper, params, new String[]{
"like:name:str",
@ -166,6 +172,7 @@ public class SettingDictDataServiceImpl implements ISettingDictDataService {
model.setTypeId(createValidate.getTypeId());
model.setName(createValidate.getName());
model.setValue(createValidate.getValue());
model.setTypeValue(createValidate.getTypeValue());
model.setRemark(createValidate.getRemark());
model.setSort(createValidate.getSort());
model.setStatus(createValidate.getStatus());
@ -198,6 +205,7 @@ public class SettingDictDataServiceImpl implements ISettingDictDataService {
model.setName(updateValidate.getName());
model.setValue(updateValidate.getValue());
model.setTypeValue(updateValidate.getTypeValue());
model.setRemark(updateValidate.getRemark());
model.setSort(updateValidate.getSort());
model.setStatus(updateValidate.getStatus());
@ -216,7 +224,6 @@ public class SettingDictDataServiceImpl implements ISettingDictDataService {
for (Integer id : ids) {
DictData model = new DictData();
model.setId(id);
model.setIsDelete(1);
model.setDeleteTime(System.currentTimeMillis() / 1000);
dictDataMapper.updateById(model);
}

View File

@ -39,7 +39,7 @@ public class SettingDictTypeServiceImpl implements ISettingDictTypeService {
@Override
public List<SettingDictTypeVo> all() {
QueryWrapper<DictType> queryWrapper = new QueryWrapper<>();
queryWrapper.select("id,dict_name,dict_type,dict_remark,dict_status,create_time,update_time");
queryWrapper.select("id,name,type,remark,status,create_time,update_time");
queryWrapper.isNull("delete_time");
queryWrapper.orderByDesc("id");
@ -72,14 +72,14 @@ public class SettingDictTypeServiceImpl implements ISettingDictTypeService {
Integer limit = pageValidate.getPage_size();
QueryWrapper<DictType> queryWrapper = new QueryWrapper<>();
queryWrapper.select("id,dict_name,dict_type,dict_remark,dict_status,create_time,update_time");
queryWrapper.select("id,name,type,remark,status,create_time,update_time");
queryWrapper.isNull("delete_time");
queryWrapper.orderByDesc("id");
dictTypeMapper.setSearch(queryWrapper, params, new String[]{
"like:dictName@dict_name:str",
"like:dictType@dict_type:str",
"=:dictStatus@dict_status:int",
"like:name@name:str",
"like:type@type:str",
"=:status@status:int",
});
IPage<DictType> iPage = dictTypeMapper.selectPage(new Page<>(page, limit), queryWrapper);
@ -88,7 +88,6 @@ public class SettingDictTypeServiceImpl implements ISettingDictTypeService {
for (DictType dictType : iPage.getRecords()) {
SettingDictTypeVo vo = new SettingDictTypeVo();
BeanUtils.copyProperties(dictType, vo);
vo.setCreateTime(TimeUtils.timestampToDate(dictType.getCreateTime()));
vo.setUpdateTime(TimeUtils.timestampToDate(dictType.getUpdateTime()));
list.add(vo);
@ -107,7 +106,7 @@ public class SettingDictTypeServiceImpl implements ISettingDictTypeService {
@Override
public SettingDictTypeVo detail(Integer id) {
DictType dictType = dictTypeMapper.selectOne(new QueryWrapper<DictType>()
.select("id,dict_name,dict_type,dict_remark,dict_status,create_time,update_time")
.select("id,name,type,remark,status,create_time,update_time")
.eq("id", id)
.isNull("delete_time")
.last("limit 1"));
@ -131,21 +130,21 @@ public class SettingDictTypeServiceImpl implements ISettingDictTypeService {
public void add(DictTypeCreateValidate createValidate) {
Assert.isNull(dictTypeMapper.selectOne(new QueryWrapper<DictType>()
.select("id")
.eq("dict_name", createValidate.getDictName())
.eq("name", createValidate.getName())
.isNull("delete_time")
.last("limit 1")), "字典名称已存在!");
Assert.isNull(dictTypeMapper.selectOne(new QueryWrapper<DictType>()
.select("id")
.eq("dict_type", createValidate.getDictType())
.eq("type", createValidate.getType())
.isNull("delete_time")
.last("limit 1")), "字典类型已存在!");
DictType model = new DictType();
model.setDictName(createValidate.getDictName());
model.setDictType(createValidate.getDictType());
model.setDictRemark(createValidate.getDictRemark());
model.setDictStatus(createValidate.getDictStatus());
model.setName(createValidate.getName());
model.setType(createValidate.getType());
model.setRemark(createValidate.getRemark());
model.setStatus(createValidate.getStatus());
model.setCreateTime(System.currentTimeMillis() / 1000);
model.setUpdateTime(System.currentTimeMillis() / 1000);
dictTypeMapper.insert(model);
@ -168,20 +167,20 @@ public class SettingDictTypeServiceImpl implements ISettingDictTypeService {
Assert.isNull(dictTypeMapper.selectOne(new QueryWrapper<DictType>()
.ne("id", updateValidate.getId())
.eq("dict_name", updateValidate.getDictName())
.eq("name", updateValidate.getName())
.isNull("delete_time")
.last("limit 1")), "字典类型已存在!");
Assert.isNull(dictTypeMapper.selectOne(new QueryWrapper<DictType>()
.ne("id", updateValidate.getId())
.eq("dict_type", updateValidate.getDictType())
.eq("type", updateValidate.getType())
.isNull("delete_time")
.last("limit 1")), "字典类型已存在!");
model.setDictName(updateValidate.getDictName());
model.setDictType(updateValidate.getDictType());
model.setDictRemark(updateValidate.getDictRemark());
model.setDictStatus(updateValidate.getDictStatus());
model.setName(updateValidate.getName());
model.setType(updateValidate.getType());
model.setRemark(updateValidate.getRemark());
model.setStatus(updateValidate.getStatus());
model.setUpdateTime(System.currentTimeMillis() / 1000);
dictTypeMapper.updateById(model);
}
@ -190,17 +189,14 @@ public class SettingDictTypeServiceImpl implements ISettingDictTypeService {
* 字典类型删除
*
* @author fzr
* @param ids 主键
* @param id 主键
*/
@Override
public void del(List<Integer> ids) {
for(Integer id : ids) {
public void del(Integer id) {
DictType model = new DictType();
model.setId(id);
model.setIsDelete(1);
model.setDeleteTime(System.currentTimeMillis() / 1000);
dictTypeMapper.updateById(model);
}
}
}

View File

@ -0,0 +1,21 @@
package com.mdd.admin.validate.commons;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@Data
@ApiModel("IDS参数")
public class IdArrayValidate implements Serializable {
private static final long serialVersionUID = 1L;
@NotNull(message = "ids参数缺失")
@ApiModelProperty(value = "ID数组", required = true)
private List<Integer> id;
}

View File

@ -21,6 +21,8 @@ public class DictDataCreateValidate implements Serializable {
@ApiModelProperty(value = "类型ID", required = true)
private Integer typeId;
private String typeValue;
@NotNull(message = "name参数缺失")
@ApiModelProperty(value = "", required = true)
private String name;

View File

@ -29,6 +29,8 @@ public class DictDataUpdateValidate implements Serializable {
@ApiModelProperty(value = "", required = true)
private String name;
private String typeValue;
@NotNull(message = "value参数缺失")
@Length(max = 100, message = "键名不能超出100个字符")
@ApiModelProperty(value = "", required = true)

View File

@ -15,23 +15,23 @@ public class DictTypeCreateValidate implements Serializable {
private static final long serialVersionUID = 1L;
@NotNull(message = "dictName参数缺失")
@NotNull(message = "name参数缺失")
@Length(max = 200, message = "名称不能超出200个字符")
@ApiModelProperty(value = "名称", required = true)
private String dictName;
private String name;
@NotNull(message = "dictType参数缺失")
@NotNull(message = "type参数缺失")
@Length(max = 200, message = "类型不能超出200个字符")
@ApiModelProperty(value = "类型", required = true)
private String dictType;
private String type;
@Length(max = 200, message = "备注不能超出200个字符")
@ApiModelProperty(value = "备注")
private String dictRemark;
private String remark;
@NotNull(message = "dictStatus参数缺失")
@NotNull(message = "status参数缺失")
@IntegerContains(values = {0, 1}, message = "dictStatus参数不在合法值内")
@ApiModelProperty(value = "状态", required = true)
private Integer dictStatus;
private Integer status;
}

View File

@ -20,23 +20,23 @@ public class DictTypeUpdateValidate implements Serializable {
@ApiModelProperty(value = "ID", required = true)
private Integer id;
@NotNull(message = "dictName参数缺失")
@NotNull(message = "name参数缺失")
@Length(max = 200, message = "名称不能超出200个字符")
@ApiModelProperty(value = "名称", required = true)
private String dictName;
private String name;
@NotNull(message = "dictType参数缺失")
@NotNull(message = "type参数缺失")
@Length(max = 200, message = "类型不能超出200个字符")
@ApiModelProperty(value = "类型", required = true)
private String dictType;
private String type;
@Length(max = 200, message = "备注不能超出200个字符")
@ApiModelProperty(value = "备注")
private String dictRemark;
private String remark;
@NotNull(message = "dictStatus参数缺失")
@IntegerContains(values = {0, 1}, message = "dictStatus参数不在合法值内")
@ApiModelProperty(value = "状态", required = true)
private Integer dictStatus;
private Integer status;
}

View File

@ -18,6 +18,8 @@ public class SettingDictDataVo implements Serializable {
@ApiModelProperty(value = "类型")
private Integer typeId;
private String typeValue;
@ApiModelProperty(value = "")
private String name;

View File

@ -16,16 +16,16 @@ public class SettingDictTypeVo implements Serializable {
private Integer id;
@ApiModelProperty(value = "字典名称")
private String dictName;
private String name;
@ApiModelProperty(value = "字典类型")
private String dictType;
private String type;
@ApiModelProperty(value = "字典备注")
private String dictRemark;
private String remark;
@ApiModelProperty(value = "字典状态")
private Integer dictStatus;
private Integer status;
@ApiModelProperty(value = "创建时间")
private String createTime;

View File

@ -21,6 +21,9 @@ public class DictData implements Serializable {
@ApiModelProperty("类型")
private Integer typeId;
@ApiModelProperty("类型值")
private String typeValue;
@ApiModelProperty("键名")
private String name;
@ -36,9 +39,6 @@ public class DictData implements Serializable {
@ApiModelProperty("状态: [0=停用, 1-正常]")
private Integer status;
@ApiModelProperty("是否删除: [0=否, 1=是]")
private Integer isDelete;
@ApiModelProperty("创建时间")
private Long createTime;

View File

@ -19,19 +19,16 @@ public class DictType implements Serializable {
private Integer id;
@ApiModelProperty("字典名称")
private String dictName;
private String name;
@ApiModelProperty("字典类型")
private String dictType;
private String type;
@ApiModelProperty("字典备注")
private String dictRemark;
private String remark;
@ApiModelProperty("字典状态: [0=停用, 1=正常]")
private Integer dictStatus;
@ApiModelProperty("是否删除: [0=否, 1=是]")
private Integer isDelete;
private Integer status;
@ApiModelProperty("创建时间")
private Long createTime;

View File

@ -5,10 +5,8 @@ import com.alipay.api.AlipayApiException;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.mdd.front.validate.PaymentValidate;
import com.mdd.front.vo.pay.PayStatusVo;
import com.mdd.front.vo.pay.PayWayInfoVo;
import com.mdd.front.vo.pay.PayWayListVo;
import java.util.List;
/**
* 支付接口服务类