Commit 02c8513d sunke

文档说明

1 个父辈 f978b6fd
package com.neotel.smfcore.common.bean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Created by sunke on 2021/7/22.
*/
@Data
@ApiModel
public class BetweenData<T> {
@ApiModelProperty(value = "起始值")
private T from;
@ApiModelProperty(value = "结束值")
private T to;
}
...@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil; ...@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.neotel.smfcore.common.annotation.QueryCondition; import com.neotel.smfcore.common.annotation.QueryCondition;
import com.neotel.smfcore.common.bean.BetweenData;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
...@@ -44,7 +45,7 @@ public class QueryHelp { ...@@ -44,7 +45,7 @@ public class QueryHelp {
if (ObjectUtil.isNotEmpty(blurry)) { if (ObjectUtil.isNotEmpty(blurry)) {
List<Criteria> orCriterialList = Lists.newArrayList(); List<Criteria> orCriterialList = Lists.newArrayList();
Criteria orCriterial = new Criteria(); // Criteria orCriterial = new Criteria();
for (String s : blurrys) { for (String s : blurrys) {
Pattern pattern = Pattern.compile(escapeExprSpecialWord(val.toString()), Pattern.CASE_INSENSITIVE); Pattern pattern = Pattern.compile(escapeExprSpecialWord(val.toString()), Pattern.CASE_INSENSITIVE);
//criteria = criteria.and(s).regex(pattern); //criteria = criteria.and(s).regex(pattern);
...@@ -107,12 +108,17 @@ public class QueryHelp { ...@@ -107,12 +108,17 @@ public class QueryHelp {
allCriteria.add(Criteria.where(attributeName).exists(true)); allCriteria.add(Criteria.where(attributeName).exists(true));
break; break;
case BETWEEN: case BETWEEN:
List<Object> between = new ArrayList<>((List<Object>)val); BetweenData<Object> between = (BetweenData<Object>)val;
//criteria = criteria.and(attributeName).gte(between.get(0)).lte(between.get(1)); //criteria = criteria.and(attributeName).gte(between.get(0)).lte(between.get(1));
Object start = between.get(0); Object from = between.getFrom();
Object end = between.get(1); Object to = between.getTo();
allCriteria.add(Criteria.where(attributeName).gte(start)); if(ObjectUtil.isNotEmpty(from)){
allCriteria.add(Criteria.where(attributeName).lte(between.get(1))); allCriteria.add(Criteria.where(attributeName).gte(from));
}
if(ObjectUtil.isNotEmpty(to)){
allCriteria.add(Criteria.where(attributeName).lte(to));
}
break; break;
default: break; default: break;
} }
...@@ -123,7 +129,7 @@ public class QueryHelp { ...@@ -123,7 +129,7 @@ public class QueryHelp {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
} }
} }
if(allCriteria.size()<=0){ if(allCriteria.isEmpty()){
return new Query(); return new Query();
} }
return new Query(new Criteria().andOperator(allCriteria)); return new Query(new Criteria().andOperator(allCriteria));
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
package com.neotel.smfcore.core.order.rest.bean.query; package com.neotel.smfcore.core.order.rest.bean.query;
import com.neotel.smfcore.common.annotation.QueryCondition; import com.neotel.smfcore.common.annotation.QueryCondition;
import com.neotel.smfcore.common.bean.BetweenData;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
...@@ -14,7 +15,7 @@ public class OrderQueryCondition { ...@@ -14,7 +15,7 @@ public class OrderQueryCondition {
private String blurry; private String blurry;
@QueryCondition(type = QueryCondition.Type.BETWEEN) @QueryCondition(type = QueryCondition.Type.BETWEEN)
private List<Date> createTime; private BetweenData<Date> createDate;
@QueryCondition(type = QueryCondition.Type.IN, propName = "source") @QueryCondition(type = QueryCondition.Type.IN, propName = "source")
private List<String> sourceList; private List<String> sourceList;
......
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
package com.neotel.smfcore.core.system.rest.bean.query; package com.neotel.smfcore.core.system.rest.bean.query;
import com.neotel.smfcore.common.annotation.QueryCondition; import com.neotel.smfcore.common.annotation.QueryCondition;
import com.neotel.smfcore.common.bean.BetweenData;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
...@@ -9,21 +12,26 @@ import java.util.Date; ...@@ -9,21 +12,26 @@ import java.util.Date;
import java.util.List; import java.util.List;
@Data @Data
@ApiModel("查询条件")
public class TaskQueryCondition { public class TaskQueryCondition {
@QueryCondition(blurry = "barcode,partNumber,posName,sourceName,subSourceInfo,memo") @QueryCondition(blurry = "barcode,partNumber,posName,sourceName,subSourceInfo,memo")
@ApiModelProperty("模糊搜索")
private String blurry; private String blurry;
@QueryCondition @QueryCondition
@ApiModelProperty("条码编号")
private String barcode; private String barcode;
@QueryCondition(type = QueryCondition.Type.BETWEEN) @QueryCondition(type = QueryCondition.Type.BETWEEN, propName = "updateDate")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd")
private List<Date> updateDate; private BetweenData<Date> updateDate;
@QueryCondition(type = QueryCondition.Type.IN, propName = "status") @QueryCondition(type = QueryCondition.Type.IN, propName = "status")
@ApiModelProperty("任务状态")
private List<String> statusList; private List<String> statusList;
@QueryCondition @QueryCondition
@ApiModelProperty("料仓Id")
private String storageId; private String storageId;
} }
...@@ -14,6 +14,8 @@ import com.neotel.smfcore.security.service.manager.IUserManager; ...@@ -14,6 +14,8 @@ import com.neotel.smfcore.security.service.manager.IUserManager;
import com.neotel.smfcore.security.service.po.Role; import com.neotel.smfcore.security.service.po.Role;
import com.neotel.smfcore.security.service.po.User; import com.neotel.smfcore.security.service.po.User;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -46,7 +48,10 @@ public class RoleController { ...@@ -46,7 +48,10 @@ public class RoleController {
@Autowired @Autowired
private RoleMapper roleMapper; private RoleMapper roleMapper;
@ApiOperation("获取单个role") @ApiOperation(value="获取单个role ",notes = "权限:roles:list")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "角色的ID",required=true)
})
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
@PreAuthorize("@el.check('roles:list')") @PreAuthorize("@el.check('roles:list')")
public RoleDto query(@PathVariable String id){ public RoleDto query(@PathVariable String id){
......
package com.neotel.smfcore.security.rest.bean.query; package com.neotel.smfcore.security.rest.bean.query;
import com.neotel.smfcore.common.annotation.QueryCondition; import com.neotel.smfcore.common.annotation.QueryCondition;
import com.neotel.smfcore.common.bean.BetweenData;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -10,7 +11,7 @@ public class GroupQueryCriteria { ...@@ -10,7 +11,7 @@ public class GroupQueryCriteria {
private String blurry; private String blurry;
@QueryCondition(type = QueryCondition.Type.BETWEEN) @QueryCondition(type = QueryCondition.Type.BETWEEN)
private List<Date> createTime; private BetweenData<Date> createDate;
@QueryCondition @QueryCondition
private String id; private String id;
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
package com.neotel.smfcore.security.rest.bean.query; package com.neotel.smfcore.security.rest.bean.query;
import com.neotel.smfcore.common.annotation.QueryCondition; import com.neotel.smfcore.common.annotation.QueryCondition;
import com.neotel.smfcore.common.bean.BetweenData;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
...@@ -14,7 +15,7 @@ public class MenuQueryCondition { ...@@ -14,7 +15,7 @@ public class MenuQueryCondition {
private String blurry; private String blurry;
@QueryCondition(type = QueryCondition.Type.BETWEEN) @QueryCondition(type = QueryCondition.Type.BETWEEN)
private List<Date> createTime; private BetweenData<Date> createDate;
@QueryCondition(type = QueryCondition.Type.IS_NULL, propName = "pid") @QueryCondition(type = QueryCondition.Type.IS_NULL, propName = "pid")
private Boolean pidIsNull; private Boolean pidIsNull;
......
package com.neotel.smfcore.security.rest.bean.query; package com.neotel.smfcore.security.rest.bean.query;
import com.neotel.smfcore.common.annotation.QueryCondition; import com.neotel.smfcore.common.annotation.QueryCondition;
import com.neotel.smfcore.common.bean.BetweenData;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy; import org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.Date;
import java.util.List; import java.util.List;
@ApiModel
public class RoleQueryCriteria implements Serializable { public class RoleQueryCriteria implements Serializable {
@ApiModelProperty("模糊查询")
@QueryCondition(blurry = "name,description") @QueryCondition(blurry = "name,description")
private String blurry; private String blurry;
@QueryCondition(type = QueryCondition.Type.BETWEEN) @QueryCondition(type = QueryCondition.Type.BETWEEN)
private List<Timestamp> createTime; private BetweenData<Date> createDate;
@QueryCondition @QueryCondition
private String id; private String id;
} }
package com.neotel.smfcore.security.rest.bean.query; package com.neotel.smfcore.security.rest.bean.query;
import com.google.common.collect.Range;
import com.neotel.smfcore.common.annotation.QueryCondition; import com.neotel.smfcore.common.annotation.QueryCondition;
import com.neotel.smfcore.common.bean.BetweenData;
import lombok.Data; import lombok.Data;
import org.springframework.data.mongodb.repository.Query; import org.springframework.data.mongodb.repository.Query;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Timestamp; import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@Data @Data
public class UserQueryCriteria implements Serializable { public class UserQueryCriteria implements Serializable {
@QueryCondition @QueryCondition
...@@ -24,5 +24,7 @@ public class UserQueryCriteria implements Serializable { ...@@ -24,5 +24,7 @@ public class UserQueryCriteria implements Serializable {
private String roleId; private String roleId;
@QueryCondition(type = QueryCondition.Type.BETWEEN) @QueryCondition(type = QueryCondition.Type.BETWEEN)
private List<Timestamp> createTime; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private BetweenData<Date> createDate;
} }
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!