Browse Source

1.更新字典模块

2.新增字段模块
master
xia 3 years ago
parent
commit
83026e05ce
  1. 7
      archives/pom.xml
  2. 39
      archives/src/main/java/com/storeroom/modules/dictionary/controller/DictrionaryController.java
  3. 48
      archives/src/main/java/com/storeroom/modules/dictionary/controller/FieldController.java
  4. 60
      archives/src/main/java/com/storeroom/modules/dictionary/domain/Field.java
  5. 14
      archives/src/main/java/com/storeroom/modules/dictionary/domain/vo/DictionaryVO.java
  6. 65
      archives/src/main/java/com/storeroom/modules/dictionary/domain/vo/FieldVO.java
  7. 22
      archives/src/main/java/com/storeroom/modules/dictionary/repository/DictionaryRepository.java
  8. 22
      archives/src/main/java/com/storeroom/modules/dictionary/repository/FieldRepository.java
  9. 11
      archives/src/main/java/com/storeroom/modules/dictionary/service/DictionaryService.java
  10. 19
      archives/src/main/java/com/storeroom/modules/dictionary/service/FieldService.java
  11. 52
      archives/src/main/java/com/storeroom/modules/dictionary/service/dto/DictionaryDTO.java
  12. 33
      archives/src/main/java/com/storeroom/modules/dictionary/service/dto/DictionaryQueryCriteria.java
  13. 64
      archives/src/main/java/com/storeroom/modules/dictionary/service/dto/FieldDTO.java
  14. 22
      archives/src/main/java/com/storeroom/modules/dictionary/service/dto/PrimaryDTO.java
  15. 62
      archives/src/main/java/com/storeroom/modules/dictionary/service/impl/DictionaryServiceImpl.java
  16. 55
      archives/src/main/java/com/storeroom/modules/dictionary/service/impl/FieldServiceImpl.java
  17. 4
      common/src/main/java/com/storeroom/exception/constant/ResponseStatus.java
  18. 65
      common/src/main/java/com/storeroom/utils/HttpServletUtil.java
  19. 19
      common/src/main/java/com/storeroom/utils/MapUtil.java
  20. 81
      common/src/main/java/com/storeroom/utils/PageSort.java
  21. 142
      common/src/main/java/com/storeroom/utils/ResultUtils.java

7
archives/pom.xml

@ -29,13 +29,6 @@
<artifactId>logging</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
</dependencies>
</project>

39
archives/src/main/java/com/storeroom/modules/dictionary/controller/DictrionaryController.java

@ -2,15 +2,22 @@ package com.storeroom.modules.dictionary.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.modules.dictionary.domain.vo.DictionaryVO;
import com.storeroom.modules.dictionary.service.DictionaryService;
import com.storeroom.modules.dictionary.service.dto.DictionaryDTO;
import com.storeroom.modules.dictionary.service.dto.DictionaryQueryCriteria;
import com.storeroom.modules.dictionary.service.dto.PrimaryDTO;
import com.storeroom.utils.ApiResponse;
import com.storeroom.utils.SecurityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -19,7 +26,7 @@ import java.util.List;
@RestController
@RequiredArgsConstructor
@Api(tags = "字典表管理")
@RequestMapping("/dictrionary")
@RequestMapping("/api/dictrionary")
public class DictrionaryController {
private final DictionaryService dictionaryService;
@ -31,4 +38,34 @@ public class DictrionaryController {
return ApiResponse.success(dictionaryService.findDictrionaryMenu());
}
@ApiOperation("编辑字典")
// @GetMapping("/edit")
@AnonymousPostMapping(value = "/edit")
public ApiResponse<Object> edit(
@Validated @RequestBody DictionaryDTO dto
){
// dictionaryService.edit(dto,SecurityUtils.getCurrentUsername());
dictionaryService.edit(dto,"test");
return ApiResponse.success(dto.getId() == null ? ResponseStatus.SUCCESS : HttpStatus.NO_CONTENT);
}
@ApiOperation("删除字典")
// @GetMapping("/delete")
@AnonymousPostMapping(value = "/delete")
public ApiResponse<Object> delete(
@Validated @RequestBody PrimaryDTO dto
){
dictionaryService.delete(dto.getId());
return ApiResponse.success(ResponseStatus.SUCCESS);
}
@ApiOperation("根据字典id分页查询子集")
// @GetMapping("/findSubsetById")
@AnonymousGetMapping(value = "/findSubsetById")
public ApiResponse<Object> findSubsetById(
DictionaryQueryCriteria criteria,Pageable page
){
return ApiResponse.success(dictionaryService.findSubsetById(criteria.getId(),page));
}
}

48
archives/src/main/java/com/storeroom/modules/dictionary/controller/FieldController.java

@ -0,0 +1,48 @@
package com.storeroom.modules.dictionary.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.modules.dictionary.service.FieldService;
import com.storeroom.modules.dictionary.service.dto.FieldDTO;
import com.storeroom.modules.dictionary.service.dto.PrimaryDTO;
import com.storeroom.utils.ApiResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@Api(tags = "字段表管理")
@RequestMapping("/api/field")
public class FieldController {
private final FieldService fieldService;
@ApiOperation("编辑字段表")
// @GetMapping("/edit")
@AnonymousPostMapping(value = "/edit")
public ApiResponse<Object> edit(
@Validated @RequestBody FieldDTO dto
){
String returnCode = fieldService.edit(dto,"test");
return returnCode != null ? ApiResponse.error(ResponseStatus.FIELD_REPEAT) :
ApiResponse.success(dto.getId() == null ? ResponseStatus.SUCCESS : HttpStatus.NO_CONTENT);
}
@ApiOperation("分类查询字段表")
// @GetMapping("/findGroupType")
@AnonymousGetMapping(value = "/findGroupType")
public ApiResponse<Object> findGroupType(
Integer is_type
){
return ApiResponse.success(fieldService.findGroupType(is_type));
}
}

60
archives/src/main/java/com/storeroom/modules/dictionary/domain/Field.java

@ -0,0 +1,60 @@
package com.storeroom.modules.dictionary.domain;
import com.storeroom.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
@Entity
@Getter
@Setter
@Table(name="sys_field")
public class Field extends BaseEntity implements Serializable {
@Id
@Column(name = "id")
@GeneratedValue(generator = "idGenerator")
@GenericGenerator(name = "idGenerator", strategy = "uuid")
private String id;
@Column(name = "field_name")
@ApiModelProperty(value = "字段名称")
private String fieldName;
@Column(name = "field_cn_name")
@ApiModelProperty(value = "字段含义")
private String fieldCnName;
@Column(name = "is_default_value")
@ApiModelProperty(value = "默认值")
private String isDefaultValue;
@Column(name = "dictionary_id")
@ApiModelProperty(value = "字典id")
private String dictionaryId;
@Column(name = "is_data_type")
@ApiModelProperty(value = "数据类型")
private Integer isDataType;
@Column(name = "is_column_length")
@ApiModelProperty(value = "字段长度")
private Integer isColumnLength;
@Column(name = "is_sequence")
@ApiModelProperty(value = "排序")
private Integer isSequence;
@Column(name = "is_type")
@ApiModelProperty(value = "功能")
private Integer isType;
@Column(name = "is_system")
@ApiModelProperty(value = "是否为系统字段")
private Boolean isSystem;
}

14
archives/src/main/java/com/storeroom/modules/dictionary/domain/vo/DictionaryVO.java

