Commit 62cedbf9 authored by 廖旭伟's avatar 廖旭伟

增加数据管理模块

parent ccfd59ee
package com.mortals.xhx.base.framework.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.AntPathMatcher;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
AntPathMatcher matcher = new AntPathMatcher();
matcher.setCaseSensitive(false);
configurer.setPathMatcher(matcher);
}
}
......@@ -9,7 +9,7 @@ import java.util.Map;
/**
* 系统应用状态
*/
public enum AppStatusEnum implements IBaseEnum {
public enum ModelCensusStatus implements IBaseEnum {
NOT_OPENED(0,"暂未开通", SysConstains.STYLE_DEFAULT),
OPENED(1,"已开通", SysConstains.STYLE_DEFAULT),
;
......@@ -17,7 +17,7 @@ public enum AppStatusEnum implements IBaseEnum {
private String desc;
private String style;
AppStatusEnum(int value, String desc, String style) {
ModelCensusStatus(int value, String desc, String style) {
this.value = value;
this.desc = desc;
this.style = style;
......@@ -38,8 +38,8 @@ public enum AppStatusEnum implements IBaseEnum {
return this.style;
}
public static AppStatusEnum getByValue(int value) {
for (AppStatusEnum e : AppStatusEnum.values()) {
public static ModelCensusStatus getByValue(int value) {
for (ModelCensusStatus e : ModelCensusStatus.values()) {
if (e.getValue() == value) {
return e;
}
......@@ -49,7 +49,7 @@ public enum AppStatusEnum implements IBaseEnum {
public static Map<String,String> getEnumMap(int... eItem) {
Map<String,String> resultMap= new LinkedHashMap<String,String>();
for (AppStatusEnum item : AppStatusEnum.values()) {
for (ModelCensusStatus item : ModelCensusStatus.values()) {
try{
boolean hasE = false;
for (int e : eItem){
......
......@@ -9,7 +9,7 @@ import java.util.Map;
/**
* 应用数据统计类型
*/
public enum AppCensusType implements IBaseEnum {
public enum ModelCensusType implements IBaseEnum {
FU_WU(1,"聚焦服务", SysConstains.STYLE_DEFAULT),
XIE_TONG(2,"聚焦协同", SysConstains.STYLE_DEFAULT),
JIAN_GUAN(3,"聚焦监管", SysConstains.STYLE_DEFAULT),
......@@ -20,7 +20,7 @@ public enum AppCensusType implements IBaseEnum {
private String desc;
private String style;
AppCensusType(int value, String desc, String style) {
ModelCensusType(int value, String desc, String style) {
this.value = value;
this.desc = desc;
this.style = style;
......@@ -41,8 +41,8 @@ public enum AppCensusType implements IBaseEnum {
return this.style;
}
public static AppCensusType getByValue(int value) {
for (AppCensusType e : AppCensusType.values()) {
public static ModelCensusType getByValue(int value) {
for (ModelCensusType e : ModelCensusType.values()) {
if (e.getValue() == value) {
return e;
}
......@@ -52,7 +52,7 @@ public enum AppCensusType implements IBaseEnum {
public static Map<String,String> getEnumMap(int... eItem) {
Map<String,String> resultMap= new LinkedHashMap<String,String>();
for (AppCensusType item : AppCensusType.values()) {
for (ModelCensusType item : ModelCensusType.values()) {
try{
boolean hasE = false;
for (int e : eItem){
......
package com.mortals.xhx.module.model.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.model.model.ModelCensusEntity;
import java.util.List;
/**
* 模块下的数据统计Dao
* 模块下的数据统计 DAO接口
*
* @author zxfei
* @date 2022-07-05
*/
public interface ModelCensusDao extends ICRUDDao<ModelCensusEntity,Long>{
}
package com.mortals.xhx.module.model.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.model.dao.ModelCensusDao;
import com.mortals.xhx.module.model.model.ModelCensusEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 模块下的数据统计DaoImpl DAO接口
*
* @author zxfei
* @date 2022-07-05
*/
@Repository("modelCensusDao")
public class ModelCensusDaoImpl extends BaseCRUDDaoMybatis<ModelCensusEntity,Long> implements ModelCensusDao {
}
package com.mortals.xhx.module.model.model;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.model.model.vo.ModelCensusVo;
/**
* 模块下的数据统计实体对象
*
* @author zxfei
* @date 2022-07-05
*/
public class ModelCensusEntity extends ModelCensusVo {
private static final long serialVersionUID = 1L;
/**
* 模块ID,主键
*/
private Long modelId;
/**
* 数据统计名称
*/
private String censusName;
/**
* 链接地址
*/
private String censusUrl;
/**
* 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
*/
private Integer censusType;
/**
* 状态,0暂未开通,1已开通
*/
private Integer status;
/**
* 创建用户名称
*/
private String createUserName;
/**
* 更新用户名称
*/
private String updateUserName;
public ModelCensusEntity(){}
/**
* 获取 模块ID,主键
* @return Long
*/
public Long getModelId(){
return modelId;
}
/**
* 设置 模块ID,主键
* @param modelId
*/
public void setModelId(Long modelId){
this.modelId = modelId;
}
/**
* 获取 数据统计名称
* @return String
*/
public String getCensusName(){
return censusName;
}
/**
* 设置 数据统计名称
* @param censusName
*/
public void setCensusName(String censusName){
this.censusName = censusName;
}
/**
* 获取 链接地址
* @return String
*/
public String getCensusUrl(){
return censusUrl;
}
/**
* 设置 链接地址
* @param censusUrl
*/
public void setCensusUrl(String censusUrl){
this.censusUrl = censusUrl;
}
/**
* 获取 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @return Integer
*/
public Integer getCensusType(){
return censusType;
}
/**
* 设置 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @param censusType
*/
public void setCensusType(Integer censusType){
this.censusType = censusType;
}
/**
* 获取 状态,0暂未开通,1已开通
* @return Integer
*/
public Integer getStatus(){
return status;
}
/**
* 设置 状态,0暂未开通,1已开通
* @param status
*/
public void setStatus(Integer status){
this.status = status;
}
/**
* 获取 创建用户名称
* @return String
*/
public String getCreateUserName(){
return createUserName;
}
/**
* 设置 创建用户名称
* @param createUserName
*/
public void setCreateUserName(String createUserName){
this.createUserName = createUserName;
}
/**
* 获取 更新用户名称
* @return String
*/
public String getUpdateUserName(){
return updateUserName;
}
/**
* 设置 更新用户名称
* @param updateUserName
*/
public void setUpdateUserName(String updateUserName){
this.updateUserName = updateUserName;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof ModelCensusEntity) {
ModelCensusEntity tmp = (ModelCensusEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",modelId:").append(getModelId());
sb.append(",censusName:").append(getCensusName());
sb.append(",censusUrl:").append(getCensusUrl());
sb.append(",censusType:").append(getCensusType());
sb.append(",status:").append(getStatus());
sb.append(",createUserName:").append(getCreateUserName());
sb.append(",updateUserName:").append(getUpdateUserName());
return sb.toString();
}
public void initAttrValue(){
this.modelId = null;
this.censusName = "";
this.censusUrl = "";
this.censusType = 1;
this.status = 0;
this.createUserName = "";
this.updateUserName = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.model.model;
import java.util.List;
import com.mortals.xhx.module.model.model.ModelCensusEntity;
/**
* 模块下的数据统计查询对象
*
* @author zxfei
* @date 2022-07-05
*/
public class ModelCensusQuery extends ModelCensusEntity {
/** 开始 主键ID,主键,自增长 */
private Long idStart;
/** 结束 主键ID,主键,自增长 */
private Long idEnd;
/** 增加 主键ID,主键,自增长 */
private Long idIncrement;
/** 主键ID,主键,自增长列表 */
private List <Long> idList;
/** 开始 模块ID,主键 */
private Long modelIdStart;
/** 结束 模块ID,主键 */
private Long modelIdEnd;
/** 增加 模块ID,主键 */
private Long modelIdIncrement;
/** 模块ID,主键列表 */
private List <Long> modelIdList;
/** 数据统计名称 */
private List<String> censusNameList;
/** 链接地址 */
private List<String> censusUrlList;
/** 开始 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1 */
private Integer censusTypeStart;
/** 结束 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1 */
private Integer censusTypeEnd;
/** 增加 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1 */
private Integer censusTypeIncrement;
/** 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1列表 */
private List <Integer> censusTypeList;
/** 开始 状态,0暂未开通,1已开通 */
private Integer statusStart;
/** 结束 状态,0暂未开通,1已开通 */
private Integer statusEnd;
/** 增加 状态,0暂未开通,1已开通 */
private Integer statusIncrement;
/** 状态,0暂未开通,1已开通列表 */
private List <Integer> statusList;
/** 开始 创建用户 */
private Long createUserIdStart;
/** 结束 创建用户 */
private Long createUserIdEnd;
/** 增加 创建用户 */
private Long createUserIdIncrement;
/** 创建用户列表 */
private List <Long> createUserIdList;
/** 创建用户名称 */
private List<String> createUserNameList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 更新时间 */
private String updateTimeStart;
/** 结束 更新时间 */
private String updateTimeEnd;
/** 开始 更新用户 */
private Long updateUserIdStart;
/** 结束 更新用户 */
private Long updateUserIdEnd;
/** 增加 更新用户 */
private Long updateUserIdIncrement;
/** 更新用户列表 */
private List <Long> updateUserIdList;
/** 更新用户名称 */
private List<String> updateUserNameList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<ModelCensusQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<ModelCensusQuery> andConditionList;
public ModelCensusQuery(){}
/**
* 获取 开始 主键ID,主键,自增长
* @return idStart
*/
public Long getIdStart(){
return this.idStart;
}
/**
* 设置 开始 主键ID,主键,自增长
* @param idStart
*/
public void setIdStart(Long idStart){
this.idStart = idStart;
}
/**
* 获取 结束 主键ID,主键,自增长
* @return $idEnd
*/
public Long getIdEnd(){
return this.idEnd;
}
/**
* 设置 结束 主键ID,主键,自增长
* @param idEnd
*/
public void setIdEnd(Long idEnd){
this.idEnd = idEnd;
}
/**
* 获取 增加 主键ID,主键,自增长
* @return idIncrement
*/
public Long getIdIncrement(){
return this.idIncrement;
}
/**
* 设置 增加 主键ID,主键,自增长
* @param idIncrement
*/
public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement;
}
/**
* 获取 主键ID,主键,自增长
* @return idList
*/
public List<Long> getIdList(){
return this.idList;
}
/**
* 设置 主键ID,主键,自增长
* @param idList
*/
public void setIdList(List<Long> idList){
this.idList = idList;
}
/**
* 获取 开始 模块ID,主键
* @return modelIdStart
*/
public Long getModelIdStart(){
return this.modelIdStart;
}
/**
* 设置 开始 模块ID,主键
* @param modelIdStart
*/
public void setModelIdStart(Long modelIdStart){
this.modelIdStart = modelIdStart;
}
/**
* 获取 结束 模块ID,主键
* @return $modelIdEnd
*/
public Long getModelIdEnd(){
return this.modelIdEnd;
}
/**
* 设置 结束 模块ID,主键
* @param modelIdEnd
*/
public void setModelIdEnd(Long modelIdEnd){
this.modelIdEnd = modelIdEnd;
}
/**
* 获取 增加 模块ID,主键
* @return modelIdIncrement
*/
public Long getModelIdIncrement(){
return this.modelIdIncrement;
}
/**
* 设置 增加 模块ID,主键
* @param modelIdIncrement
*/
public void setModelIdIncrement(Long modelIdIncrement){
this.modelIdIncrement = modelIdIncrement;
}
/**
* 获取 模块ID,主键
* @return modelIdList
*/
public List<Long> getModelIdList(){
return this.modelIdList;
}
/**
* 设置 模块ID,主键
* @param modelIdList
*/
public void setModelIdList(List<Long> modelIdList){
this.modelIdList = modelIdList;
}
/**
* 获取 数据统计名称
* @return censusNameList
*/
public List<String> getCensusNameList(){
return this.censusNameList;
}
/**
* 设置 数据统计名称
* @param censusNameList
*/
public void setCensusNameList(List<String> censusNameList){
this.censusNameList = censusNameList;
}
/**
* 获取 链接地址
* @return censusUrlList
*/
public List<String> getCensusUrlList(){
return this.censusUrlList;
}
/**
* 设置 链接地址
* @param censusUrlList
*/
public void setCensusUrlList(List<String> censusUrlList){
this.censusUrlList = censusUrlList;
}
/**
* 获取 开始 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @return censusTypeStart
*/
public Integer getCensusTypeStart(){
return this.censusTypeStart;
}
/**
* 设置 开始 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @param censusTypeStart
*/
public void setCensusTypeStart(Integer censusTypeStart){
this.censusTypeStart = censusTypeStart;
}
/**
* 获取 结束 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @return $censusTypeEnd
*/
public Integer getCensusTypeEnd(){
return this.censusTypeEnd;
}
/**
* 设置 结束 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @param censusTypeEnd
*/
public void setCensusTypeEnd(Integer censusTypeEnd){
this.censusTypeEnd = censusTypeEnd;
}
/**
* 获取 增加 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @return censusTypeIncrement
*/
public Integer getCensusTypeIncrement(){
return this.censusTypeIncrement;
}
/**
* 设置 增加 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @param censusTypeIncrement
*/
public void setCensusTypeIncrement(Integer censusTypeIncrement){
this.censusTypeIncrement = censusTypeIncrement;
}
/**
* 获取 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @return censusTypeList
*/
public List<Integer> getCensusTypeList(){
return this.censusTypeList;
}
/**
* 设置 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @param censusTypeList
*/
public void setCensusTypeList(List<Integer> censusTypeList){
this.censusTypeList = censusTypeList;
}
/**
* 获取 开始 状态,0暂未开通,1已开通
* @return statusStart
*/
public Integer getStatusStart(){
return this.statusStart;
}
/**
* 设置 开始 状态,0暂未开通,1已开通
* @param statusStart
*/
public void setStatusStart(Integer statusStart){
this.statusStart = statusStart;
}
/**
* 获取 结束 状态,0暂未开通,1已开通
* @return $statusEnd
*/
public Integer getStatusEnd(){
return this.statusEnd;
}
/**
* 设置 结束 状态,0暂未开通,1已开通
* @param statusEnd
*/
public void setStatusEnd(Integer statusEnd){
this.statusEnd = statusEnd;
}
/**
* 获取 增加 状态,0暂未开通,1已开通
* @return statusIncrement
*/
public Integer getStatusIncrement(){
return this.statusIncrement;
}
/**
* 设置 增加 状态,0暂未开通,1已开通
* @param statusIncrement
*/
public void setStatusIncrement(Integer statusIncrement){
this.statusIncrement = statusIncrement;
}
/**
* 获取 状态,0暂未开通,1已开通
* @return statusList
*/
public List<Integer> getStatusList(){
return this.statusList;
}
/**
* 设置 状态,0暂未开通,1已开通
* @param statusList
*/
public void setStatusList(List<Integer> statusList){
this.statusList = statusList;
}
/**
* 获取 开始 创建用户
* @return createUserIdStart
*/
public Long getCreateUserIdStart(){
return this.createUserIdStart;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public void setCreateUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
}
/**
* 获取 结束 创建用户
* @return $createUserIdEnd
*/
public Long getCreateUserIdEnd(){
return this.createUserIdEnd;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public void setCreateUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
}
/**
* 获取 增加 创建用户
* @return createUserIdIncrement
*/
public Long getCreateUserIdIncrement(){
return this.createUserIdIncrement;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public void setCreateUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
}
/**
* 获取 创建用户
* @return createUserIdList
*/
public List<Long> getCreateUserIdList(){
return this.createUserIdList;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public void setCreateUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
}
/**
* 获取 创建用户名称
* @return createUserNameList
*/
public List<String> getCreateUserNameList(){
return this.createUserNameList;
}
/**
* 设置 创建用户名称
* @param createUserNameList
*/
public void setCreateUserNameList(List<String> createUserNameList){
this.createUserNameList = createUserNameList;
}
/**
* 获取 开始 创建时间
* @return createTimeStart
*/
public String getCreateTimeStart(){
return this.createTimeStart;
}
/**
* 设置 开始 创建时间
* @param createTimeStart
*/
public void setCreateTimeStart(String createTimeStart){
this.createTimeStart = createTimeStart;
}
/**
* 获取 结束 创建时间
* @return createTimeEnd
*/
public String getCreateTimeEnd(){
return this.createTimeEnd;
}
/**
* 设置 结束 创建时间
* @param createTimeEnd
*/
public void setCreateTimeEnd(String createTimeEnd){
this.createTimeEnd = createTimeEnd;
}
/**
* 获取 开始 更新时间
* @return updateTimeStart
*/
public String getUpdateTimeStart(){
return this.updateTimeStart;
}
/**
* 设置 开始 更新时间
* @param updateTimeStart
*/
public void setUpdateTimeStart(String updateTimeStart){
this.updateTimeStart = updateTimeStart;
}
/**
* 获取 结束 更新时间
* @return updateTimeEnd
*/
public String getUpdateTimeEnd(){
return this.updateTimeEnd;
}
/**
* 设置 结束 更新时间
* @param updateTimeEnd
*/
public void setUpdateTimeEnd(String updateTimeEnd){
this.updateTimeEnd = updateTimeEnd;
}
/**
* 获取 开始 更新用户
* @return updateUserIdStart
*/
public Long getUpdateUserIdStart(){
return this.updateUserIdStart;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public void setUpdateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
}
/**
* 获取 结束 更新用户
* @return $updateUserIdEnd
*/
public Long getUpdateUserIdEnd(){
return this.updateUserIdEnd;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public void setUpdateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
}
/**
* 获取 增加 更新用户
* @return updateUserIdIncrement
*/
public Long getUpdateUserIdIncrement(){
return this.updateUserIdIncrement;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
}
/**
* 获取 更新用户
* @return updateUserIdList
*/
public List<Long> getUpdateUserIdList(){
return this.updateUserIdList;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public void setUpdateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
}
/**
* 获取 更新用户名称
* @return updateUserNameList
*/
public List<String> getUpdateUserNameList(){
return this.updateUserNameList;
}
/**
* 设置 更新用户名称
* @param updateUserNameList
*/
public void setUpdateUserNameList(List<String> updateUserNameList){
this.updateUserNameList = updateUserNameList;
}
/**
* 设置 主键ID,主键,自增长
* @param id
*/
public ModelCensusQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 主键ID,主键,自增长
* @param idStart
*/
public ModelCensusQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 主键ID,主键,自增长
* @param idEnd
*/
public ModelCensusQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 主键ID,主键,自增长
* @param idIncrement
*/
public ModelCensusQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 主键ID,主键,自增长
* @param idList
*/
public ModelCensusQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 模块ID,主键
* @param modelId
*/
public ModelCensusQuery modelId(Long modelId){
setModelId(modelId);
return this;
}
/**
* 设置 开始 模块ID,主键
* @param modelIdStart
*/
public ModelCensusQuery modelIdStart(Long modelIdStart){
this.modelIdStart = modelIdStart;
return this;
}
/**
* 设置 结束 模块ID,主键
* @param modelIdEnd
*/
public ModelCensusQuery modelIdEnd(Long modelIdEnd){
this.modelIdEnd = modelIdEnd;
return this;
}
/**
* 设置 增加 模块ID,主键
* @param modelIdIncrement
*/
public ModelCensusQuery modelIdIncrement(Long modelIdIncrement){
this.modelIdIncrement = modelIdIncrement;
return this;
}
/**
* 设置 模块ID,主键
* @param modelIdList
*/
public ModelCensusQuery modelIdList(List<Long> modelIdList){
this.modelIdList = modelIdList;
return this;
}
/**
* 设置 数据统计名称
* @param censusName
*/
public ModelCensusQuery censusName(String censusName){
setCensusName(censusName);
return this;
}
/**
* 设置 数据统计名称
* @param censusNameList
*/
public ModelCensusQuery censusNameList(List<String> censusNameList){
this.censusNameList = censusNameList;
return this;
}
/**
* 设置 链接地址
* @param censusUrl
*/
public ModelCensusQuery censusUrl(String censusUrl){
setCensusUrl(censusUrl);
return this;
}
/**
* 设置 链接地址
* @param censusUrlList
*/
public ModelCensusQuery censusUrlList(List<String> censusUrlList){
this.censusUrlList = censusUrlList;
return this;
}
/**
* 设置 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @param censusType
*/
public ModelCensusQuery censusType(Integer censusType){
setCensusType(censusType);
return this;
}
/**
* 设置 开始 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @param censusTypeStart
*/
public ModelCensusQuery censusTypeStart(Integer censusTypeStart){
this.censusTypeStart = censusTypeStart;
return this;
}
/**
* 设置 结束 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @param censusTypeEnd
*/
public ModelCensusQuery censusTypeEnd(Integer censusTypeEnd){
this.censusTypeEnd = censusTypeEnd;
return this;
}
/**
* 设置 增加 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @param censusTypeIncrement
*/
public ModelCensusQuery censusTypeIncrement(Integer censusTypeIncrement){
this.censusTypeIncrement = censusTypeIncrement;
return this;
}
/**
* 设置 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
* @param censusTypeList
*/
public ModelCensusQuery censusTypeList(List<Integer> censusTypeList){
this.censusTypeList = censusTypeList;
return this;
}
/**
* 设置 状态,0暂未开通,1已开通
* @param status
*/
public ModelCensusQuery status(Integer status){
setStatus(status);
return this;
}
/**
* 设置 开始 状态,0暂未开通,1已开通
* @param statusStart
*/
public ModelCensusQuery statusStart(Integer statusStart){
this.statusStart = statusStart;
return this;
}
/**
* 设置 结束 状态,0暂未开通,1已开通
* @param statusEnd
*/
public ModelCensusQuery statusEnd(Integer statusEnd){
this.statusEnd = statusEnd;
return this;
}
/**
* 设置 增加 状态,0暂未开通,1已开通
* @param statusIncrement
*/
public ModelCensusQuery statusIncrement(Integer statusIncrement){
this.statusIncrement = statusIncrement;
return this;
}
/**
* 设置 状态,0暂未开通,1已开通
* @param statusList
*/
public ModelCensusQuery statusList(List<Integer> statusList){
this.statusList = statusList;
return this;
}
/**
* 设置 创建用户
* @param createUserId
*/
public ModelCensusQuery createUserId(Long createUserId){
setCreateUserId(createUserId);
return this;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public ModelCensusQuery createUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
return this;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public ModelCensusQuery createUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
return this;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public ModelCensusQuery createUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
return this;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public ModelCensusQuery createUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
return this;
}
/**
* 设置 创建用户名称
* @param createUserName
*/
public ModelCensusQuery createUserName(String createUserName){
setCreateUserName(createUserName);
return this;
}
/**
* 设置 创建用户名称
* @param createUserNameList
*/
public ModelCensusQuery createUserNameList(List<String> createUserNameList){
this.createUserNameList = createUserNameList;
return this;
}
/**
* 设置 更新用户
* @param updateUserId
*/
public ModelCensusQuery updateUserId(Long updateUserId){
setUpdateUserId(updateUserId);
return this;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public ModelCensusQuery updateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
return this;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public ModelCensusQuery updateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
return this;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public ModelCensusQuery updateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
return this;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public ModelCensusQuery updateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
return this;
}
/**
* 设置 更新用户名称
* @param updateUserName
*/
public ModelCensusQuery updateUserName(String updateUserName){
setUpdateUserName(updateUserName);
return this;
}
/**
* 设置 更新用户名称
* @param updateUserNameList
*/
public ModelCensusQuery updateUserNameList(List<String> updateUserNameList){
this.updateUserNameList = updateUserNameList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<ModelCensusQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<ModelCensusQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<ModelCensusQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<ModelCensusQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.module.model.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.model.model.ModelCensusEntity;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 模块下的数据统计视图对象
*
* @author zxfei
* @date 2022-07-05
*/
@Data
public class ModelCensusVo extends BaseEntityLong {
/**
* 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
*/
private String censusTypeName;
/**
* 状态,0暂未开通,1已开通
*/
private String statusName;
}
\ No newline at end of file
package com.mortals.xhx.module.model.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.model.model.ModelCensusEntity;
import com.mortals.xhx.module.model.model.ModelEntity;
import lombok.Data;
......@@ -14,4 +15,7 @@ import java.util.List;
@Data
public class ModelVo extends BaseEntityLong {
private Long siteId;
/** 模块下包含的数据统计 */
private List<ModelCensusEntity> censusList;
}
\ No newline at end of file
package com.mortals.xhx.module.model.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.model.model.ModelCensusEntity;
import java.util.List;
/**
* ModelCensusService
*
* 模块下的数据统计 service接口
*
* @author zxfei
* @date 2022-07-05
*/
public interface ModelCensusService extends ICRUDService<ModelCensusEntity,Long>{
List<ModelCensusEntity> getModelCensusList(Long modelId);
/**
* 获取站点下的所有模块
* @param siteId
* @return
* @throws AppException
*/
List<ModelCensusEntity> getListBySiteId(Long siteId) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.model.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.model.model.ModelEntity;
import com.mortals.xhx.module.model.model.ModelQuery;
import java.util.List;
/**
* ModelService
*
......@@ -11,4 +17,20 @@ import com.mortals.xhx.module.model.model.ModelEntity;
*/
public interface ModelService extends ICRUDService<ModelEntity,Long>{
/**
* 包含模块下的数据统计
* @param params
* @param context
* @return
* @throws AppException
*/
List<ModelEntity> getListAllInfo(ModelQuery params, Context context) throws AppException;
/**
* 获取站点下的所有模块
* @param siteId
* @return
* @throws AppException
*/
List<ModelEntity> getListBySiteId(Long siteId) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.model.service.impl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.StringUtils;
import com.mortals.xhx.common.code.ModelCensusStatus;
import com.mortals.xhx.common.code.ModelCensusType;
import com.mortals.xhx.module.model.model.ModelCensusQuery;
import com.mortals.xhx.module.model.model.ModelEntity;
import com.mortals.xhx.module.model.model.ModelQuery;
import com.mortals.xhx.module.model.service.ModelService;
import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.service.SiteService;
import io.sentry.protocol.App;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.module.model.dao.ModelCensusDao;
import com.mortals.xhx.module.model.model.ModelCensusEntity;
import com.mortals.xhx.module.model.service.ModelCensusService;
import java.util.*;
import java.util.stream.Collectors;
/**
* ModelCensusService
* 模块下的数据统计 service实现
*
* @author zxfei
* @date 2022-07-05
*/
@Service("modelCensusService")
public class ModelCensusServiceImpl extends AbstractCRUDServiceImpl<ModelCensusDao, ModelCensusEntity, Long> implements ModelCensusService {
@Autowired
private SiteService siteService;
@Autowired
private ModelService modelService;
@Override
protected void findAfter(ModelCensusEntity entity, Context context, List<ModelCensusEntity> list) throws AppException {
setInfo(list);
}
@Override
public List<ModelCensusEntity> getModelCensusList(Long modelId) {
Map<String, Object> condition = new HashMap<>();
condition.put("modelId",modelId);
List<ModelCensusEntity> list = this.dao.getList(condition);
setInfo(list);
return list;
}
@Override
public List<ModelCensusEntity> getListBySiteId(Long siteId) throws AppException {
if(siteId==null || siteId==0){
return Collections.emptyList();
}
SiteEntity siteEntity = siteService.get(siteId);
if(siteEntity!=null){
List<String> modelIds = StringUtils.converStr2List(siteEntity.getModelIds());
List<Long> ids = modelIds.stream().map(s -> DataUtil.converStr2Long(s.trim(),0)).collect(Collectors.toList());
if(ids.isEmpty()){
ids.add(0l);
}
ModelCensusQuery censusQuery = new ModelCensusQuery();
censusQuery.setModelIdList(ids);
List<ModelCensusEntity> modelCensusEntityList = this.find(censusQuery);
return modelCensusEntityList;
}else {
return Collections.emptyList();
}
}
@Override
protected void validData(ModelCensusEntity entity, Context context) throws AppException {
if(entity.getModelId()==null){
throw new AppException("模块ID不能为空");
}
if(StringUtils.isEmpty(entity.getCensusName())){
throw new AppException("数据统计名称不能为空");
}
if(entity.getStatus()==null){
throw new AppException("开通状态不能为空");
}
if(entity.getCensusType()==null){
throw new AppException("所属类型不能为空");
}
}
private void setInfo(List<ModelCensusEntity> list){
if(CollectionUtils.isNotEmpty(list)) {
list.stream().forEach(item -> {
ModelCensusStatus status = ModelCensusStatus.getByValue(item.getStatus());
item.setStatusName(status != null ? status.getDesc() : "");
ModelCensusType type = ModelCensusType.getByValue(item.getCensusType());
item.setCensusTypeName(type != null ? type.getDesc() : "");
});
}
}
}
\ No newline at end of file
package com.mortals.xhx.module.model.service.impl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.StringUtils;
import com.mortals.xhx.module.model.model.ModelCensusEntity;
import com.mortals.xhx.module.model.model.ModelQuery;
import com.mortals.xhx.module.model.service.ModelCensusService;
import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.service.SiteService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.module.model.dao.ModelDao;
import com.mortals.xhx.module.model.model.ModelEntity;
import com.mortals.xhx.module.model.service.ModelService;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* ModelService
* 模块 service实现
......@@ -13,5 +29,42 @@ import com.mortals.xhx.module.model.service.ModelService;
*/
@Service("modelService")
public class ModelServiceImpl extends AbstractCRUDServiceImpl<ModelDao, ModelEntity, Long> implements ModelService {
@Autowired
private ModelCensusService modelCensusService;
@Autowired
private SiteService siteService;
@Override
public List<ModelEntity> getListAllInfo(ModelQuery params, Context context) throws AppException {
List<ModelEntity> list = this.dao.getList(params);
if(CollectionUtils.isNotEmpty(list)){
list.stream().forEach(item->{
List<ModelCensusEntity> censusList = modelCensusService.getModelCensusList(item.getId());
item.setCensusList(censusList);
});
}
return list;
}
@Override
public List<ModelEntity> getListBySiteId(Long siteId) throws AppException {
if(siteId==null || siteId==0){
return Collections.emptyList();
}
SiteEntity siteEntity = siteService.get(siteId);
if(siteEntity!=null){
List<String> modelIds = StringUtils.converStr2List(siteEntity.getModelIds());
List<Long> ids = modelIds.stream().map(s -> DataUtil.converStr2Long(s.trim(),0)).collect(Collectors.toList());
if(ids.isEmpty()){
ids.add(0l);
}
ModelQuery modelQuery = new ModelQuery();
modelQuery.setIdList(ids);
List<ModelEntity> modelEntityList = this.find(modelQuery);
return modelEntityList;
}else {
return Collections.emptyList();
}
}
}
\ No newline at end of file
package com.mortals.xhx.module.model.web;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.IBaseEnum;
import com.mortals.framework.common.Rest;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.ModelCensusStatus;
import com.mortals.xhx.common.code.ModelCensusType;
import com.mortals.xhx.module.model.model.ModelEntity;
import com.mortals.xhx.module.model.model.ModelQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.model.model.ModelCensusEntity;
import com.mortals.xhx.module.model.model.ModelCensusQuery;
import com.mortals.xhx.module.model.service.ModelCensusService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 模块下的数据统计
*
* @author zxfei
* @date 2022-07-05
*/
@RestController
@RequestMapping("model/census")
public class ModelCensusController extends BaseCRUDJsonBodyMappingController<ModelCensusService,ModelCensusEntity,Long> {
@Autowired
private ParamService paramService;
public ModelCensusController(){
super.setModuleDesc( "模块下的数据统计");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "censusType", IBaseEnum.getEnumMap(ModelCensusType.class));
this.addDict(model, "status", IBaseEnum.getEnumMap(ModelCensusStatus.class));
super.init(model, context);
}
/**
* 条件查询,无分页信息
* @param query
* @return
*/
@PostMapping({"list/noPage"})
@UnAuth
public Rest<Object> getList(@RequestBody ModelCensusQuery query) {
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
Context context = this.getContext();
String busiDesc = "查询" + this.getModuleDesc();
int code=1;
try {
List<ModelCensusEntity> result = this.getService().find(query, context);
model.put("data", result);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var9) {
code = -1;
this.doException(this.request, busiDesc, model, var9);
}
this.init(model, context);
ret.setCode(code);
ret.setData(model);
ret.setDict(model.remove("dict"));
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
/**
* 条件查询,无分页信息
* @param query
* @return
*/
@PostMapping({"list/bySite"})
@UnAuth
public Rest<Object> getListBySite(@RequestBody ModelQuery query) {
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
Context context = this.getContext();
String busiDesc = "查询" + this.getModuleDesc();
int code=1;
try {
List<ModelCensusEntity> result = this.getService().getListBySiteId(query.getSiteId());
model.put("data", result);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var9) {
code = -1;
this.doException(this.request, busiDesc, model, var9);
}
this.init(model, context);
ret.setCode(code);
ret.setData(model);
ret.setDict(model.remove("dict"));
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
}
\ No newline at end of file
package com.mortals.xhx.module.model.web;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.OrderCol;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.framework.web.BasePhpCRUDJsonMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
......@@ -11,10 +15,14 @@ import com.mortals.xhx.module.model.model.ModelQuery;
import com.mortals.xhx.module.model.service.ModelService;
import com.mortals.xhx.module.window.model.WindowMatterEntity;
import org.springframework.beans.factory.annotation.Autowired;
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.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
......@@ -51,5 +59,96 @@ public class ModelController extends BaseCRUDJsonBodyMappingController<ModelServ
super.init(model, context);
}
/**
* 条件查询,无分页信息
* @param query
* @return
*/
@PostMapping({"list/noPage"})
@UnAuth
public Rest<Object> getList(@RequestBody ModelQuery query) {
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
Context context = this.getContext();
String busiDesc = "查询" + this.getModuleDesc();
int code=1;
try {
List<ModelEntity> result = this.getService().find(query, context);
model.put("data", result);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var9) {
code = -1;
this.doException(this.request, busiDesc, model, var9);
}
this.init(model, context);
ret.setCode(code);
ret.setData(model);
ret.setDict(model.remove("dict"));
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
/***
* 包含模块下的数据统计
* @param query
* @return
*/
@PostMapping({"list/allInfo"})
@UnAuth
public Rest<Object> getListAllInfo(@RequestBody ModelQuery query) {
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
Context context = this.getContext();
String busiDesc = "查询" + this.getModuleDesc();
int code=1;
try {
List<ModelEntity> result = this.getService().getListAllInfo(query, context);
model.put("data", result);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var9) {
code = -1;
this.doException(this.request, busiDesc, model, var9);
}
this.init(model, context);
ret.setCode(code);
ret.setData(model);
ret.setDict(model.remove("dict"));
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
/**
* 通过站点查询
* @param query
* @return
*/
@PostMapping({"list/bySite"})
@UnAuth
public Rest<Object> getListBySite(@RequestBody ModelEntity query) {
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
Context context = this.getContext();
String busiDesc = "查询" + this.getModuleDesc();
int code=1;
try {
List<ModelEntity> result = this.getService().getListBySiteId(query.getSiteId());
model.put("data", result);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var9) {
code = -1;
this.doException(this.request, busiDesc, model, var9);
}
this.init(model, context);
ret.setCode(code);
ret.setData(model);
ret.setDict(model.remove("dict"));
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
}
\ No newline at end of file
package com.mortals.xhx.module.site.model.vo;
import com.mortals.xhx.module.model.model.ModelEntity;
import com.mortals.xhx.module.site.model.SiteEntity;
import lombok.Data;
import java.util.List;
/**
* 站点完整信息
*/
@Data
public class SitAllInfoVO extends SiteEntity {
}
package com.mortals.xhx.module.site.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.model.model.ModelEntity;
import com.mortals.xhx.module.site.model.SiteEntity;
import lombok.Data;
......@@ -13,5 +14,8 @@ import java.util.List;
*/
@Data
public class SiteVo extends BaseEntityLong {
private List<Long> idList;
/** 站点包含的模块 */
private List<ModelEntity> modelList;
}
\ No newline at end of file
package com.mortals.xhx.module.site.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDCacheService;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.area.model.AreaEntity;
import com.mortals.xhx.module.area.model.AreaTreeSelect;
import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.model.SiteQuery;
import com.mortals.xhx.module.site.model.SiteTreeSelect;
import java.util.List;
......@@ -50,5 +52,7 @@ public interface SiteService extends ICRUDCacheService<SiteEntity, Long> {
void setSiteTree(List<SiteTreeSelect> list, Context context);
List<SiteEntity> getListAllInfoByQuery(SiteQuery query,Context context) throws AppException;
}
\ No newline at end of file
......@@ -11,10 +11,14 @@ import com.mortals.xhx.module.area.model.AreaEntity;
import com.mortals.xhx.module.area.model.AreaQuery;
import com.mortals.xhx.module.area.model.AreaTreeSelect;
import com.mortals.xhx.module.area.service.AreaService;
import com.mortals.xhx.module.model.model.ModelEntity;
import com.mortals.xhx.module.model.model.ModelQuery;
import com.mortals.xhx.module.model.service.ModelService;
import com.mortals.xhx.module.site.model.SiteQuery;
import com.mortals.xhx.module.site.model.SiteTreeSelect;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
......@@ -45,6 +49,8 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
@Autowired
private AreaService areaService;
@Autowired
private ModelService modelService;
@Override
protected void validData(SiteEntity entity, Context context) throws AppException {
......@@ -235,4 +241,25 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
public void setSiteTree(List<SiteTreeSelect> list, Context context) {
siteTreeMap.put(context.getUser().getId(), list);
}
@Override
public List<SiteEntity> getListAllInfoByQuery(SiteQuery query, Context context) throws AppException {
List<SiteEntity> list = this.find(query,context);
if(CollectionUtils.isNotEmpty(list)){
list.stream().forEach(item->{
ModelQuery modelQuery = new ModelQuery();
List<String> modelIds = StringUtils.converStr2List(item.getModelIds());
List<Long> ids = modelIds.stream().map(s -> DataUtil.converStr2Long(s.trim(),0)).collect(Collectors.toList());
if(ids.isEmpty()){
ids.add(0l);
}
modelQuery.setIdList(ids);
List<ModelEntity> modelEntityList = modelService.find(modelQuery);
item.setModelList(modelEntityList);
});
}
return list;
}
}
\ No newline at end of file
......@@ -2,9 +2,13 @@ package com.mortals.xhx.module.site.web;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.model.model.ModelEntity;
import com.mortals.xhx.module.model.model.ModelQuery;
import com.mortals.xhx.module.model.service.ModelService;
import com.mortals.xhx.module.site.model.SiteEntity;
......@@ -138,9 +142,64 @@ public class SiteController extends BaseCRUDJsonBodyMappingController<SiteServic
return jsonObject.toJSONString();
}
public static void main(String[] args) {
//深度克隆
/**
* 条件查询,无分页信息
* @param query
* @return
*/
@PostMapping({"list/noPage"})
@UnAuth
public Rest<Object> getList(@RequestBody SiteQuery query) {
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
Context context = this.getContext();
String busiDesc = "查询" + this.getModuleDesc();
int code=1;
try {
List<SiteEntity> result = this.getService().find(query, context);
model.put("data", result);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var9) {
code = -1;
this.doException(this.request, busiDesc, model, var9);
}
//this.init(model, context);
ret.setCode(code);
ret.setData(model);
//ret.setDict(model.remove("dict"));
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
//ObjectUtil.clone()
/**
* 包含站点下面的模块以及模块下面的数据统计
* @param query
* @return
*/
@PostMapping({"list/allInfo"})
@UnAuth
public Rest<Object> list(@RequestBody SiteQuery query) {
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
Context context = this.getContext();
String busiDesc = "查询" + this.getModuleDesc();
int code=1;
try {
List<SiteEntity> result = this.getService().getListAllInfoByQuery(query, context);
model.put("data", result);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var9) {
code = -1;
this.doException(this.request, busiDesc, model, var9);
}
this.init(model, context);
ret.setCode(code);
ret.setData(model);
ret.setDict(model.remove("dict"));
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.model.dao.ibatis.ModelCensusDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ModelCensusEntity" id="ModelCensusEntity-Map">
<id property="id" column="id" />
<result property="modelId" column="modelId" />
<result property="censusName" column="censusName" />
<result property="censusUrl" column="censusUrl" />
<result property="censusType" column="censusType" />
<result property="status" column="status" />
<result property="createUserId" column="createUserId" />
<result property="createUserName" column="createUserName" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
<result property="updateUserId" column="updateUserId" />
<result property="updateUserName" column="updateUserName" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('modelId') or colPickMode == 1 and data.containsKey('modelId')))">
a.modelId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('censusName') or colPickMode == 1 and data.containsKey('censusName')))">
a.censusName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('censusUrl') or colPickMode == 1 and data.containsKey('censusUrl')))">
a.censusUrl,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('censusType') or colPickMode == 1 and data.containsKey('censusType')))">
a.censusType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('status') or colPickMode == 1 and data.containsKey('status')))">
a.status,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserName') or colPickMode == 1 and data.containsKey('createUserName')))">
a.createUserName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
a.updateUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserName') or colPickMode == 1 and data.containsKey('updateUserName')))">
a.updateUserName,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="ModelCensusEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_sys_model_census
(modelId,censusName,censusUrl,censusType,status,createUserId,createUserName,createTime,updateTime,updateUserId,updateUserName)
VALUES
(#{modelId},#{censusName},#{censusUrl},#{censusType},#{status},#{createUserId},#{createUserName},#{createTime},#{updateTime},#{updateUserId},#{updateUserName})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_sys_model_census
(modelId,censusName,censusUrl,censusType,status,createUserId,createUserName,createTime,updateTime,updateUserId,updateUserName)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.modelId},#{item.censusName},#{item.censusUrl},#{item.censusType},#{item.status},#{item.createUserId},#{item.createUserName},#{item.createTime},#{item.updateTime},#{item.updateUserId},#{item.updateUserName})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_sys_model_census as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('modelId')) or (colPickMode==1 and !data.containsKey('modelId'))">
a.modelId=#{data.modelId},
</if>
<if test="(colPickMode==0 and data.containsKey('modelIdIncrement')) or (colPickMode==1 and !data.containsKey('modelIdIncrement'))">
a.modelId=ifnull(a.modelId,0) + #{data.modelIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('censusName')) or (colPickMode==1 and !data.containsKey('censusName'))">
a.censusName=#{data.censusName},
</if>
<if test="(colPickMode==0 and data.containsKey('censusUrl')) or (colPickMode==1 and !data.containsKey('censusUrl'))">
a.censusUrl=#{data.censusUrl},
</if>
<if test="(colPickMode==0 and data.containsKey('censusType')) or (colPickMode==1 and !data.containsKey('censusType'))">
a.censusType=#{data.censusType},
</if>
<if test="(colPickMode==0 and data.containsKey('censusTypeIncrement')) or (colPickMode==1 and !data.containsKey('censusTypeIncrement'))">
a.censusType=ifnull(a.censusType,0) + #{data.censusTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('status')) or (colPickMode==1 and !data.containsKey('status'))">
a.status=#{data.status},
</if>
<if test="(colPickMode==0 and data.containsKey('statusIncrement')) or (colPickMode==1 and !data.containsKey('statusIncrement'))">
a.status=ifnull(a.status,0) + #{data.statusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserName')) or (colPickMode==1 and !data.containsKey('createUserName'))">
a.createUserName=#{data.createUserName},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserId')) or (colPickMode==1 and !data.containsKey('updateUserId'))">
a.updateUserId=#{data.updateUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !data.containsKey('updateUserIdIncrement'))">
a.updateUserId=ifnull(a.updateUserId,0) + #{data.updateUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserName')) or (colPickMode==1 and !data.containsKey('updateUserName'))">
a.updateUserName=#{data.updateUserName},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_sys_model_census as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="modelId=(case" suffix="ELSE modelId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('modelId')) or (colPickMode==1 and !item.containsKey('modelId'))">
when a.id=#{item.id} then #{item.modelId}
</when>
<when test="(colPickMode==0 and item.containsKey('modelIdIncrement')) or (colPickMode==1 and !item.containsKey('modelIdIncrement'))">
when a.id=#{item.id} then ifnull(a.modelId,0) + #{item.modelIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="censusName=(case" suffix="ELSE censusName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('censusName')) or (colPickMode==1 and !item.containsKey('censusName'))">
when a.id=#{item.id} then #{item.censusName}
</if>
</foreach>
</trim>
<trim prefix="censusUrl=(case" suffix="ELSE censusUrl end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('censusUrl')) or (colPickMode==1 and !item.containsKey('censusUrl'))">
when a.id=#{item.id} then #{item.censusUrl}
</if>
</foreach>
</trim>
<trim prefix="censusType=(case" suffix="ELSE censusType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('censusType')) or (colPickMode==1 and !item.containsKey('censusType'))">
when a.id=#{item.id} then #{item.censusType}
</when>
<when test="(colPickMode==0 and item.containsKey('censusTypeIncrement')) or (colPickMode==1 and !item.containsKey('censusTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.censusType,0) + #{item.censusTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="status=(case" suffix="ELSE status end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('status')) or (colPickMode==1 and !item.containsKey('status'))">
when a.id=#{item.id} then #{item.status}
</when>
<when test="(colPickMode==0 and item.containsKey('statusIncrement')) or (colPickMode==1 and !item.containsKey('statusIncrement'))">
when a.id=#{item.id} then ifnull(a.status,0) + #{item.statusIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.id=#{item.id} then #{item.createUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createUserName=(case" suffix="ELSE createUserName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createUserName')) or (colPickMode==1 and !item.containsKey('createUserName'))">
when a.id=#{item.id} then #{item.createUserName}
</if>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
<trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
when a.id=#{item.id} then #{item.updateUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="updateUserName=(case" suffix="ELSE updateUserName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateUserName')) or (colPickMode==1 and !item.containsKey('updateUserName'))">
when a.id=#{item.id} then #{item.updateUserName}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ModelCensusEntity-Map">
select <include refid="_columns"/>
from mortals_sys_model_census as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_sys_model_census as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_sys_model_census where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_sys_model_census as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ModelCensusEntity-Map">
select <include refid="_columns"/>
from mortals_sys_model_census as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_sys_model_census as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('modelId')">
<if test="conditionParamRef.modelId != null ">
${_conditionType_} a.modelId = #{${_conditionParam_}.modelId}
</if>
<if test="conditionParamRef.modelId == null">
${_conditionType_} a.modelId is null
</if>
</if>
<if test="conditionParamRef.containsKey('modelIdList')">
${_conditionType_} a.modelId in
<foreach collection="conditionParamRef.modelIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('modelIdStart') and conditionParamRef.modelIdStart != null">
${_conditionType_} a.modelId <![CDATA[ >= ]]> #{${_conditionParam_}.modelIdStart}
</if>
<if test="conditionParamRef.containsKey('modelIdEnd') and conditionParamRef.modelIdEnd != null">
${_conditionType_} a.modelId <![CDATA[ <= ]]> #{${_conditionParam_}.modelIdEnd}
</if>
<if test="conditionParamRef.containsKey('censusName')">
<if test="conditionParamRef.censusName != null and conditionParamRef.censusName != ''">
${_conditionType_} a.censusName like #{${_conditionParam_}.censusName}
</if>
<if test="conditionParamRef.censusName == null">
${_conditionType_} a.censusName is null
</if>
</if>
<if test="conditionParamRef.containsKey('censusNameList')">
${_conditionType_} a.censusName in
<foreach collection="conditionParamRef.censusNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('censusUrl')">
<if test="conditionParamRef.censusUrl != null and conditionParamRef.censusUrl != ''">
${_conditionType_} a.censusUrl like #{${_conditionParam_}.censusUrl}
</if>
<if test="conditionParamRef.censusUrl == null">
${_conditionType_} a.censusUrl is null
</if>
</if>
<if test="conditionParamRef.containsKey('censusUrlList')">
${_conditionType_} a.censusUrl in
<foreach collection="conditionParamRef.censusUrlList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('censusType')">
<if test="conditionParamRef.censusType != null ">
${_conditionType_} a.censusType = #{${_conditionParam_}.censusType}
</if>
<if test="conditionParamRef.censusType == null">
${_conditionType_} a.censusType is null
</if>
</if>
<if test="conditionParamRef.containsKey('censusTypeList')">
${_conditionType_} a.censusType in
<foreach collection="conditionParamRef.censusTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('censusTypeStart') and conditionParamRef.censusTypeStart != null">
${_conditionType_} a.censusType <![CDATA[ >= ]]> #{${_conditionParam_}.censusTypeStart}
</if>
<if test="conditionParamRef.containsKey('censusTypeEnd') and conditionParamRef.censusTypeEnd != null">
${_conditionType_} a.censusType <![CDATA[ <= ]]> #{${_conditionParam_}.censusTypeEnd}
</if>
<if test="conditionParamRef.containsKey('status')">
<if test="conditionParamRef.status != null ">
${_conditionType_} a.status = #{${_conditionParam_}.status}
</if>
<if test="conditionParamRef.status == null">
${_conditionType_} a.status is null
</if>
</if>
<if test="conditionParamRef.containsKey('statusList')">
${_conditionType_} a.status in
<foreach collection="conditionParamRef.statusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('statusStart') and conditionParamRef.statusStart != null">
${_conditionType_} a.status <![CDATA[ >= ]]> #{${_conditionParam_}.statusStart}
</if>
<if test="conditionParamRef.containsKey('statusEnd') and conditionParamRef.statusEnd != null">
${_conditionType_} a.status <![CDATA[ <= ]]> #{${_conditionParam_}.statusEnd}
</if>
<if test="conditionParamRef.containsKey('createUserId')">
<if test="conditionParamRef.createUserId != null ">
${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
</if>
<if test="conditionParamRef.createUserId == null">
${_conditionType_} a.createUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList')">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
</if>
<if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('createUserName')">
<if test="conditionParamRef.createUserName != null and conditionParamRef.createUserName != ''">
${_conditionType_} a.createUserName like #{${_conditionParam_}.createUserName}
</if>
<if test="conditionParamRef.createUserName == null">
${_conditionType_} a.createUserName is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserNameList')">
${_conditionType_} a.createUserName in
<foreach collection="conditionParamRef.createUserNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateUserId')">
<if test="conditionParamRef.updateUserId != null ">
${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
</if>
<if test="conditionParamRef.updateUserId == null">
${_conditionType_} a.updateUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateUserIdList')">
${_conditionType_} a.updateUserId in
<foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
</if>
<if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('updateUserName')">
<if test="conditionParamRef.updateUserName != null and conditionParamRef.updateUserName != ''">
${_conditionType_} a.updateUserName like #{${_conditionParam_}.updateUserName}
</if>
<if test="conditionParamRef.updateUserName == null">
${_conditionType_} a.updateUserName is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateUserNameList')">
${_conditionType_} a.updateUserName in
<foreach collection="conditionParamRef.updateUserNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('modelId')">
a.modelId
<if test='orderCol.modelId != null and "DESC".equalsIgnoreCase(orderCol.modelId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('censusName')">
a.censusName
<if test='orderCol.censusName != null and "DESC".equalsIgnoreCase(orderCol.censusName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('censusUrl')">
a.censusUrl
<if test='orderCol.censusUrl != null and "DESC".equalsIgnoreCase(orderCol.censusUrl)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('censusType')">
a.censusType
<if test='orderCol.censusType != null and "DESC".equalsIgnoreCase(orderCol.censusType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('status')">
a.status
<if test='orderCol.status != null and "DESC".equalsIgnoreCase(orderCol.status)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserName')">
a.createUserName
<if test='orderCol.createUserName != null and "DESC".equalsIgnoreCase(orderCol.createUserName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateUserId')">
a.updateUserId
<if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateUserName')">
a.updateUserName
<if test='orderCol.updateUserName != null and "DESC".equalsIgnoreCase(orderCol.updateUserName)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
package com.mortals.xhx.common.pdu;
import lombok.Data;
import java.util.List;
@Data
public class ModelPdu {
private List<Long> idList;
private Long siteId;
}
package com.mortals.xhx.feign.model;
import com.alibaba.fastjson.JSON;
import com.mortals.xhx.common.code.ApiRespCodeEnum;
import com.mortals.xhx.common.pdu.ModelPdu;
import com.mortals.xhx.common.pdu.SitePdu;
import com.mortals.xhx.feign.IFeign;
import com.mortals.xhx.feign.model.vo.ModelCensusFeignVO;
import com.mortals.xhx.feign.model.vo.ModelFeignVO;
import com.mortals.xhx.feign.model.vo.SiteFeignVO;
import com.mortals.xhx.feign.rsp.ApiResp;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@FeignClient(name = "base-manager", path = "/zwfw", fallback = ModelFeignFallbackFactory.class)
public interface IApiModelFeign extends IFeign {
/**
* 根据条件查询站点列表
* @param query
* @return
*/
@PostMapping(value = "/site/list/noPage")
String getSitesByQuery(@RequestBody SitePdu query);
/**
* 根据条件查询站点列表
* @param query
* @return
*/
@PostMapping(value = "/site/list/allInfo")
ApiResp<List<SiteFeignVO>> getSitesAllInfoByQuery(@RequestBody SitePdu query);
/***
* 站点模块列表
* @param query
* @return
*/
@PostMapping(value = "model/list/noPage")
ApiResp<List<ModelFeignVO>> getModelByQuery(@RequestBody ModelPdu query);
/***
* 站点模块列表
* @param query
* @return
*/
@PostMapping(value = "model/list/bySite")
ApiResp<List<ModelFeignVO>> getModelBySiteId(@RequestBody ModelPdu query);
/***
* 站点模块列表
* @param query
* @return
*/
@PostMapping(value = "model/list/allInfo")
String getModelallInfo(@RequestBody ModelPdu query);
/***
* 站点模块数据统计列表
* @return
*/
@PostMapping(value = "model/census/list/noPage")
ApiResp<List<ModelCensusFeignVO>> getModelCensusByQuery(@RequestBody ModelPdu query);
@PostMapping(value = "model/census/list/bySite")
ApiResp<List<ModelCensusFeignVO>> getModelCensusBySiteId(@RequestBody ModelPdu query);
}
@Slf4j
@Component
class ModelFeignFallbackFactory implements FallbackFactory<IApiModelFeign> {
@Override
public IApiModelFeign create(Throwable throwable) {
return new IApiModelFeign() {
@Override
public String getSitesByQuery(SitePdu query) {
ApiResp<String> failResp = new ApiResp<>();
failResp.setCode(ApiRespCodeEnum.FAILED.getValue());
failResp.setMsg("暂时无法获取站点列表,请稍后再试!");
return JSON.toJSONString(failResp);
}
@Override
public ApiResp<List<ModelFeignVO>> getModelByQuery(ModelPdu query) {
ApiResp<List<ModelFeignVO>> failResp = new ApiResp<>();
failResp.setCode(ApiRespCodeEnum.FAILED.getValue());
failResp.setMsg("暂时无法获取站点模块列表,请稍后再试!");
return failResp;
}
@Override
public ApiResp<List<ModelFeignVO>> getModelBySiteId(ModelPdu query) {
ApiResp<List<ModelFeignVO>> failResp = new ApiResp<>();
failResp.setCode(ApiRespCodeEnum.FAILED.getValue());
failResp.setMsg("暂时无法获取站点模块列表,请稍后再试!");
return failResp;
}
@Override
public String getModelallInfo(ModelPdu query) {
ApiResp<String> failResp = new ApiResp<>();
failResp.setCode(ApiRespCodeEnum.FAILED.getValue());
failResp.setMsg("暂时无法获取站点模块列表,请稍后再试!");
return JSON.toJSONString(failResp);
}
@Override
public ApiResp<List<ModelCensusFeignVO>> getModelCensusByQuery(ModelPdu query) {
ApiResp<List<ModelCensusFeignVO>> failResp = new ApiResp<>();
failResp.setCode(ApiRespCodeEnum.FAILED.getValue());
failResp.setMsg("暂时无法获取站点模块数据统计列表,请稍后再试!");
return failResp;
}
@Override
public ApiResp<List<ModelCensusFeignVO>> getModelCensusBySiteId(ModelPdu query) {
ApiResp<List<ModelCensusFeignVO>> failResp = new ApiResp<>();
failResp.setCode(ApiRespCodeEnum.FAILED.getValue());
failResp.setMsg("暂时无法获取站点模块数据统计列表,请稍后再试!");
return failResp;
}
@Override
public ApiResp<List<SiteFeignVO>> getSitesAllInfoByQuery(SitePdu query) {
ApiResp<List<SiteFeignVO>> failResp = new ApiResp<>();
failResp.setCode(ApiRespCodeEnum.FAILED.getValue());
failResp.setMsg("暂时无法获取站点模块列表,请稍后再试!");
return failResp;
}
};
}
}
package com.mortals.xhx.feign.model.vo;
import lombok.Data;
import java.io.Serializable;
@Data
public class ModelCensusFeignVO implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
/**
* 模块ID,主键
*/
private Long modelId;
/**
* 数据统计名称
*/
private String censusName;
/**
* 链接地址
*/
private String censusUrl;
/**
* 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
*/
private Integer censusType;
/**
* 状态,0暂未开通,1已开通
*/
private Integer status;
/**
* 创建用户名称
*/
private String createUserName;
/**
* 更新用户名称
*/
private String updateUserName;
/**
* 统计类型, 1:服务,2:协同,3:监管,4:数据,5:运营。默认1
*/
private String censusTypeName;
/**
* 状态,0暂未开通,1已开通
*/
private String statusName;
}
package com.mortals.xhx.feign.model.vo;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class ModelFeignVO implements Serializable {
private static final long serialVersionUID = 123L;
private Long id;
/**
* 模块名称
*/
private String modelName;
/**
* 模块编码
*/
private String modelCode;
/**
* 模块图标
*/
private String modelIcon;
/**
* 模块地址
*/
private String modelUrl;
/**
* 备注信息
*/
private String remark;
/**
* 排序
*/
@JSONField(serialize = false)
private Integer sort;
/** 模块下包含的数据统计 */
private List<ModelCensusFeignVO> censusList;
}
package com.mortals.xhx.feign.model.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
public class SiteFeignVO implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
/**
* 站点名称
*/
private String siteName;
/**
* 站点编号
*/
private String siteCode;
/**
* 区域Id
*/
private String areaID;
/**
* 区域编号
*/
private String areaCode;
/**
* 区域名称
*/
private String areaName;
/**
* 省编码
*/
private String proCode;
/**
* 市编码
*/
private String cityCode;
/**
* 区编码
*/
private String districtCode;
/**
* 站点服务器ip
*/
private String siteIp;
/**
* 站点服务器端口
*/
private String sitePort;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
/**
* 中心联系电话
*/
private String siteTel;
/**
* 中心详细地址
*/
private String detailAddress;
/**
* 中心介绍
*/
private String siteRemark;
/**
* 上午上班开始时间
*/
private Date amWorkStartTime;
/**
* 上午上班结束时间
*/
private Date amWorkEndTime;
/**
* 下午上班开始时间
*/
private Date pmWorkStartTime;
/**
* 下午上班结束时间
*/
private Date pmWorkEndTime;
/**
* 周一 (1.上班,0.不上)
*/
private Integer workday1;
/**
* 周二 (1.上班,0.不上)
*/
private Integer workday2;
/**
* 周三 (1.上班,0.不上)
*/
private Integer workday3;
/**
* 周四 (1.上班,0.不上)
*/
private Integer workday4;
/**
* 周五 (1.上班,0.不上)
*/
private Integer workday5;
/**
* 周六 (1.上班,0.不上)
*/
private Integer workday6;
/**
* 周日 (1.上班,0.不上)
*/
private Integer workday7;
/**
* 楼层
*/
private Integer level;
/**
* 楼栋
*/
private Integer building;
/**
* 部署模块,逗号分隔
*/
private String modelIds;
/** 站点包含的模块 */
private List<ModelFeignVO> modelList;
}
package com.mortals.xhx.module.menu.model.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@Data
public class MenuNodeVO implements Serializable {
private static final long serialVersionUID = 169L;
private String nodeName;
private Long nodeId;
private Long parentId;
private List<MenuNodeVO> childList;
public MenuNodeVO(String nodeName, Long nodeId, Long parentId) {
this.nodeName = nodeName;
this.nodeId = nodeId;
this.parentId = parentId;
}
public void addChild(MenuNodeVO node){
if (childList==null){
childList =new ArrayList<>();
}
childList.add(node);
}
@Override
public String toString() {
return "MenuNodeVO{" +
"nodeName='" + nodeName + '\'' +
", nodeId=" + nodeId +
", parentId=" + parentId +
", childList=" + childList +
'}';
}
}
package com.mortals.xhx.module.model;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseJsonBodyController;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.pdu.ModelPdu;
import com.mortals.xhx.feign.model.IApiModelFeign;
import com.mortals.xhx.feign.model.vo.ModelCensusFeignVO;
import com.mortals.xhx.feign.model.vo.ModelFeignVO;
import com.mortals.xhx.feign.rsp.ApiResp;
import com.mortals.xhx.module.role.service.RoleModelService;
import org.springframework.beans.factory.annotation.Autowired;
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.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@RestController
@RequestMapping("site/model")
public class ModelController extends BaseJsonBodyController {
@Autowired
private IApiModelFeign apiModelFeign;
@Autowired
private RoleModelService roleModelService;
/**
* 获取所有模块列表
* @return
*/
@PostMapping({"list/all"})
@UnAuth
public Rest<Object> getAllList() {
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
String busiDesc = "查询站点编排" ;
int code=1;
try {
ModelPdu modelPdu = new ModelPdu();
ApiResp<List<ModelFeignVO>> apiResp = apiModelFeign.getModelByQuery(modelPdu);
if (apiResp.getCode() != YesNoEnum.YES.getValue()) {
throw new AppException("获取站点列表信息失败:" + apiResp.getMsg());
}
model.put("data", apiResp.getData());
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var9) {
code = -1;
this.doException(this.request, busiDesc, model, var9);
}
ret.setCode(code);
ret.setData(model);
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
/**
* 根据站点id查询模块列表
* @param query
* @return
*/
@PostMapping({"list"})
@UnAuth
public Rest<Object> getList(@RequestBody ModelVO query) {
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
String busiDesc = "查询站点编排" ;
int code=1;
try {
ModelPdu modelPdu = new ModelPdu();
modelPdu.setSiteId(query.getSiteId());
ApiResp<List<ModelFeignVO>> apiResp = apiModelFeign.getModelBySiteId(modelPdu);
if (apiResp.getCode() != YesNoEnum.YES.getValue()) {
throw new AppException("获取站点列表信息失败:" + apiResp.getMsg());
}
if(this.getCurUser()==null){
throw new AppException("未登录或者登录过期");
}
Map<Long,Long> map = roleModelService.getModelIdsUserId(this.getCurUser().getId());
List<ModelFeignVO> modelFeignVOList = apiResp.getData();
List<ModelFeignVO> list = modelFeignVOList.stream().filter(item->map.containsKey(item.getId())).collect(Collectors.toList());
model.put("data", list);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var9) {
code = -1;
this.doException(this.request, busiDesc, model, var9);
}
ret.setCode(code);
ret.setData(model);
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
/**
* 根据站点id查询数据管理列表
* @param query
* @return
*/
@PostMapping({"census/list"})
@UnAuth
public Rest<Object> getCensusList(@RequestBody ModelVO query) {
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
String busiDesc = "查询站点编排" ;
int code=1;
try {
ModelPdu modelPdu = new ModelPdu();
modelPdu.setSiteId(query.getSiteId());
ApiResp<List<ModelCensusFeignVO>> apiResp = apiModelFeign.getModelCensusBySiteId(modelPdu);
if (apiResp.getCode() != YesNoEnum.YES.getValue()) {
throw new AppException("获取站点数据管理列表信息失败:" + apiResp.getMsg());
}
if(this.getCurUser()==null){
throw new AppException("未登录或者登录过期");
}
Map<Long,Long> map = roleModelService.getModelCensusByUserId(this.getCurUser().getId());
List<ModelCensusFeignVO> modelFeignVOList = apiResp.getData();
List<ModelCensusFeignVO> list = modelFeignVOList.stream().filter(item->map.containsKey(item.getId())).collect(Collectors.toList());
Map<String, List<ModelCensusFeignVO>> resultList = list.stream().collect(Collectors.groupingBy(item->{ return "CensusType_"+item.getCensusType();}));
model.put("data", resultList);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var9) {
code = -1;
this.doException(this.request, busiDesc, model, var9);
}
ret.setCode(code);
ret.setData(model);
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
/**
* 获取所有数据管理列表
* @return
*/
@PostMapping({"census/list/all"})
@UnAuth
public Rest<Object> getAllCensusList() {
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
String busiDesc = "查询数据管理列表" ;
int code=1;
try {
ModelPdu modelPdu = new ModelPdu();
ApiResp<List<ModelCensusFeignVO>> apiResp = apiModelFeign.getModelCensusByQuery(modelPdu);
if (apiResp.getCode() != YesNoEnum.YES.getValue()) {
throw new AppException("获取所有数据管理列表信息失败:" + apiResp.getMsg());
}
model.put("data", apiResp.getData());
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var9) {
code = -1;
this.doException(this.request, busiDesc, model, var9);
}
ret.setCode(code);
ret.setData(model);
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
}
package com.mortals.xhx.module.model;
import lombok.Data;
@Data
public class ModelVO {
private Long siteId;
}
package com.mortals.xhx.module.role.model;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.role.model.vo.RoleModelVo;
/**
* 角色模块数据实体对象
*
* @author zxfei
* @date 2022-07-07
*/
public class RoleModelEntity extends RoleModelVo {
private static final long serialVersionUID = 1L;
/**
* 角色ID,主键
*/
private Long roleId;
/**
* 模块ID,主键
*/
private String modelIds;
/**
* 模块下的数据统计
*/
private String censusIds;
public RoleModelEntity(){}
/**
* 获取 角色ID,主键
* @return Long
*/
public Long getRoleId(){
return roleId;
}
/**
* 设置 角色ID,主键
* @param roleId
*/
public void setRoleId(Long roleId){
this.roleId = roleId;
}
/**
* 获取 模块ID,主键
* @return String
*/
public String getModelIds(){
return modelIds;
}
/**
* 设置 模块ID,主键
* @param modelIds
*/
public void setModelIds(String modelIds){
this.modelIds = modelIds;
}
/**
* 获取 模块下的数据统计
* @return String
*/
public String getCensusIds(){
return censusIds;
}
/**
* 设置 模块下的数据统计
* @param censusIds
*/
public void setCensusIds(String censusIds){
this.censusIds = censusIds;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof RoleModelEntity) {
RoleModelEntity tmp = (RoleModelEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",roleId:").append(getRoleId());
sb.append(",modelIds:").append(getModelIds());
sb.append(",censusIds:").append(getCensusIds());
return sb.toString();
}
public void initAttrValue(){
this.roleId = null;
this.modelIds = "";
this.censusIds = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.role.model;
import java.util.List;
import com.mortals.xhx.module.role.model.RoleModelEntity;
/**
* 角色模块数据查询对象
*
* @author zxfei
* @date 2022-07-07
*/
public class RoleModelQuery extends RoleModelEntity {
/** 开始 主键,自增长 */
private Long idStart;
/** 结束 主键,自增长 */
private Long idEnd;
/** 增加 主键,自增长 */
private Long idIncrement;
/** 主键,自增长列表 */
private List <Long> idList;
/** 开始 角色ID,主键 */
private Long roleIdStart;
/** 结束 角色ID,主键 */
private Long roleIdEnd;
/** 增加 角色ID,主键 */
private Long roleIdIncrement;
/** 角色ID,主键列表 */
private List <Long> roleIdList;
/** 模块ID,主键 */
private List<String> modelIdsList;
/** 模块下的数据统计 */
private List<String> censusIdsList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<RoleModelQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<RoleModelQuery> andConditionList;
public RoleModelQuery(){}
/**
* 获取 开始 主键,自增长
* @return idStart
*/
public Long getIdStart(){
return this.idStart;
}
/**
* 设置 开始 主键,自增长
* @param idStart
*/
public void setIdStart(Long idStart){
this.idStart = idStart;
}
/**
* 获取 结束 主键,自增长
* @return $idEnd
*/
public Long getIdEnd(){
return this.idEnd;
}
/**
* 设置 结束 主键,自增长
* @param idEnd
*/
public void setIdEnd(Long idEnd){
this.idEnd = idEnd;
}
/**
* 获取 增加 主键,自增长
* @return idIncrement
*/
public Long getIdIncrement(){
return this.idIncrement;
}
/**
* 设置 增加 主键,自增长
* @param idIncrement
*/
public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement;
}
/**
* 获取 主键,自增长
* @return idList
*/
public List<Long> getIdList(){
return this.idList;
}
/**
* 设置 主键,自增长
* @param idList
*/
public void setIdList(List<Long> idList){
this.idList = idList;
}
/**
* 获取 开始 角色ID,主键
* @return roleIdStart
*/
public Long getRoleIdStart(){
return this.roleIdStart;
}
/**
* 设置 开始 角色ID,主键
* @param roleIdStart
*/
public void setRoleIdStart(Long roleIdStart){
this.roleIdStart = roleIdStart;
}
/**
* 获取 结束 角色ID,主键
* @return $roleIdEnd
*/
public Long getRoleIdEnd(){
return this.roleIdEnd;
}
/**
* 设置 结束 角色ID,主键
* @param roleIdEnd
*/
public void setRoleIdEnd(Long roleIdEnd){
this.roleIdEnd = roleIdEnd;
}
/**
* 获取 增加 角色ID,主键
* @return roleIdIncrement
*/
public Long getRoleIdIncrement(){
return this.roleIdIncrement;
}
/**
* 设置 增加 角色ID,主键
* @param roleIdIncrement
*/
public void setRoleIdIncrement(Long roleIdIncrement){
this.roleIdIncrement = roleIdIncrement;
}
/**
* 获取 角色ID,主键
* @return roleIdList
*/
public List<Long> getRoleIdList(){
return this.roleIdList;
}
/**
* 设置 角色ID,主键
* @param roleIdList
*/
public void setRoleIdList(List<Long> roleIdList){
this.roleIdList = roleIdList;
}
/**
* 获取 模块ID,主键
* @return modelIdsList
*/
public List<String> getModelIdsList(){
return this.modelIdsList;
}
/**
* 设置 模块ID,主键
* @param modelIdsList
*/
public void setModelIdsList(List<String> modelIdsList){
this.modelIdsList = modelIdsList;
}
/**
* 获取 模块下的数据统计
* @return censusIdsList
*/
public List<String> getCensusIdsList(){
return this.censusIdsList;
}
/**
* 设置 模块下的数据统计
* @param censusIdsList
*/
public void setCensusIdsList(List<String> censusIdsList){
this.censusIdsList = censusIdsList;
}
/**
* 设置 主键,自增长
* @param id
*/
public RoleModelQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 主键,自增长
* @param idStart
*/
public RoleModelQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 主键,自增长
* @param idEnd
*/
public RoleModelQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 主键,自增长
* @param idIncrement
*/
public RoleModelQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 主键,自增长
* @param idList
*/
public RoleModelQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 角色ID,主键
* @param roleId
*/
public RoleModelQuery roleId(Long roleId){
setRoleId(roleId);
return this;
}
/**
* 设置 开始 角色ID,主键
* @param roleIdStart
*/
public RoleModelQuery roleIdStart(Long roleIdStart){
this.roleIdStart = roleIdStart;
return this;
}
/**
* 设置 结束 角色ID,主键
* @param roleIdEnd
*/
public RoleModelQuery roleIdEnd(Long roleIdEnd){
this.roleIdEnd = roleIdEnd;
return this;
}
/**
* 设置 增加 角色ID,主键
* @param roleIdIncrement
*/
public RoleModelQuery roleIdIncrement(Long roleIdIncrement){
this.roleIdIncrement = roleIdIncrement;
return this;
}
/**
* 设置 角色ID,主键
* @param roleIdList
*/
public RoleModelQuery roleIdList(List<Long> roleIdList){
this.roleIdList = roleIdList;
return this;
}
/**
* 设置 模块ID,主键
* @param modelIds
*/
public RoleModelQuery modelIds(String modelIds){
setModelIds(modelIds);
return this;
}
/**
* 设置 模块ID,主键
* @param modelIdsList
*/
public RoleModelQuery modelIdsList(List<String> modelIdsList){
this.modelIdsList = modelIdsList;
return this;
}
/**
* 设置 模块下的数据统计
* @param censusIds
*/
public RoleModelQuery censusIds(String censusIds){
setCensusIds(censusIds);
return this;
}
/**
* 设置 模块下的数据统计
* @param censusIdsList
*/
public RoleModelQuery censusIdsList(List<String> censusIdsList){
this.censusIdsList = censusIdsList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<RoleModelQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<RoleModelQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<RoleModelQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<RoleModelQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.module.role.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.role.model.RoleModelEntity;
import java.util.Map;
/**
* RoleModelService
*
* 角色模块数据 service接口
*
* @author zxfei
* @date 2022-07-05
*/
public interface RoleModelService extends ICRUDService<RoleModelEntity,Long>{
/**
* 获取用户拥有的模块权限
* @param userId
* @return
*/
Map<Long,Long> getModelIdsUserId(Long userId);
/**
* 获取用户拥有的模块数据统计权限
* @param userId
* @return
*/
Map<Long,Long> getModelCensusByUserId(Long userId);
}
\ No newline at end of file
package com.mortals.xhx.module.role.service.impl;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.StringUtils;
import com.mortals.xhx.module.role.model.RoleModelQuery;
import com.mortals.xhx.module.role.model.RoleUserEntity;
import com.mortals.xhx.module.role.service.RoleUserService;
import com.mortals.xhx.module.user.model.UserEntity;
import com.mortals.xhx.module.user.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.module.role.dao.RoleModelDao;
import com.mortals.xhx.module.role.model.RoleModelEntity;
import com.mortals.xhx.module.role.service.RoleModelService;
import java.util.*;
import java.util.stream.Collectors;
/**
* RoleModelService
* 角色模块数据 service实现
*
* @author zxfei
* @date 2022-07-05
*/
@Service("roleModelService")
public class RoleModelServiceImpl extends AbstractCRUDServiceImpl<RoleModelDao, RoleModelEntity, Long> implements RoleModelService {
@Autowired
private RoleUserService roleUserService;
@Override
public Map<Long, Long> getModelIdsUserId(Long userId) {
List<RoleModelEntity> roleModelList = getListByUser(userId);
Map<Long, Long> map = new HashMap<>();
roleModelList.stream().forEach(item->{
List<String> modelIds = StringUtils.converStr2List(item.getModelIds());
List<Long> ids = modelIds.stream().map(s -> DataUtil.converStr2Long(s.trim(),0)).collect(Collectors.toList());
ids.stream().forEach(i->{
map.put(i,i);
});
});
return map;
}
@Override
public Map<Long, Long> getModelCensusByUserId(Long userId) {
List<RoleModelEntity> roleModelList = getListByUser(userId);
Map<Long, Long> map = new HashMap<>();
roleModelList.stream().forEach(item->{
List<String> censusIds = StringUtils.converStr2List(item.getCensusIds());
List<Long> ids = censusIds.stream().map(s -> DataUtil.converStr2Long(s.trim(),0)).collect(Collectors.toList());
ids.stream().forEach(i->{
map.put(i,i);
});
});
return map;
}
private List<RoleModelEntity> getListByUser(Long userId){
RoleUserEntity query = new RoleUserEntity();
query.setUserId(userId);
List<RoleUserEntity> roleUserEntityList = roleUserService.find(query);
List<Long> roleIds = new ArrayList<>();
roleUserEntityList.stream().forEach(item->{
roleIds.add(item.getRoleId());
});
RoleModelQuery condition = new RoleModelQuery();
condition.setRoleIdList(roleIds);
List<RoleModelEntity> roleModelEntities = this.find(condition);
return roleModelEntities;
}
}
\ No newline at end of file
package com.mortals.xhx.module.role.web;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.StringUtils;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.pdu.SitePdu;
import com.mortals.xhx.feign.model.IApiModelFeign;
import com.mortals.xhx.feign.model.vo.SiteFeignVO;
import com.mortals.xhx.feign.rsp.ApiResp;
import com.mortals.xhx.module.role.model.RoleModelEntity;
import com.mortals.xhx.module.role.service.RoleModelService;
import org.springframework.beans.factory.annotation.Autowired;
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.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
* 角色模块数据
*
* @author zxfei
* @date 2022-07-05
*/
@RestController
@RequestMapping("role/model")
public class RoleModelController extends BaseCRUDJsonBodyMappingController<RoleModelService,RoleModelEntity,Long> {
@Autowired
private IApiModelFeign apiModelFeign;
public RoleModelController(){
super.setModuleDesc( "角色模块数据");
}
@Override
protected void init(Map<String, Object> model, Context context) {
super.init(model, context);
}
@PostMapping({"site/allInfo"})
@UnAuth
public Rest<Object> list(@RequestBody RoleModelEntity query) {
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
String busiDesc = "查询登录用户具有的站点信息";
int code=1;
try {
String siteIds = this.getCurUser().getSiteIds();
List<String> siteIdList = StringUtils.converStr2List(siteIds);
List<Long> ids = siteIdList.stream().map(s -> DataUtil.converStr2Long(s.trim(),0)).collect(Collectors.toList());
SitePdu sitePdu =new SitePdu();
sitePdu.setIdList(ids);
ApiResp<List<SiteFeignVO>> apiResp = apiModelFeign.getSitesAllInfoByQuery(sitePdu);
if (apiResp.getCode() != YesNoEnum.YES.getValue()) {
throw new AppException("获取站点列表信息失败:" + apiResp.getMsg());
}
model.put("data", apiResp.getData());
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var9) {
code = -1;
this.doException(this.request, busiDesc, model, var9);
}
ret.setCode(code);
ret.setData(model);
ret.setDict(model.get("dict"));
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.role.dao.ibatis.RoleModelDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="RoleModelEntity" id="RoleModelEntity-Map">
<id property="id" column="id" />
<result property="roleId" column="roleId" />
<result property="modelIds" column="modelIds" />
<result property="censusIds" column="censusIds" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('roleId') or colPickMode == 1 and data.containsKey('roleId')))">
a.roleId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('modelIds') or colPickMode == 1 and data.containsKey('modelIds')))">
a.modelId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('censusIds') or colPickMode == 1 and data.containsKey('censusIds')))">
a.censusIds,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="RoleModelEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_role_model
(roleId,modelIds,censusIds)
VALUES
(#{roleId},#{modelIds},#{censusIds})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_role_model
(roleId,modelIds,censusIds)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.roleId},#{item.modelIds},#{item.censusIds})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_role_model as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('roleId')) or (colPickMode==1 and !data.containsKey('roleId'))">
a.roleId=#{data.roleId},
</if>
<if test="(colPickMode==0 and data.containsKey('roleIdIncrement')) or (colPickMode==1 and !data.containsKey('roleIdIncrement'))">
a.roleId=ifnull(a.roleId,0) + #{data.roleIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('modelIds')) or (colPickMode==1 and !data.containsKey('modelIds'))">
a.modelIds=#{data.modelIds},
</if>
<if test="(colPickMode==0 and data.containsKey('censusIds')) or (colPickMode==1 and !data.containsKey('censusIds'))">
a.censusIds=#{data.censusIds},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_role_model as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="roleId=(case" suffix="ELSE roleId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('roleId')) or (colPickMode==1 and !item.containsKey('roleId'))">
when a.id=#{item.id} then #{item.roleId}
</when>
<when test="(colPickMode==0 and item.containsKey('roleIdIncrement')) or (colPickMode==1 and !item.containsKey('roleIdIncrement'))">
when a.id=#{item.id} then ifnull(a.roleId,0) + #{item.roleIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="modelId=(case" suffix="ELSE modelId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('modelIds')) or (colPickMode==1 and !item.containsKey('modelIds'))">
when a.id=#{item.id} then #{item.modelIds}
</if>
</foreach>
</trim>
<trim prefix="censusIds=(case" suffix="ELSE censusIds end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('censusIds')) or (colPickMode==1 and !item.containsKey('censusIds'))">
when a.id=#{item.id} then #{item.censusIds}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="RoleModelEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_role_model as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_role_model as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_role_model where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_role_model as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="RoleModelEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_role_model as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_role_model as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('roleId')">
<if test="conditionParamRef.roleId != null ">
${_conditionType_} a.roleId = #{${_conditionParam_}.roleId}
</if>
<if test="conditionParamRef.roleId == null">
${_conditionType_} a.roleId is null
</if>
</if>
<if test="conditionParamRef.containsKey('roleIdList')">
${_conditionType_} a.roleId in
<foreach collection="conditionParamRef.roleIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('roleIdStart') and conditionParamRef.roleIdStart != null">
${_conditionType_} a.roleId <![CDATA[ >= ]]> #{${_conditionParam_}.roleIdStart}
</if>
<if test="conditionParamRef.containsKey('roleIdEnd') and conditionParamRef.roleIdEnd != null">
${_conditionType_} a.roleId <![CDATA[ <= ]]> #{${_conditionParam_}.roleIdEnd}
</if>
<if test="conditionParamRef.containsKey('modelIds')">
<if test="conditionParamRef.modelIds != null and conditionParamRef.modelIds != ''">
${_conditionType_} a.modelIds like #{${_conditionParam_}.modelIds}
</if>
<if test="conditionParamRef.modelIds == null">
${_conditionType_} a.modelIds is null
</if>
</if>
<if test="conditionParamRef.containsKey('modelIdsList')">
${_conditionType_} a.modelIds in
<foreach collection="conditionParamRef.modelIdsList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('censusIds')">
<if test="conditionParamRef.censusIds != null and conditionParamRef.censusIds != ''">
${_conditionType_} a.censusIds like #{${_conditionParam_}.censusIds}
</if>
<if test="conditionParamRef.censusIds == null">
${_conditionType_} a.censusIds is null
</if>
</if>
<if test="conditionParamRef.containsKey('censusIdsList')">
${_conditionType_} a.censusIds in
<foreach collection="conditionParamRef.censusIdsList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('roleId')">
a.roleId
<if test='orderCol.roleId != null and "DESC".equalsIgnoreCase(orderCol.roleId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('modelIds')">
a.modelIds
<if test='orderCol.modelIds != null and "DESC".equalsIgnoreCase(orderCol.modelIds)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('censusIds')">
a.censusIds
<if test='orderCol.censusIds != null and "DESC".equalsIgnoreCase(orderCol.censusIds)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment