Commit b1bdcfd0 authored by 赵啸非's avatar 赵啸非

添加客户端资源部署

parent 24e0834c
......@@ -24,7 +24,7 @@
"jsencrypt": "3.0.0-rc.1",
"json-bigint": "^0.3.0",
"muse-ui": "^3.0.2",
"nprogress": "0.2.0",
"nprogress": "^0.2.0",
"quill": "1.3.7",
"screenfull": "5.0.2",
"sockjs-client": "^1.5.1",
......
......@@ -3,6 +3,9 @@ import Router from 'vue-router'
import Store from './store'
import Layout from './views/Layout.vue'
import fileNotFound from './views/errors/fileNotFound.vue'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
NProgress.configure({ showSpinner: false })
Vue.use(Router);
......@@ -49,6 +52,7 @@ const router = new Router({
...restBuilder('device/alarm/info', 'device/alarm/info'),//设备告警信息
...restBuilder('device/module', 'device/module'),//设备模块使用率
...restBuilder('device/module/use', 'device/module/use'),//设备模块使用率
...restBuilder('device/module/distribute', 'device/module/distribute'),//设备前端模块部署
...restBuilder('device/log', 'device/log'),//
......@@ -128,6 +132,7 @@ function ssoCheck(to, from, next) {
router.afterEach(() => {
document.body.scrollTop = 0
document.documentElement.scrollTop = 0
NProgress.done()
})
// 路由鉴权
......@@ -135,6 +140,7 @@ router.beforeEach((to, from, next) => {
// if (ssoCheck(to, from, next)) { //sso鉴权检查
// return
// }
NProgress.start()
if (to.matched.some(record => record.meta.requiresAuth)) {
if (Store.state.isLogin) {
next();
......
......@@ -42,6 +42,9 @@ export default {
<style lang="less">
.page {
min-height: calc(100vh - 100px);
width: 100%;
position: relative;
background: #fff;
padding: var(--padding-top) 5px 5px 5px;
......
......@@ -421,7 +421,7 @@ public class MenuEntity extends BaseEntityLong{
this.name = null;
this.url = null;
this.parentId = null;
this.orderId = null;
this.orderId = 0;
this.status = 1;
this.linkType = 0;
this.groupId = 1;
......
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 是否部署(0.否,1.是)枚举类
*
* @author zxfei
*/
public enum DistributeEnum {
(0, "否"),
(1, "是");
private Integer value;
private String desc;
DistributeEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static DistributeEnum getByValue(Integer value) {
for (DistributeEnum distributeEnum : DistributeEnum.values()) {
if (distributeEnum.getValue() == value) {
return distributeEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (DistributeEnum item : DistributeEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
public enum ImageReEnum {
RE_1920X1080(0, "1920x1080"),
RE_1080X1920(1, "1080x1920"),
RE_1280X1280(2, "1280x1280");
private Integer value;
private String desc;
ImageReEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static ImageReEnum getByValue(Integer value) {
for (ImageReEnum distributeEnum : ImageReEnum.values()) {
if (distributeEnum.getValue() == value) {
return distributeEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (ImageReEnum item : ImageReEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
......@@ -112,6 +112,6 @@ public final class Constant {
*/
public static final String PATH_SITETREE = "site/siteTree";
public static final String DISTRIBUTE_PATH = "distribute_path";
}
package com.mortals.xhx.module.device.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.device.model.DeviceModuleDistributeEntity;
import java.util.List;
/**
* 设备前端模块部署Dao
* 设备前端模块部署 DAO接口
*
* @author zxfei
* @date 2022-08-02
*/
public interface DeviceModuleDistributeDao extends ICRUDDao<DeviceModuleDistributeEntity,Long>{
}
package com.mortals.xhx.module.device.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.device.dao.DeviceModuleDistributeDao;
import com.mortals.xhx.module.device.model.DeviceModuleDistributeEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 设备前端模块部署DaoImpl DAO接口
*
* @author zxfei
* @date 2022-08-02
*/
@Repository("deviceModuleDistributeDao")
public class DeviceModuleDistributeDaoImpl extends BaseCRUDDaoMybatis<DeviceModuleDistributeEntity,Long> implements DeviceModuleDistributeDao {
}
package com.mortals.xhx.module.device.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.device.model.vo.DeviceModuleDistributeVo;
/**
* 设备前端模块部署实体对象
*
* @author zxfei
* @date 2022-08-02
*/
public class DeviceModuleDistributeEntity extends DeviceModuleDistributeVo {
private static final long serialVersionUID = 1L;
/**
* 产品Id
*/
private Long productId;
/**
* 产品编码
*/
private String productCode;
/**
* 产品名称
*/
private String productName;
/**
* 分辨率
*/
private String imageResolution;
/**
* 分辨率值
*/
@Excel(name = "分辨率值")
private String imageResolutionValue;
/**
* 文件相对路径地址
*/
@Excel(name = "文件相对路径地址")
private String filePath;
/**
* 文件部署路径地址
*/
@Excel(name = "文件部署路径地址")
private String distributeFilePath;
/**
* 版本号
*/
@Excel(name = "版本号")
private String version;
/**
* 是否部署(0.否,1.是)
*/
@Excel(name = "是否部署", readConverterExp = "0=否,1=是")
private Integer distribute;
public DeviceModuleDistributeEntity(){}
/**
* 获取 产品Id
* @return Long
*/
public Long getProductId(){
return productId;
}
/**
* 设置 产品Id
* @param productId
*/
public void setProductId(Long productId){
this.productId = productId;
}
/**
* 获取 产品编码
* @return String
*/
public String getProductCode(){
return productCode;
}
/**
* 设置 产品编码
* @param productCode
*/
public void setProductCode(String productCode){
this.productCode = productCode;
}
/**
* 获取 产品名称
* @return String
*/
public String getProductName(){
return productName;
}
/**
* 设置 产品名称
* @param productName
*/
public void setProductName(String productName){
this.productName = productName;
}
/**
* 获取 分辨率
* @return String
*/
public String getImageResolution(){
return imageResolution;
}
/**
* 设置 分辨率
* @param imageResolution
*/
public void setImageResolution(String imageResolution){
this.imageResolution = imageResolution;
}
/**
* 获取 分辨率值
* @return String
*/
public String getImageResolutionValue(){
return imageResolutionValue;
}
/**
* 设置 分辨率值
* @param imageResolutionValue
*/
public void setImageResolutionValue(String imageResolutionValue){
this.imageResolutionValue = imageResolutionValue;
}
/**
* 获取 文件相对路径地址
* @return String
*/
public String getFilePath(){
return filePath;
}
/**
* 设置 文件相对路径地址
* @param filePath
*/
public void setFilePath(String filePath){
this.filePath = filePath;
}
/**
* 获取 文件部署路径地址
* @return String
*/
public String getDistributeFilePath(){
return distributeFilePath;
}
/**
* 设置 文件部署路径地址
* @param distributeFilePath
*/
public void setDistributeFilePath(String distributeFilePath){
this.distributeFilePath = distributeFilePath;
}
/**
* 获取 版本号
* @return String
*/
public String getVersion(){
return version;
}
/**
* 设置 版本号
* @param version
*/
public void setVersion(String version){
this.version = version;
}
/**
* 获取 是否部署(0.否,1.是)
* @return Integer
*/
public Integer getDistribute(){
return distribute;
}
/**
* 设置 是否部署(0.否,1.是)
* @param distribute
*/
public void setDistribute(Integer distribute){
this.distribute = distribute;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof DeviceModuleDistributeEntity) {
DeviceModuleDistributeEntity tmp = (DeviceModuleDistributeEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",productId:").append(getProductId());
sb.append(",productCode:").append(getProductCode());
sb.append(",productName:").append(getProductName());
sb.append(",imageResolution:").append(getImageResolution());
sb.append(",imageResolutionValue:").append(getImageResolutionValue());
sb.append(",filePath:").append(getFilePath());
sb.append(",distributeFilePath:").append(getDistributeFilePath());
sb.append(",version:").append(getVersion());
sb.append(",distribute:").append(getDistribute());
return sb.toString();
}
public void initAttrValue(){
this.productId = null;
this.productCode = "";
this.productName = "";
this.imageResolution = "";
this.imageResolutionValue = "";
this.filePath = "";
this.distributeFilePath = "";
this.version = "";
this.distribute = 0;
}
}
\ No newline at end of file
package com.mortals.xhx.module.device.model;
import java.util.List;
import com.mortals.xhx.module.device.model.DeviceModuleDistributeEntity;
/**
* 设备前端模块部署查询对象
*
* @author zxfei
* @date 2022-08-02
*/
public class DeviceModuleDistributeQuery extends DeviceModuleDistributeEntity {
/** 开始 主键ID,主键,自增长 */
private Long idStart;
/** 结束 主键ID,主键,自增长 */
private Long idEnd;
/** 增加 主键ID,主键,自增长 */
private Long idIncrement;
/** 主键ID,主键,自增长列表 */
private List <Long> idList;
/** 开始 产品Id */
private Long productIdStart;
/** 结束 产品Id */
private Long productIdEnd;
/** 增加 产品Id */
private Long productIdIncrement;
/** 产品Id列表 */
private List <Long> productIdList;
/** 产品编码 */
private List<String> productCodeList;
/** 产品名称 */
private List<String> productNameList;
/** 分辨率 */
private List<String> imageResolutionList;
/** 分辨率值 */
private List<String> imageResolutionValueList;
/** 文件相对路径地址 */
private List<String> filePathList;
/** 文件部署路径地址 */
private List<String> distributeFilePathList;
/** 版本号 */
private List<String> versionList;
/** 开始 是否部署(0.否,1.是) */
private Integer distributeStart;
/** 结束 是否部署(0.否,1.是) */
private Integer distributeEnd;
/** 增加 是否部署(0.否,1.是) */
private Integer distributeIncrement;
/** 是否部署(0.否,1.是)列表 */
private List <Integer> distributeList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 更新用户 */
private Long updateUserIdStart;
/** 结束 更新用户 */
private Long updateUserIdEnd;
/** 增加 更新用户 */
private Long updateUserIdIncrement;
/** 更新用户列表 */
private List <Long> updateUserIdList;
/** 开始 更新时间 */
private String updateTimeStart;
/** 结束 更新时间 */
private String updateTimeEnd;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<DeviceModuleDistributeQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<DeviceModuleDistributeQuery> andConditionList;
public DeviceModuleDistributeQuery(){}
/**
* 获取 开始 主键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 productIdStart
*/
public Long getProductIdStart(){
return this.productIdStart;
}
/**
* 设置 开始 产品Id
* @param productIdStart
*/
public void setProductIdStart(Long productIdStart){
this.productIdStart = productIdStart;
}
/**
* 获取 结束 产品Id
* @return $productIdEnd
*/
public Long getProductIdEnd(){
return this.productIdEnd;
}
/**
* 设置 结束 产品Id
* @param productIdEnd
*/
public void setProductIdEnd(Long productIdEnd){
this.productIdEnd = productIdEnd;
}
/**
* 获取 增加 产品Id
* @return productIdIncrement
*/
public Long getProductIdIncrement(){
return this.productIdIncrement;
}
/**
* 设置 增加 产品Id
* @param productIdIncrement
*/
public void setProductIdIncrement(Long productIdIncrement){
this.productIdIncrement = productIdIncrement;
}
/**
* 获取 产品Id
* @return productIdList
*/
public List<Long> getProductIdList(){
return this.productIdList;
}
/**
* 设置 产品Id
* @param productIdList
*/
public void setProductIdList(List<Long> productIdList){
this.productIdList = productIdList;
}
/**
* 获取 产品编码
* @return productCodeList
*/
public List<String> getProductCodeList(){
return this.productCodeList;
}
/**
* 设置 产品编码
* @param productCodeList
*/
public void setProductCodeList(List<String> productCodeList){
this.productCodeList = productCodeList;
}
/**
* 获取 产品名称
* @return productNameList
*/
public List<String> getProductNameList(){
return this.productNameList;
}
/**
* 设置 产品名称
* @param productNameList
*/
public void setProductNameList(List<String> productNameList){
this.productNameList = productNameList;
}
/**
* 获取 分辨率
* @return imageResolutionList
*/
public List<String> getImageResolutionList(){
return this.imageResolutionList;
}
/**
* 设置 分辨率
* @param imageResolutionList
*/
public void setImageResolutionList(List<String> imageResolutionList){
this.imageResolutionList = imageResolutionList;
}
/**
* 获取 分辨率值
* @return imageResolutionValueList
*/
public List<String> getImageResolutionValueList(){
return this.imageResolutionValueList;
}
/**
* 设置 分辨率值
* @param imageResolutionValueList
*/
public void setImageResolutionValueList(List<String> imageResolutionValueList){
this.imageResolutionValueList = imageResolutionValueList;
}
/**
* 获取 文件相对路径地址
* @return filePathList
*/
public List<String> getFilePathList(){
return this.filePathList;
}
/**
* 设置 文件相对路径地址
* @param filePathList
*/
public void setFilePathList(List<String> filePathList){
this.filePathList = filePathList;
}
/**
* 获取 文件部署路径地址
* @return distributeFilePathList
*/
public List<String> getDistributeFilePathList(){
return this.distributeFilePathList;
}
/**
* 设置 文件部署路径地址
* @param distributeFilePathList
*/
public void setDistributeFilePathList(List<String> distributeFilePathList){
this.distributeFilePathList = distributeFilePathList;
}
/**
* 获取 版本号
* @return versionList
*/
public List<String> getVersionList(){
return this.versionList;
}
/**
* 设置 版本号
* @param versionList
*/
public void setVersionList(List<String> versionList){
this.versionList = versionList;
}
/**
* 获取 开始 是否部署(0.否,1.是)
* @return distributeStart
*/
public Integer getDistributeStart(){
return this.distributeStart;
}
/**
* 设置 开始 是否部署(0.否,1.是)
* @param distributeStart
*/
public void setDistributeStart(Integer distributeStart){
this.distributeStart = distributeStart;
}
/**
* 获取 结束 是否部署(0.否,1.是)
* @return $distributeEnd
*/
public Integer getDistributeEnd(){
return this.distributeEnd;
}
/**
* 设置 结束 是否部署(0.否,1.是)
* @param distributeEnd
*/
public void setDistributeEnd(Integer distributeEnd){
this.distributeEnd = distributeEnd;
}
/**
* 获取 增加 是否部署(0.否,1.是)
* @return distributeIncrement
*/
public Integer getDistributeIncrement(){
return this.distributeIncrement;
}
/**
* 设置 增加 是否部署(0.否,1.是)
* @param distributeIncrement
*/
public void setDistributeIncrement(Integer distributeIncrement){
this.distributeIncrement = distributeIncrement;
}
/**
* 获取 是否部署(0.否,1.是)
* @return distributeList
*/
public List<Integer> getDistributeList(){
return this.distributeList;
}
/**
* 设置 是否部署(0.否,1.是)
* @param distributeList
*/
public void setDistributeList(List<Integer> distributeList){
this.distributeList = distributeList;
}
/**
* 获取 开始 创建时间
* @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 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 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;
}
/**
* 设置 主键ID,主键,自增长
* @param id
*/
public DeviceModuleDistributeQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 主键ID,主键,自增长
* @param idStart
*/
public DeviceModuleDistributeQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 主键ID,主键,自增长
* @param idEnd
*/
public DeviceModuleDistributeQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 主键ID,主键,自增长
* @param idIncrement
*/
public DeviceModuleDistributeQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 主键ID,主键,自增长
* @param idList
*/
public DeviceModuleDistributeQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 产品Id
* @param productId
*/
public DeviceModuleDistributeQuery productId(Long productId){
setProductId(productId);
return this;
}
/**
* 设置 开始 产品Id
* @param productIdStart
*/
public DeviceModuleDistributeQuery productIdStart(Long productIdStart){
this.productIdStart = productIdStart;
return this;
}
/**
* 设置 结束 产品Id
* @param productIdEnd
*/
public DeviceModuleDistributeQuery productIdEnd(Long productIdEnd){
this.productIdEnd = productIdEnd;
return this;
}
/**
* 设置 增加 产品Id
* @param productIdIncrement
*/
public DeviceModuleDistributeQuery productIdIncrement(Long productIdIncrement){
this.productIdIncrement = productIdIncrement;
return this;
}
/**
* 设置 产品Id
* @param productIdList
*/
public DeviceModuleDistributeQuery productIdList(List<Long> productIdList){
this.productIdList = productIdList;
return this;
}
/**
* 设置 产品编码
* @param productCode
*/
public DeviceModuleDistributeQuery productCode(String productCode){
setProductCode(productCode);
return this;
}
/**
* 设置 产品编码
* @param productCodeList
*/
public DeviceModuleDistributeQuery productCodeList(List<String> productCodeList){
this.productCodeList = productCodeList;
return this;
}
/**
* 设置 产品名称
* @param productName
*/
public DeviceModuleDistributeQuery productName(String productName){
setProductName(productName);
return this;
}
/**
* 设置 产品名称
* @param productNameList
*/
public DeviceModuleDistributeQuery productNameList(List<String> productNameList){
this.productNameList = productNameList;
return this;
}
/**
* 设置 分辨率
* @param imageResolution
*/
public DeviceModuleDistributeQuery imageResolution(String imageResolution){
setImageResolution(imageResolution);
return this;
}
/**
* 设置 分辨率
* @param imageResolutionList
*/
public DeviceModuleDistributeQuery imageResolutionList(List<String> imageResolutionList){
this.imageResolutionList = imageResolutionList;
return this;
}
/**
* 设置 分辨率值
* @param imageResolutionValue
*/
public DeviceModuleDistributeQuery imageResolutionValue(String imageResolutionValue){
setImageResolutionValue(imageResolutionValue);
return this;
}
/**
* 设置 分辨率值
* @param imageResolutionValueList
*/
public DeviceModuleDistributeQuery imageResolutionValueList(List<String> imageResolutionValueList){
this.imageResolutionValueList = imageResolutionValueList;
return this;
}
/**
* 设置 文件相对路径地址
* @param filePath
*/
public DeviceModuleDistributeQuery filePath(String filePath){
setFilePath(filePath);
return this;
}
/**
* 设置 文件相对路径地址
* @param filePathList
*/
public DeviceModuleDistributeQuery filePathList(List<String> filePathList){
this.filePathList = filePathList;
return this;
}
/**
* 设置 文件部署路径地址
* @param distributeFilePath
*/
public DeviceModuleDistributeQuery distributeFilePath(String distributeFilePath){
setDistributeFilePath(distributeFilePath);
return this;
}
/**
* 设置 文件部署路径地址
* @param distributeFilePathList
*/
public DeviceModuleDistributeQuery distributeFilePathList(List<String> distributeFilePathList){
this.distributeFilePathList = distributeFilePathList;
return this;
}
/**
* 设置 版本号
* @param version
*/
public DeviceModuleDistributeQuery version(String version){
setVersion(version);
return this;
}
/**
* 设置 版本号
* @param versionList
*/
public DeviceModuleDistributeQuery versionList(List<String> versionList){
this.versionList = versionList;
return this;
}
/**
* 设置 是否部署(0.否,1.是)
* @param distribute
*/
public DeviceModuleDistributeQuery distribute(Integer distribute){
setDistribute(distribute);
return this;
}
/**
* 设置 开始 是否部署(0.否,1.是)
* @param distributeStart
*/
public DeviceModuleDistributeQuery distributeStart(Integer distributeStart){
this.distributeStart = distributeStart;
return this;
}
/**
* 设置 结束 是否部署(0.否,1.是)
* @param distributeEnd
*/
public DeviceModuleDistributeQuery distributeEnd(Integer distributeEnd){
this.distributeEnd = distributeEnd;
return this;
}
/**
* 设置 增加 是否部署(0.否,1.是)
* @param distributeIncrement
*/
public DeviceModuleDistributeQuery distributeIncrement(Integer distributeIncrement){
this.distributeIncrement = distributeIncrement;
return this;
}
/**
* 设置 是否部署(0.否,1.是)
* @param distributeList
*/
public DeviceModuleDistributeQuery distributeList(List<Integer> distributeList){
this.distributeList = distributeList;
return this;
}
/**
* 设置 更新用户
* @param updateUserId
*/
public DeviceModuleDistributeQuery updateUserId(Long updateUserId){
setUpdateUserId(updateUserId);
return this;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public DeviceModuleDistributeQuery updateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
return this;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public DeviceModuleDistributeQuery updateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
return this;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public DeviceModuleDistributeQuery updateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
return this;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public DeviceModuleDistributeQuery updateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<DeviceModuleDistributeQuery> 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<DeviceModuleDistributeQuery> 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<DeviceModuleDistributeQuery> 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<DeviceModuleDistributeQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.module.device.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.device.model.DeviceModuleDistributeEntity;
import java.util.ArrayList;
import java.util.List;
/**
* 设备前端模块部署视图对象
*
* @author zxfei
* @date 2022-08-02
*/
public class DeviceModuleDistributeVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.device.service;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.device.model.DeviceModuleDistributeEntity;
/**
* DeviceModuleDistributeService
*
* 设备前端模块部署 service接口
*
* @author zxfei
* @date 2022-08-02
*/
public interface DeviceModuleDistributeService extends ICRUDService<DeviceModuleDistributeEntity,Long>{
void active(DeviceModuleDistributeEntity distributeEntity, Context context);
}
\ No newline at end of file
package com.mortals.xhx.module.device.service.impl;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.ZipUtil;
import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.common.code.ImageReEnum;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.key.Constant;
import com.mortals.xhx.module.product.model.ProductEntity;
import com.mortals.xhx.module.product.service.ProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.module.device.dao.DeviceModuleDistributeDao;
import com.mortals.xhx.module.device.model.DeviceModuleDistributeEntity;
import com.mortals.xhx.module.device.service.DeviceModuleDistributeService;
import java.io.File;
import java.util.Date;
import java.util.zip.ZipEntry;
/**
* DeviceModuleDistributeService
* 设备前端模块部署 service实现
*
* @author zxfei
* @date 2022-08-02
*/
@Service("deviceModuleDistributeService")
public class DeviceModuleDistributeServiceImpl extends AbstractCRUDServiceImpl<DeviceModuleDistributeDao, DeviceModuleDistributeEntity, Long> implements DeviceModuleDistributeService {
@Autowired
private ProductService productService;
@Override
protected void saveBefore(DeviceModuleDistributeEntity entity, Context context) throws AppException {
ProductEntity productEntity = productService.get(entity.getProductId(), context);
entity.setProductCode(productEntity.getProductCode());
entity.setProductName(productEntity.getProductName());
super.saveBefore(entity, context);
}
@Override
public void active(DeviceModuleDistributeEntity distributeEntity, Context context) {
//判断文件是否存在
if (FileUtil.isEmpty(new File(distributeEntity.getFilePath()))) {
throw new AppException("部署文件不存在!");
}
if (!FileUtil.getSuffix(distributeEntity.getFilePath()).equals("zip")) {
throw new AppException("部署只支持zip文件!");
}
//部署路径是否存在 如果不存在 创建目录,
String path = GlobalSysInfo.getParamValue(Constant.DISTRIBUTE_PATH, "/home/publish/device-new-manager-ui/homeDeviceUrl");
String code = distributeEntity.getProductCode();
String imageRe = distributeEntity.getImageResolutionValue();
String disPath = "/" + path + "/" + code + "/" + imageRe;
//判断目标目录是否存在 如果存在 这删除
if (FileUtil.isDirectory(disPath)) {
FileUtil.del(disPath);
}
ZipUtil.unzip(distributeEntity.getFilePath(), disPath);
//更新
distributeEntity.setDistributeFilePath(disPath);
distributeEntity.setDistribute(YesNoEnum.YES.getValue());
distributeEntity.setUpdateTime(new Date());
this.update(distributeEntity, context);
}
}
\ No newline at end of file
package com.mortals.xhx.module.device.web;
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.ImageReEnum;
import com.mortals.xhx.module.device.model.DeviceEntity;
import com.mortals.xhx.module.product.model.ProductEntity;
import com.mortals.xhx.module.product.service.ProductService;
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.device.model.DeviceModuleDistributeEntity;
import com.mortals.xhx.module.device.service.DeviceModuleDistributeService;
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-08-02
*/
@RestController
@RequestMapping("device/module/distribute")
public class DeviceModuleDistributeController extends BaseCRUDJsonBodyMappingController<DeviceModuleDistributeService,DeviceModuleDistributeEntity,Long> {
@Autowired
private ParamService paramService;
@Autowired
private ProductService productService;
public DeviceModuleDistributeController(){
super.setModuleDesc( "设备前端模块部署");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "distribute", paramService.getParamBySecondOrganize("DeviceModuleDistribute","distribute"));
this.addDict(model, "productId", productService.find(new ProductEntity()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getProductName())));
this.addDict(model, "imageResolution", ImageReEnum.getEnumMap());
super.init(model, context);
}
/**
* 部署
*/
@PostMapping(value = "active")
public Rest<Void> deviceActive(@RequestBody DeviceModuleDistributeEntity moduleDistributeEntity) {
String busiDesc = this.getModuleDesc() + "设备模块部署";
Rest<Void> rest = Rest.ok(busiDesc + " 【成功】");
try {
this.service.active(moduleDistributeEntity, getContext());
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error("设备模块部署", e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
}
\ 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.device.dao.ibatis.DeviceModuleDistributeDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="DeviceModuleDistributeEntity" id="DeviceModuleDistributeEntity-Map">
<id property="id" column="id" />
<result property="productId" column="productId" />
<result property="productCode" column="productCode" />
<result property="productName" column="productName" />
<result property="imageResolution" column="imageResolution" />
<result property="imageResolutionValue" column="imageResolutionValue" />
<result property="filePath" column="filePath" />
<result property="distributeFilePath" column="distributeFilePath" />
<result property="version" column="version" />
<result property="distribute" column="distribute" />
<result property="createTime" column="createTime" />
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
</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('productId') or colPickMode == 1 and data.containsKey('productId')))">
a.productId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productCode') or colPickMode == 1 and data.containsKey('productCode')))">
a.productCode,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productName') or colPickMode == 1 and data.containsKey('productName')))">
a.productName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('imageResolution') or colPickMode == 1 and data.containsKey('imageResolution')))">
a.imageResolution,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('imageResolutionValue') or colPickMode == 1 and data.containsKey('imageResolutionValue')))">
a.imageResolutionValue,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('filePath') or colPickMode == 1 and data.containsKey('filePath')))">
a.filePath,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('distributeFilePath') or colPickMode == 1 and data.containsKey('distributeFilePath')))">
a.distributeFilePath,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('version') or colPickMode == 1 and data.containsKey('version')))">
a.version,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('distribute') or colPickMode == 1 and data.containsKey('distribute')))">
a.distribute,
</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('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
a.updateUserId,
</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>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="DeviceModuleDistributeEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_device_module_distribute
(productId,productCode,productName,imageResolution,imageResolutionValue,filePath,distributeFilePath,version,distribute,createTime,updateUserId,updateTime)
VALUES
(#{productId},#{productCode},#{productName},#{imageResolution},#{imageResolutionValue},#{filePath},#{distributeFilePath},#{version},#{distribute},#{createTime},#{updateUserId},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_device_module_distribute
(productId,productCode,productName,imageResolution,imageResolutionValue,filePath,distributeFilePath,version,distribute,createTime,updateUserId,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.productId},#{item.productCode},#{item.productName},#{item.imageResolution},#{item.imageResolutionValue},#{item.filePath},#{item.distributeFilePath},#{item.version},#{item.distribute},#{item.createTime},#{item.updateUserId},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_device_module_distribute as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('productId')) or (colPickMode==1 and !data.containsKey('productId'))">
a.productId=#{data.productId},
</if>
<if test="(colPickMode==0 and data.containsKey('productIdIncrement')) or (colPickMode==1 and !data.containsKey('productIdIncrement'))">
a.productId=ifnull(a.productId,0) + #{data.productIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productCode')) or (colPickMode==1 and !data.containsKey('productCode'))">
a.productCode=#{data.productCode},
</if>
<if test="(colPickMode==0 and data.containsKey('productName')) or (colPickMode==1 and !data.containsKey('productName'))">
a.productName=#{data.productName},
</if>
<if test="(colPickMode==0 and data.containsKey('imageResolution')) or (colPickMode==1 and !data.containsKey('imageResolution'))">
a.imageResolution=#{data.imageResolution},
</if>
<if test="(colPickMode==0 and data.containsKey('imageResolutionValue')) or (colPickMode==1 and !data.containsKey('imageResolutionValue'))">
a.imageResolutionValue=#{data.imageResolutionValue},
</if>
<if test="(colPickMode==0 and data.containsKey('filePath')) or (colPickMode==1 and !data.containsKey('filePath'))">
a.filePath=#{data.filePath},
</if>
<if test="(colPickMode==0 and data.containsKey('distributeFilePath')) or (colPickMode==1 and !data.containsKey('distributeFilePath'))">
a.distributeFilePath=#{data.distributeFilePath},
</if>
<if test="(colPickMode==0 and data.containsKey('version')) or (colPickMode==1 and !data.containsKey('version'))">
a.version=#{data.version},
</if>
<if test="(colPickMode==0 and data.containsKey('distribute')) or (colPickMode==1 and !data.containsKey('distribute'))">
a.distribute=#{data.distribute},
</if>
<if test="(colPickMode==0 and data.containsKey('distributeIncrement')) or (colPickMode==1 and !data.containsKey('distributeIncrement'))">
a.distribute=ifnull(a.distribute,0) + #{data.distributeIncrement},
</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('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('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</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_device_module_distribute as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="productId=(case" suffix="ELSE productId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productId')) or (colPickMode==1 and !item.containsKey('productId'))">
when a.id=#{item.id} then #{item.productId}
</when>
<when test="(colPickMode==0 and item.containsKey('productIdIncrement')) or (colPickMode==1 and !item.containsKey('productIdIncrement'))">
when a.id=#{item.id} then ifnull(a.productId,0) + #{item.productIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productCode=(case" suffix="ELSE productCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productCode')) or (colPickMode==1 and !item.containsKey('productCode'))">
when a.id=#{item.id} then #{item.productCode}
</if>
</foreach>
</trim>
<trim prefix="productName=(case" suffix="ELSE productName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productName')) or (colPickMode==1 and !item.containsKey('productName'))">
when a.id=#{item.id} then #{item.productName}
</if>
</foreach>
</trim>
<trim prefix="imageResolution=(case" suffix="ELSE imageResolution end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('imageResolution')) or (colPickMode==1 and !item.containsKey('imageResolution'))">
when a.id=#{item.id} then #{item.imageResolution}
</if>
</foreach>
</trim>
<trim prefix="imageResolutionValue=(case" suffix="ELSE imageResolutionValue end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('imageResolutionValue')) or (colPickMode==1 and !item.containsKey('imageResolutionValue'))">
when a.id=#{item.id} then #{item.imageResolutionValue}
</if>
</foreach>
</trim>
<trim prefix="filePath=(case" suffix="ELSE filePath end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('filePath')) or (colPickMode==1 and !item.containsKey('filePath'))">
when a.id=#{item.id} then #{item.filePath}
</if>
</foreach>
</trim>
<trim prefix="distributeFilePath=(case" suffix="ELSE distributeFilePath end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('distributeFilePath')) or (colPickMode==1 and !item.containsKey('distributeFilePath'))">
when a.id=#{item.id} then #{item.distributeFilePath}
</if>
</foreach>
</trim>
<trim prefix="version=(case" suffix="ELSE version end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('version')) or (colPickMode==1 and !item.containsKey('version'))">
when a.id=#{item.id} then #{item.version}
</if>
</foreach>
</trim>
<trim prefix="distribute=(case" suffix="ELSE distribute end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('distribute')) or (colPickMode==1 and !item.containsKey('distribute'))">
when a.id=#{item.id} then #{item.distribute}
</when>
<when test="(colPickMode==0 and item.containsKey('distributeIncrement')) or (colPickMode==1 and !item.containsKey('distributeIncrement'))">
when a.id=#{item.id} then ifnull(a.distribute,0) + #{item.distributeIncrement}
</when>
</choose>
</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="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="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>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="DeviceModuleDistributeEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_device_module_distribute as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_device_module_distribute as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_device_module_distribute 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_device_module_distribute as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="DeviceModuleDistributeEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_device_module_distribute 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_device_module_distribute 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('productId')">
<if test="conditionParamRef.productId != null ">
${_conditionType_} a.productId = #{${_conditionParam_}.productId}
</if>
<if test="conditionParamRef.productId == null">
${_conditionType_} a.productId is null
</if>
</if>
<if test="conditionParamRef.containsKey('productIdList')">
${_conditionType_} a.productId in
<foreach collection="conditionParamRef.productIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productIdStart') and conditionParamRef.productIdStart != null">
${_conditionType_} a.productId <![CDATA[ >= ]]> #{${_conditionParam_}.productIdStart}
</if>
<if test="conditionParamRef.containsKey('productIdEnd') and conditionParamRef.productIdEnd != null">
${_conditionType_} a.productId <![CDATA[ <= ]]> #{${_conditionParam_}.productIdEnd}
</if>
<if test="conditionParamRef.containsKey('productCode')">
<if test="conditionParamRef.productCode != null and conditionParamRef.productCode != ''">
${_conditionType_} a.productCode like #{${_conditionParam_}.productCode}
</if>
<if test="conditionParamRef.productCode == null">
${_conditionType_} a.productCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('productCodeList')">
${_conditionType_} a.productCode in
<foreach collection="conditionParamRef.productCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productName')">
<if test="conditionParamRef.productName != null and conditionParamRef.productName != ''">
${_conditionType_} a.productName like #{${_conditionParam_}.productName}
</if>
<if test="conditionParamRef.productName == null">
${_conditionType_} a.productName is null
</if>
</if>
<if test="conditionParamRef.containsKey('productNameList')">
${_conditionType_} a.productName in
<foreach collection="conditionParamRef.productNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('imageResolution')">
<if test="conditionParamRef.imageResolution != null and conditionParamRef.imageResolution != ''">
${_conditionType_} a.imageResolution like #{${_conditionParam_}.imageResolution}
</if>
<if test="conditionParamRef.imageResolution == null">
${_conditionType_} a.imageResolution is null
</if>
</if>
<if test="conditionParamRef.containsKey('imageResolutionList')">
${_conditionType_} a.imageResolution in
<foreach collection="conditionParamRef.imageResolutionList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('imageResolutionValue')">
<if test="conditionParamRef.imageResolutionValue != null and conditionParamRef.imageResolutionValue != ''">
${_conditionType_} a.imageResolutionValue like #{${_conditionParam_}.imageResolutionValue}
</if>
<if test="conditionParamRef.imageResolutionValue == null">
${_conditionType_} a.imageResolutionValue is null
</if>
</if>
<if test="conditionParamRef.containsKey('imageResolutionValueList')">
${_conditionType_} a.imageResolutionValue in
<foreach collection="conditionParamRef.imageResolutionValueList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('filePath')">
<if test="conditionParamRef.filePath != null and conditionParamRef.filePath != ''">
${_conditionType_} a.filePath like #{${_conditionParam_}.filePath}
</if>
<if test="conditionParamRef.filePath == null">
${_conditionType_} a.filePath is null
</if>
</if>
<if test="conditionParamRef.containsKey('filePathList')">
${_conditionType_} a.filePath in
<foreach collection="conditionParamRef.filePathList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('distributeFilePath')">
<if test="conditionParamRef.distributeFilePath != null and conditionParamRef.distributeFilePath != ''">
${_conditionType_} a.distributeFilePath like #{${_conditionParam_}.distributeFilePath}
</if>
<if test="conditionParamRef.distributeFilePath == null">
${_conditionType_} a.distributeFilePath is null
</if>
</if>
<if test="conditionParamRef.containsKey('distributeFilePathList')">
${_conditionType_} a.distributeFilePath in
<foreach collection="conditionParamRef.distributeFilePathList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('version')">
<if test="conditionParamRef.version != null and conditionParamRef.version != ''">
${_conditionType_} a.version like #{${_conditionParam_}.version}
</if>
<if test="conditionParamRef.version == null">
${_conditionType_} a.version is null
</if>
</if>
<if test="conditionParamRef.containsKey('versionList')">
${_conditionType_} a.version in
<foreach collection="conditionParamRef.versionList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('distribute')">
<if test="conditionParamRef.distribute != null ">
${_conditionType_} a.distribute = #{${_conditionParam_}.distribute}
</if>
<if test="conditionParamRef.distribute == null">
${_conditionType_} a.distribute is null
</if>
</if>
<if test="conditionParamRef.containsKey('distributeList')">
${_conditionType_} a.distribute in
<foreach collection="conditionParamRef.distributeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('distributeStart') and conditionParamRef.distributeStart != null">
${_conditionType_} a.distribute <![CDATA[ >= ]]> #{${_conditionParam_}.distributeStart}
</if>
<if test="conditionParamRef.containsKey('distributeEnd') and conditionParamRef.distributeEnd != null">
${_conditionType_} a.distribute <![CDATA[ <= ]]> #{${_conditionParam_}.distributeEnd}
</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('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('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>
</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('productId')">
a.productId
<if test='orderCol.productId != null and "DESC".equalsIgnoreCase(orderCol.productId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productCode')">
a.productCode
<if test='orderCol.productCode != null and "DESC".equalsIgnoreCase(orderCol.productCode)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productName')">
a.productName
<if test='orderCol.productName != null and "DESC".equalsIgnoreCase(orderCol.productName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('imageResolution')">
a.imageResolution
<if test='orderCol.imageResolution != null and "DESC".equalsIgnoreCase(orderCol.imageResolution)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('imageResolutionValue')">
a.imageResolutionValue
<if test='orderCol.imageResolutionValue != null and "DESC".equalsIgnoreCase(orderCol.imageResolutionValue)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('filePath')">
a.filePath
<if test='orderCol.filePath != null and "DESC".equalsIgnoreCase(orderCol.filePath)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('distributeFilePath')">
a.distributeFilePath
<if test='orderCol.distributeFilePath != null and "DESC".equalsIgnoreCase(orderCol.distributeFilePath)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('version')">
a.version
<if test='orderCol.version != null and "DESC".equalsIgnoreCase(orderCol.version)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('distribute')">
a.distribute
<if test='orderCol.distribute != null and "DESC".equalsIgnoreCase(orderCol.distribute)'>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('updateUserId')">
a.updateUserId
<if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>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