@ -28,22 +28,22 @@ public class DictionaryVO {
private String dicCode;
@ApiModelProperty(value = "设备id")
@JSONField(name="deviceId")
@JsonProperty("device_id")
@JSONField(name="dicExplain")
@JsonProperty("dic_explain")
private String dicExplain;
@ApiModelProperty(value = "设备id")
@JSONField(name="deviceId")
@JsonProperty("device_id")
@JSONField(name="dicSequence")
@JsonProperty("dic_sequence")
private String dicSequence;
@ApiModelProperty(value = "设备id")
@JSONField(name="deviceId")
@JsonProperty("device_id")
@JSONField(name="dicType")
@JsonProperty("dic_type")
private String dicType;
@ApiModelProperty(value = "父id")
@JSONField(name="deviceId")
@JSONField(name="dicPid")
@JsonProperty("dic_pid")
private String dicPid;

65
archives/src/main/java/com/storeroom/modules/dictionary/domain/vo/FieldVO.java

@ -0,0 +1,65 @@
package com.storeroom.modules.dictionary.domain.vo;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class FieldVO {
@ApiModelProperty(value = "字段id")
@JSONField(name="id")
@JsonProperty("id")
private String id;
@ApiModelProperty(value = "字段名称")
@JSONField(name="fieldName")
@JsonProperty("field_name")
private String fieldName;
@ApiModelProperty(value = "字段含义")
@JSONField(name="fieldCnName")
@JsonProperty("field_cn_name")
private String fieldCnName;
@ApiModelProperty(value = "默认值")
@JSONField(name="isDefaultValue")
@JsonProperty("is_default_value")
private String isDefaultValue;
@ApiModelProperty(value = "字典id")
@JSONField(name="dictionaryId")
@JsonProperty("dictionary_id")
private String dictionaryId;
@ApiModelProperty(value = "数据类型")
@JSONField(name="isDataType")
@JsonProperty("is_data_type")
private Integer isDataType;
@ApiModelProperty(value = "字段长度")
@JSONField(name="isColumnLength")
@JsonProperty("is_column_length")
private Integer isColumnLength;
@ApiModelProperty(value = "排序")
@JSONField(name="isSequence")
@JsonProperty("is_sequence")
private Integer isSequence;
@ApiModelProperty(value = "功能")
@JSONField(name="isType")
@JsonProperty("is_type")
private Integer isType;
@ApiModelProperty(value = "是否为系统字段")
@JSONField(name="isSystem")
@JsonProperty("is_system")
private Boolean isSystem;
}

22
archives/src/main/java/com/storeroom/modules/dictionary/repository/DictionaryRepository.java

@ -1,14 +1,32 @@
package com.storeroom.modules.dictionary.repository;
import com.storeroom.modules.dictionary.domain.Dictionary;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
public interface DictionaryRepository extends JpaRepository<Dictionary, String> {
public interface DictionaryRepository extends JpaRepository<Dictionary, String>{
@Query(" from Dictionary ")
@Query(" from Dictionary order by dicSequence asc")
List<Dictionary> findAllOrderBy();
@Query("select id from Dictionary where dicPid = ?1 ")
List<String> findAllByPid(String pid);
@Modifying
@Transactional(rollbackFor = Exception.class)
@Query(nativeQuery = true,value = "delete from sys_dictionary where id in ?1 ")
void deleteByIds(List<String> ids);
@Query(nativeQuery = true,
countQuery = "SELECT count(1) FROM sys_dictionary where dic_pid = ?1",
value = "SELECT id,dic_name as dicName,dic_code as dicCode,dic_explain as dicExplain,dic_sequence as dicSequence,dic_type as dicType,dic_pid as dicPid FROM sys_dictionary where dic_pid = ?1")
Page<Map<String,Object>> findSubsetById(String id, Pageable page);
}

22
archives/src/main/java/com/storeroom/modules/dictionary/repository/FieldRepository.java

@ -0,0 +1,22 @@
package com.storeroom.modules.dictionary.repository;
import com.storeroom.modules.dictionary.domain.Field;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
public interface FieldRepository extends JpaRepository<Field, String>{
@Query(nativeQuery = true,value = "select id from sys_field where field_name = ?1 limit 0,1 ")
String findIdFirstByFieldName(String fieldName);
@Query("from Field where isType = ?1 order by isSequence asc ")
List<Field> findAllByIsType(Integer isType);
}

11
archives/src/main/java/com/storeroom/modules/dictionary/service/DictionaryService.java

@ -1,9 +1,20 @@
package com.storeroom.modules.dictionary.service;
import com.storeroom.modules.dictionary.domain.Dictionary;
import com.storeroom.modules.dictionary.domain.vo.DictionaryVO;
import com.storeroom.modules.dictionary.service.dto.DictionaryDTO;
import com.storeroom.utils.ResultUtils;
import org.springframework.data.domain.Pageable;
import java.util.List;
public interface DictionaryService {
//获取字典目录
List<DictionaryVO> findDictrionaryMenu();
//编辑字典信息
void edit(DictionaryDTO dto,String userName);
//删除字典信息
void delete(String dictionaryId);
//根据字典id查询子集
ResultUtils<List<DictionaryVO>> findSubsetById(String id, Pageable pageable);
}

19
archives/src/main/java/com/storeroom/modules/dictionary/service/FieldService.java

@ -0,0 +1,19 @@
package com.storeroom.modules.dictionary.service;
import com.storeroom.modules.dictionary.domain.vo.DictionaryVO;
import com.storeroom.modules.dictionary.domain.vo.FieldVO;
import com.storeroom.modules.dictionary.service.dto.DictionaryDTO;
import com.storeroom.modules.dictionary.service.dto.FieldDTO;
import com.storeroom.utils.ResultUtils;
import org.springframework.data.domain.Pageable;
import java.util.List;
public interface FieldService {
//编辑字段信息
String edit(FieldDTO dto,String userName);
//分类获取字段数据
List<FieldVO> findGroupType(Integer isType);
}

52
archives/src/main/java/com/storeroom/modules/dictionary/service/dto/DictionaryDTO.java

@ -0,0 +1,52 @@
package com.storeroom.modules.dictionary.service.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.storeroom.annotaion.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Column;
import java.io.Serializable;
@Getter
@Setter
public class DictionaryDTO implements Serializable {
@Query
@JSONField(name="id")
@JsonProperty("id")
private String id;
@Query
@JSONField(name="dic_name")
@JsonProperty("dic_name")
private String dicName;
@Query
@JSONField(name="dic_code")
@JsonProperty("dic_code")
private String dicCode;
@Query
@JSONField(name="dic_explain")
@JsonProperty("dic_explain")
private String dicExplain;
@Query
@JSONField(name="dic_sequence")
@JsonProperty("dic_sequence")
private Integer dicSequence;
@Query
@JSONField(name="dic_type")
@JsonProperty("dic_type")
private Boolean dicType;
@Query
@JSONField(name="dic_pid")
@JsonProperty("dic_pid")
private String dicPid;
}

33
archives/src/main/java/com/storeroom/modules/dictionary/service/dto/DictionaryQueryCriteria.java

@ -1,7 +1,40 @@
package com.storeroom.modules.dictionary.service.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.storeroom.annotaion.Query;
import lombok.Data;
@Data
public class DictionaryQueryCriteria {
@Query
@JSONField(name="id")
@JsonProperty("id")
private String id;
@Query
@JSONField(name="dic_name")
@JsonProperty("dic_name")
private String dic_name;
@Query
@JSONField(name="dic_code")
@JsonProperty("dic_code")
private String dic_code;
@Query
@JSONField(name="dic_explain")
@JsonProperty("dic_explain")
private String dic_explain;
@Query
@JSONField(name="dic_sequence")
@JsonProperty("dic_sequence")
private Integer dic_sequence;
@Query
@JSONField(name="dic_pid")
@JsonProperty("dic_pid")
private Integer dic_pid;
}

64
archives/src/main/java/com/storeroom/modules/dictionary/service/dto/FieldDTO.java

@ -0,0 +1,64 @@
package com.storeroom.modules.dictionary.service.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.storeroom.annotaion.Query;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
public class FieldDTO implements Serializable {
@Query
@JSONField(name="id")
@JsonProperty("id")
private String id;
@Query
@JSONField(name="field_name")
@JsonProperty("field_name")
private String fieldName;
@Query
@JSONField(name="field_cn_name")
@JsonProperty("field_cn_name")
private String fieldCnName;
@Query
@JSONField(name="is_default_value")
@JsonProperty("is_default_value")
private String isDefaultValue;
@Query
@JSONField(name="dictionary_id")
@JsonProperty("dictionary_id")
private String dictionaryId;
@Query
@JSONField(name="is_data_type")
@JsonProperty("is_data_type")
private Integer isDataType;
@Query
@JSONField(name="is_column_length")
@JsonProperty("is_column_length")
private Integer isColumnLength;
@Query
@JSONField(name="is_sequence")
@JsonProperty("is_sequence")
private Integer isSequence;
@Query
@JSONField(name="is_type")
@JsonProperty("is_type")
private Integer isType;
@Query
@JSONField(name="is_system")
@JsonProperty("is_system")
private Boolean isSystem;
}

22
archives/src/main/java/com/storeroom/modules/dictionary/service/dto/PrimaryDTO.java

@ -0,0 +1,22 @@
package com.storeroom.modules.dictionary.service.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class PrimaryDTO {
@JSONField(name="id")
@JsonProperty("id")
private String id;
@JSONField(name="ids")
@JsonProperty("ids")
private List<String> ids;
}

62
archives/src/main/java/com/storeroom/modules/dictionary/service/impl/DictionaryServiceImpl.java

@ -5,13 +5,22 @@ import com.storeroom.modules.dictionary.domain.Dictionary;
import com.storeroom.modules.dictionary.domain.vo.DictionaryVO;
import com.storeroom.modules.dictionary.repository.DictionaryRepository;
import com.storeroom.modules.dictionary.service.DictionaryService;
import com.storeroom.modules.dictionary.service.dto.DictionaryDTO;
import com.storeroom.utils.MapUtil;
import com.storeroom.utils.PageSort;
import com.storeroom.utils.ResultUtils;
import lombok.RequiredArgsConstructor;
import net.sf.json.JSONArray;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Service
@RequiredArgsConstructor
@ -38,6 +47,57 @@ public class DictionaryServiceImpl implements DictionaryService {
return menuList;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void edit(DictionaryDTO dto, String userName) {
Dictionary dictionary = new Dictionary();
if(null != dto.getId()){
dictionary = dictionaryRepository.findById(dto.getId()).get();
}else{
dictionary.setCreateBy(userName);
}
dictionary.setDicName(dto.getDicName());
dictionary.setDicCode(dto.getDicCode());
dictionary.setDicExplain(dto.getDicExplain());
dictionary.setDicSequence(dto.getDicSequence());
dictionary.setDicType(dto.getDicType());
dictionary.setDicPid(dto.getDicPid());
dictionary.setUpdatedBy(userName);
dictionary = dictionaryRepository.saveAndFlush(dictionary);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String dictionaryId) {
List<String> deleteIds = new ArrayList();
deleteIds.add(dictionaryId);
deleteIds = getChildId(dictionaryId,deleteIds);
dictionaryRepository.deleteByIds(deleteIds);
}
@Override
public ResultUtils<List<DictionaryVO>> findSubsetById(String id, Pageable pageable) {
PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "dic_sequence", Sort.Direction.ASC);
//分页查询
Page<Map<String,Object>> pageMap = dictionaryRepository.findSubsetById(id,page);
//初始化分页返回数据
List<DictionaryVO> deviceVOList = MapUtil.setList(pageMap.getContent(),DictionaryVO.class);
return ResultUtils.getResult(deviceVOList,pageMap);
}
private List<String> getChildId(String id,List<String> deleteIds){
if(null == id){
return deleteIds;
}
List<String> ids = dictionaryRepository.findAllByPid(id);
for(String did : ids){
deleteIds.add(did);
getChildId(did,deleteIds);
}
return deleteIds;
}
private static List<DictionaryVO> getChild(String id, List<Dictionary> rootMenu) {
// 子菜单
List<DictionaryVO> childList = new ArrayList<>();

55
archives/src/main/java/com/storeroom/modules/dictionary/service/impl/FieldServiceImpl.java

@ -0,0 +1,55 @@
package com.storeroom.modules.dictionary.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.storeroom.modules.dictionary.domain.Field;
import com.storeroom.modules.dictionary.domain.vo.FieldVO;
import com.storeroom.modules.dictionary.repository.FieldRepository;
import com.storeroom.modules.dictionary.service.FieldService;
import com.storeroom.modules.dictionary.service.dto.FieldDTO;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
@RequiredArgsConstructor
public class FieldServiceImpl implements FieldService {
private final FieldRepository fieldRepository;
@Override
public String edit(FieldDTO dto, String userName) {
Field field = new Field();
if(null != dto.getId()){
field = fieldRepository.findById(dto.getId()).get();
}else{
field.setCreateBy(userName);
}
String origId = fieldRepository.findIdFirstByFieldName(dto.getFieldName());
if(null != origId && origId.equals(dto.getId())){
return "已存在该字段";
}
field.setFieldName(dto.getFieldName());
field.setFieldCnName(dto.getFieldCnName());
field.setIsDefaultValue(dto.getIsDefaultValue());
field.setDictionaryId(dto.getDictionaryId());
field.setIsDataType(dto.getIsDataType());
field.setIsColumnLength(dto.getIsColumnLength());
field.setIsSequence(dto.getIsSequence());
field.setIsType(dto.getIsType());
field.setIsSystem(dto.getIsSystem());
field = fieldRepository.saveAndFlush(field);
return null;
}
@Override
public List<FieldVO> findGroupType(Integer isType) {
List<Field> fieldList = fieldRepository.findAllByIsType(isType);
List<FieldVO> fieldVOList = new ArrayList<>();
for(Field field:fieldList){
fieldVOList.add(BeanUtil.copyProperties(field,FieldVO.class));
}
return fieldVOList;
}
}

4
common/src/main/java/com/storeroom/exception/constant/ResponseStatus.java

@ -18,7 +18,9 @@ public enum ResponseStatus {
//token过期
TOKEN_UNAUTHORIZED(4001,"当前登录状态过期"),
//token 为空
TOKEN_IS_NULL(4002,"找不到当前登录信息");
TOKEN_IS_NULL(4002,"找不到当前登录信息"),
//Field重复
FIELD_REPEAT(5001,"当前字段重复");

65
common/src/main/java/com/storeroom/utils/HttpServletUtil.java

@ -0,0 +1,65 @@
package com.storeroom.utils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*
*@Description:获取HttpServlet子对象
*@Author: Liu_Lee
*/
public class HttpServletUtil {
/**
* 获取ServletRequestAttributes对象
*/
public static ServletRequestAttributes getServletRequest(){
return (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
}
/**
* 获取HttpServletRequest对象
*/
public static HttpServletRequest getRequest(){
return getServletRequest().getRequest();
}
/**
* 获取HttpServletResponse对象
*/
public static HttpServletResponse getResponse(){
return getServletRequest().getResponse();
}
/**
* 获取请求参数
*/
public static String getParameter(String param){
return getRequest().getParameter(param);
}
/**
* 获取请求参数带默认值
*/
public static String getParameter(String param, String defaultValue){
String parameter = getRequest().getParameter(param);
return StringUtils.isEmpty(parameter) ? defaultValue : parameter;
}
/**
* 获取请求参数转换为int类型
*/
public static Integer getParameterInt(String param){
return Integer.valueOf(getRequest().getParameter(param));
}
/**
* 获取请求参数转换为int类型带默认值
*/
public static Integer getParameterInt(String param, Integer defaultValue){
return Integer.valueOf(getParameter(param, String.valueOf(defaultValue)));
}
}

19
common/src/main/java/com/storeroom/utils/MapUtil.java

@ -0,0 +1,19 @@
package com.storeroom.utils;
import com.alibaba.fastjson.JSONArray;
import java.util.List;
import java.util.Map;
public class MapUtil {
/**
* List<Map<String, Object>> List<T> 数据转换
*/
public static <T> List<T> setList(final List<Map<String, Object>> srcList, Class<T> clazz) {
JSONArray jsonArray = new JSONArray();
jsonArray.addAll(srcList);
List<T> addList = jsonArray.toJavaList(clazz);
return addList;
}
}

81
common/src/main/java/com/storeroom/utils/PageSort.java

@ -0,0 +1,81 @@
package com.storeroom.utils;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import java.util.ArrayList;
import java.util.List;
/*
*@Description:分页排序数据
*@Author: Liu_Lee
*@Date: 2020/9/16 13:30
*@program: exhibit-admin
*/
public class PageSort {
private static final Integer PAGE_SIZE_DEF = 10;
private static final String ORDER_BY_COLUMN_DEF = "createtime";
private static final Sort.Direction SORT_DIRECTION = Sort.Direction.DESC;
public static PageRequest pageRequest() {
return pageRequest(PAGE_SIZE_DEF, ORDER_BY_COLUMN_DEF, SORT_DIRECTION);
}
/**
* 创建分页排序对象
*
* @param sortDirection 排序方式默认值
*/
public static PageRequest pageRequest(Integer page, Sort.Direction sortDirection) {
return pageRequest(PAGE_SIZE_DEF, ORDER_BY_COLUMN_DEF, sortDirection);
}
/**
* 创建分页排序对象
*
* @param orderByColumnDef 排序字段名称默认值
* @param sortDirection 排序方式默认值
*/
public static PageRequest pageRequest(Integer page, String orderByColumnDef, Sort.Direction sortDirection) {
return pageRequest(PAGE_SIZE_DEF, orderByColumnDef, sortDirection);
}
/**
* 创建分页排序对象
*
* @param pageSizeDef 分页数据数量默认值
* @param orderByColumnDef 排序字段名称默认值
* @param sortDirection 排序方式默认值
*/
public static PageRequest pageRequest(Integer page, Integer pageSizeDef, String orderByColumnDef, Sort.Direction sortDirection) {
Integer pageIndex = HttpServletUtil.getParameterInt("page", page);
Integer pageSize = HttpServletUtil.getParameterInt("size", pageSizeDef);
String orderByColumn = HttpServletUtil.getParameter("orderByColumn", orderByColumnDef);
String direction = HttpServletUtil.getParameter("isAsc", sortDirection.toString());
Sort sort = Sort.by(Sort.Direction.fromString(direction), orderByColumn);
return PageRequest.of(pageIndex - 1, pageSize, sort);
}
/**
* 创建分页排序对象
*
* @param pageSizeDef 分页数据数量默认值
* @param orderByColumnDef 多个排序字段名称默认值
* @param sortDirection 多个排序方式默认值
*/
public static PageRequest pageRequest(Integer page, Integer pageSizeDef, List<String> orderByColumnDef, List<Sort.Direction> sortDirection) {
Integer pageIndex = HttpServletUtil.getParameterInt("page", page);
Integer pageSize = HttpServletUtil.getParameterInt("size", pageSizeDef);
List orderList = new ArrayList();
for(int i = 0;i<orderByColumnDef.size();i++){
Sort.Order order = new Sort.Order(sortDirection.get(i),orderByColumnDef.get(i));
orderList.add(order);
}
Sort sort = Sort.by(orderList);
return PageRequest.of(pageIndex - 1, pageSize, sort);
}
}

142
common/src/main/java/com/storeroom/utils/ResultUtils.java

@ -0,0 +1,142 @@
package com.storeroom.utils;
import io.swagger.annotations.ApiModelProperty;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.domain.Page;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Getter
@Setter
public class ResultUtils<T> {
@ApiModelProperty(value = "返回数据")
private List<T> content;
@Getter(AccessLevel.NONE)
@ApiModelProperty(value = "返回数据")
private T contentT;
@ApiModelProperty(value = "返回状态")
private boolean bReturn;
@ApiModelProperty(value = "返回信息")
private String Msg;
@ApiModelProperty(value = "是否有上一页")
private boolean hasPrevious;
@ApiModelProperty(value = "是否有下一页")
private boolean hasNext;
@ApiModelProperty(value = "总数量")
private long totalElements;
@ApiModelProperty(value = "总页数")
private int totalPages;
@ApiModelProperty(value = "当前页数")
private int number;
@ApiModelProperty(value = "每页显示数量")
private int size;
public ResultUtils() { }
public ResultUtils(List<T> content, boolean hasPrevious, boolean hasNext, long totalElements, int totalPages, int number, int size) {
this.content = content;
this.bReturn = true;
this.Msg = "OK";
this.hasPrevious = hasPrevious;
this.hasNext = hasNext;
this.totalElements = totalElements;
this.totalPages = totalPages;
this.number = number;
this.size = size;
}
public ResultUtils(T contentT) {
List<T> tList = new ArrayList<>();
tList.add(contentT);
this.content = tList;
this.bReturn = true;
this.Msg = "OK";
this.hasPrevious = false;
this.hasNext = false;
this.totalElements = 1;
this.totalPages = 1;
this.number = 1;
this.size = 1;
}
public ResultUtils(List<T> content){
this.content = content;
this.bReturn = true;
this.Msg = "OK";
this.hasPrevious = false;
this.hasNext = false;
this.totalElements = content.size();
this.totalPages = 1;
this.number = 1;
this.size = content.size();
}
public ResultUtils(boolean bReturn, String Msg){
this.bReturn = bReturn;
this.Msg = Msg;
}
/***
* 单条数据返回
* @param content 数据
* @param <T> 泛型类
* @return 分页返回
*/
public static <T> ResultUtils<T> getResult(T content) {
return (ResultUtils<T>) new ResultUtils(Collections.singletonList(content));
}
/***
* 多条数据返回
* @param content 数据
* @param <T> 泛型类
* @return 分页返回
*/
public static <T> ResultUtils<List<T>> getResult(List<T> content) {
return (ResultUtils<List<T>>) new ResultUtils(content);
}
/***
* 多条数据分页返回
* @param content 数据
* @param pages 分页
* @param <T> 泛型类
* @return 分页返回
*/
public static <T> ResultUtils<List<T>> getResult(List<T> content, Page pages) {
return (ResultUtils<List<T>>) new ResultUtils(content, pages.hasPrevious(), pages.hasNext(), pages.getTotalElements(), pages.getTotalPages(), pages.getNumber() + 1, pages.getSize());
}
/***
* 无返回时添加编辑删除返回成功
* @return 无返回时添加编辑删除返回成功
* @param <T> 泛型类
*/
public static <T> ResultUtils<T> Succsee(){
return (ResultUtils<T>) new ResultUtils(true,"OK");
}
/***
* 无返回时添加编辑删除返回失败
* @param Msg 返回信息
* @param <T> 泛型类
* @return 无返回时添加编辑删除返回失败
*/
public static <T> ResultUtils<T> Error(String Msg){
return (ResultUtils<T>) new ResultUtils(true,Msg);
}
}
Loading…
Cancel
Save