From 59fbf776cd3e7dc3e6381fd866df3b03155a373b Mon Sep 17 00:00:00 2001 From: guo Date: Thu, 17 Aug 2023 18:10:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A1=E6=A3=80=E7=82=B9bug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exception/ExceptionHandlerAdvice.java | 5 + .../com/zhgd/exception/PromptException.java | 38 +++++++ .../com/zhgd/redis/lock/RedisRepository.java | 2 +- .../com/zhgd/xmgl/entity/BaseRequest.java | 31 ++++++ .../entity/qo => entity}/PageQO.java | 2 +- .../SystemLogoConfigController.java | 45 +------- .../basicdata/entity/SystemLogoConfig.java | 102 ++++++++++-------- .../service/ISystemLogoConfigService.java | 4 +- .../impl/SystemLogoConfigServiceImpl.java | 51 +++++++-- .../mapper/xml/BigDeviceVideoMapper.xml | 5 +- .../controller/CheckingPointController.java | 22 +++- .../CheckingPointInfoController.java | 18 +++- .../dto/CheckingPointInfoPageDto.java | 15 +++ .../checking/entity/CheckingPoint.java | 2 + .../checking/entity/CheckingPointInfo.java | 25 +++-- .../checking/entity/qo/ProjectSnQO.java | 4 +- .../checking/mapper/CheckingPointMapper.java | 5 +- .../mapper/xml/CheckingPointInfoMapper.xml | 14 ++- .../mapper/xml/CheckingPointMapper.xml | 15 +-- .../service/CheckingPointService.java | 3 +- .../impl/CheckingPointServiceImpl.java | 14 ++- .../electrical/entity/ElectricalDev.java | 9 +- .../entity/qo/CurrentDataListQO.java | 1 + .../entity/qo/SelectMeasurePointListQO.java | 1 + .../ProjectWorkerApiController.java | 92 ++++++++++------ .../zhgd/xmgl/security/WebSecurityConfig.java | 1 + .../java/com/zhgd/xmgl/util/RegionUtil.java | 5 + 27 files changed, 365 insertions(+), 166 deletions(-) create mode 100644 src/main/java/com/zhgd/exception/PromptException.java create mode 100644 src/main/java/com/zhgd/xmgl/entity/BaseRequest.java rename src/main/java/com/zhgd/xmgl/{modules/foundation/entity/qo => entity}/PageQO.java (89%) diff --git a/src/main/java/com/zhgd/exception/ExceptionHandlerAdvice.java b/src/main/java/com/zhgd/exception/ExceptionHandlerAdvice.java index 7226bafe9..b065ebcf5 100644 --- a/src/main/java/com/zhgd/exception/ExceptionHandlerAdvice.java +++ b/src/main/java/com/zhgd/exception/ExceptionHandlerAdvice.java @@ -45,6 +45,11 @@ public class ExceptionHandlerAdvice { result.setCode(403); result.setMessage(appException.getMessage()); result.setSuccess(false); + } else if (ex instanceof PromptException) { + PromptException appException = (PromptException) ex; + result.setCode(200); + result.setMessage(appException.getMessage()); + result.setResult(appException.getResult()); } else { result.error500(ex.getMessage() == null ? "操作中出现空指针!" : ex.getMessage()); ex.printStackTrace(); diff --git a/src/main/java/com/zhgd/exception/PromptException.java b/src/main/java/com/zhgd/exception/PromptException.java new file mode 100644 index 000000000..310e0ea3a --- /dev/null +++ b/src/main/java/com/zhgd/exception/PromptException.java @@ -0,0 +1,38 @@ +package com.zhgd.exception; + +import lombok.Data; +import org.springframework.http.HttpStatus; + + +/** + * 提示异常 + */ +public class PromptException extends RuntimeException { + + private static final long serialVersionUID = 1L; + + private final String message; + private Object result; + + public PromptException(String message) { + this.message = message; + } + + public PromptException(String message, Object result) { + this.message = message; + this.result = result; + } + + @Override + public String getMessage() { + return message; + } + + public Object getResult() { + return result; + } + + public void setResult(Object result) { + this.result = result; + } +} diff --git a/src/main/java/com/zhgd/redis/lock/RedisRepository.java b/src/main/java/com/zhgd/redis/lock/RedisRepository.java index 1b4c98698..1dc167e1a 100644 --- a/src/main/java/com/zhgd/redis/lock/RedisRepository.java +++ b/src/main/java/com/zhgd/redis/lock/RedisRepository.java @@ -520,7 +520,7 @@ public class RedisRepository { * @return 需要的对象 */ public Y getOrSet(String key, Supplier supplier) { - return getOrSet(key, supplier, null); + return getOrSet(key, supplier, 12 * 60 * 60L); } /** diff --git a/src/main/java/com/zhgd/xmgl/entity/BaseRequest.java b/src/main/java/com/zhgd/xmgl/entity/BaseRequest.java new file mode 100644 index 000000000..7d735ed74 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/entity/BaseRequest.java @@ -0,0 +1,31 @@ +package com.zhgd.xmgl.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * 请求对象 + */ +@Data +public class BaseRequest extends PageQO { + /* + + and cpi.update_date >= #{dto.queryStartTime} + + + and cpi.update_date concat(#{dto.queryEndTime},' 23:59:59') + + */ + @ApiModelProperty(value = "查询开始时间,格式:2023-05-22") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date queryStartTime; + @ApiModelProperty(value = "查询结束时间,格式:2023-05-22") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date queryEndTime; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/foundation/entity/qo/PageQO.java b/src/main/java/com/zhgd/xmgl/entity/PageQO.java similarity index 89% rename from src/main/java/com/zhgd/xmgl/modules/foundation/entity/qo/PageQO.java rename to src/main/java/com/zhgd/xmgl/entity/PageQO.java index 322c6a649..e2def7c5b 100644 --- a/src/main/java/com/zhgd/xmgl/modules/foundation/entity/qo/PageQO.java +++ b/src/main/java/com/zhgd/xmgl/entity/PageQO.java @@ -1,4 +1,4 @@ -package com.zhgd.xmgl.modules.foundation.entity.qo; +package com.zhgd.xmgl.entity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/SystemLogoConfigController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/SystemLogoConfigController.java index 202c2f173..224b44c0d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/SystemLogoConfigController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/SystemLogoConfigController.java @@ -1,25 +1,15 @@ package com.zhgd.xmgl.modules.basicdata.controller; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.xmgl.modules.basicdata.entity.SystemLogoConfig; import com.zhgd.xmgl.modules.basicdata.service.ISystemLogoConfigService; -import com.zhgd.xmgl.util.MessageUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.Cacheable; import org.springframework.web.bind.annotation.*; -import java.util.List; - /** * @Title: Controller @@ -35,8 +25,6 @@ import java.util.List; public class SystemLogoConfigController { @Autowired private ISystemLogoConfigService systemLogoConfigService; - @Value("${spring.file-storage.default-platform}") - private String fileStorageType; /** @@ -45,47 +33,22 @@ public class SystemLogoConfigController { * @param systemLogoConfig * @return */ - @CacheEvict(value = "logoConfigCache", allEntries = true) @ApiOperation(value = " 编辑系统logo配置信息", notes = "编辑系统logo配置信息", httpMethod = "POST") @PostMapping(value = "/editSystemLogoConfig") public Result editSystemLogoConfig(@RequestBody SystemLogoConfig systemLogoConfig) { Result result = new Result(); - try { - systemLogoConfigService.editSystemLogoConfig(systemLogoConfig); - result.successMsg(MessageUtil.get("optSucess")); - } catch (Exception e) { - e.printStackTrace(); - log.info(e.getMessage()); - result.error500(MessageUtil.get("failErr")); - } + systemLogoConfigService.editSystemLogoConfig(systemLogoConfig); return result; } - /** - * 通过id查询 - * - * @param - * @return - */ - @Cacheable(value = "logoConfigCache") @ApiOperation(value = "查询系统logo配置信息", notes = "查询系统logo配置信息", httpMethod = "GET") @GetMapping(value = "/selectSystemLogoConfig") - public Result selectSystemLogoConfig() { - Result result = new Result(); - List list = systemLogoConfigService.list(Wrappers.query().last("limit 1")); - if (CollUtil.isNotEmpty(list)) { - JSONObject object = JSONUtil.parseObj(list.get(0)); - if ("local".equals(fileStorageType)) { - object.put("fileStorageType", "0"); - } else { - object.put("fileStorageType", "1"); - } - result.setResult(object); - } + public Result selectSystemLogoConfig(SystemLogoConfig systemLogoConfig) { + Result result = new Result<>(); + result.setResult(systemLogoConfigService.selectSystemLogoConfig(systemLogoConfig)); result.setSuccess(true); return result; } - } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemLogoConfig.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemLogoConfig.java index 59359ae0b..a21b7e556 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemLogoConfig.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemLogoConfig.java @@ -1,77 +1,93 @@ package com.zhgd.xmgl.modules.basicdata.entity; -import java.io.Serializable; - import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import lombok.Data; -import org.jeecgframework.poi.excel.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + /** * @Description: 系统logo配置 * @author: pds - * @date: 2021-03-10 + * @date: 2021-03-10 * @version: V1.0 */ @Data @TableName("system_logo_config") -@ApiModel(value="SystemLogoConfig实体类",description="SystemLogoConfig") +@ApiModel(value = "SystemLogoConfig实体类", description = "SystemLogoConfig") public class SystemLogoConfig implements Serializable { private static final long serialVersionUID = 1L; - - /**id*/ + + /** + * id + */ @TableId(type = IdType.ASSIGN_ID) - @ApiModelProperty(value="id") - private java.lang.Long id ; - /**登录logo*/ - @Excel(name = "登录logo", width = 15) - @ApiModelProperty(value="登录logo") - private java.lang.String loginLogo ; - /**登录背景图*/ - @Excel(name = "登录背景图", width = 15) - @ApiModelProperty(value="登录背景图") - private java.lang.String loginBackgroundImage ; - /**平台名称*/ - @Excel(name = "平台名称", width = 15) - @ApiModelProperty(value="平台名称") - private java.lang.String platformName ; - /**平台logo*/ - @Excel(name = "平台logo", width = 15) - @ApiModelProperty(value="平台logo") - private java.lang.String platformLogo ; + @ApiModelProperty(value = "id") + private java.lang.Long id; + /** + * 登录logo + */ + @Excel(name = "登录logo", width = 15) + @ApiModelProperty(value = "登录logo") + private java.lang.String loginLogo; + /** + * 登录背景图 + */ + @Excel(name = "登录背景图", width = 15) + @ApiModelProperty(value = "登录背景图") + private java.lang.String loginBackgroundImage; + /** + * 平台名称 + */ + @Excel(name = "平台名称", width = 15) + @ApiModelProperty(value = "平台名称") + private java.lang.String platformName; + /** + * 平台logo + */ + @Excel(name = "平台logo", width = 15) + @ApiModelProperty(value = "平台logo") + private java.lang.String platformLogo; @Excel(name = "是否开启缩放,0缩放,1不缩放", width = 15) - @ApiModelProperty(value="是否开启缩放,0缩放,1不缩放") - private java.lang.String zoomType ; + @ApiModelProperty(value = "是否开启缩放,0缩放,1不缩放") + private java.lang.String zoomType; - @ApiModelProperty(value="模块图标类型,1原图片,2图片2") - private java.lang.String iconType ; + @ApiModelProperty(value = "模块图标类型,1原图片,2图片2") + private java.lang.String iconType; - @ApiModelProperty(value="区域类型,1省份,2城市") - private java.lang.String areaType ; + @ApiModelProperty(value = "区域类型,1省份,2城市") + private java.lang.String areaType; - @ApiModelProperty(value="数据看板logo") - private java.lang.String bigScreenLogo ; + @ApiModelProperty(value = "数据看板logo") + private java.lang.String bigScreenLogo; - @ApiModelProperty(value="标头配置") - private java.lang.String headerConfiguration ; + @ApiModelProperty(value = "标头配置") + private java.lang.String headerConfiguration; - @ApiModelProperty(value="项目后台") + @ApiModelProperty(value = "项目后台") private java.lang.String projectBackground; - @ApiModelProperty(value="企业前台") + @ApiModelProperty(value = "企业前台") private java.lang.String enterpriseFront; - @ApiModelProperty(value="企业后台") + @ApiModelProperty(value = "企业后台") private java.lang.String enterpriseBackground; - @ApiModelProperty(value="设备中心") + @ApiModelProperty(value = "设备中心") private java.lang.String equipmentChina; - @ApiModelProperty(value="资料中心") + @ApiModelProperty(value = "资料中心") private java.lang.String dataCenter; + + @ApiModelProperty(value = "总公司sn") + private java.lang.String headquartersSn; + @TableField(exist = false) + private java.lang.String fileStorageType; } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemLogoConfigService.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemLogoConfigService.java index c3c544835..6e52f55f2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemLogoConfigService.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemLogoConfigService.java @@ -6,10 +6,12 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: 系统logo配置 * @author: pds - * @date: 2021-03-10 + * @date: 2021-03-10 * @version: V1.0 */ public interface ISystemLogoConfigService extends IService { void editSystemLogoConfig(SystemLogoConfig systemLogoConfig); + + SystemLogoConfig selectSystemLogoConfig(SystemLogoConfig systemLogoConfig); } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemLogoConfigServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemLogoConfigServiceImpl.java index 72231263c..e83a0fe02 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemLogoConfigServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemLogoConfigServiceImpl.java @@ -1,21 +1,25 @@ package com.zhgd.xmgl.modules.basicdata.service.impl; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhgd.redis.lock.RedisRepository; import com.zhgd.xmgl.modules.basicdata.entity.SystemLogoConfig; import com.zhgd.xmgl.modules.basicdata.mapper.SystemLogoConfigMapper; import com.zhgd.xmgl.modules.basicdata.service.ISystemLogoConfigService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.List; /** * @Description: 系统logo配置 * @author: pds - * @date: 2021-03-10 + * @date: 2021-03-10 * @version: V1.0 */ @Service @@ -23,16 +27,47 @@ import java.util.List; public class SystemLogoConfigServiceImpl extends ServiceImpl implements ISystemLogoConfigService { @Autowired private SystemLogoConfigMapper systemLogoConfigMapper; + @Value("${spring.file-storage.default-platform}") + private String fileStorageType; + @Resource + RedisRepository redisRepository; + private static final String SYSTEM_LOGO_CONFIG_KEY_PREFIX = "systemLogoConfig:"; @Override public void editSystemLogoConfig(SystemLogoConfig systemLogoConfig) { - QueryWrapper queryWrapper=new QueryWrapper<>(); - List list=systemLogoConfigMapper.selectList(queryWrapper); - if(list!=null&&list.size()>0){ - systemLogoConfig.setId(list.get(0).getId()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + String headquartersSn = systemLogoConfig.getHeadquartersSn(); + String val = StrUtil.isNotBlank(headquartersSn) ? headquartersSn : "-1"; + queryWrapper.lambda().eq(SystemLogoConfig::getHeadquartersSn, val); + SystemLogoConfig logoConfig = systemLogoConfigMapper.selectOne(queryWrapper); + if (logoConfig != null) { systemLogoConfigMapper.updateById(systemLogoConfig); - }else{ + } else { systemLogoConfigMapper.insert(systemLogoConfig); } + redisRepository.del(SYSTEM_LOGO_CONFIG_KEY_PREFIX + val); + } + + @Override + public SystemLogoConfig selectSystemLogoConfig(SystemLogoConfig systemLogoConfig) { + if (StrUtil.isBlank(systemLogoConfig.getHeadquartersSn())) { + systemLogoConfig.setHeadquartersSn("-1"); + } + return redisRepository.getOrSet(SYSTEM_LOGO_CONFIG_KEY_PREFIX + systemLogoConfig.getHeadquartersSn(), () -> { + String headquartersSn = systemLogoConfig.getHeadquartersSn(); + SystemLogoConfig slc; + //查询该企业的 + slc = systemLogoConfigMapper.selectOne(new LambdaQueryWrapper().eq(SystemLogoConfig::getHeadquartersSn, headquartersSn)); + if (slc == null) { + //查询默认 + slc = systemLogoConfigMapper.selectOne(new LambdaQueryWrapper().eq(SystemLogoConfig::getHeadquartersSn, "-1")); + } + if ("local".equals(fileStorageType)) { + slc.setFileStorageType("0"); + } else { + slc.setFileStorageType("1"); + } + return slc; + }); } } diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/BigDeviceVideoMapper.xml b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/BigDeviceVideoMapper.xml index c3a067252..77ebad69e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/BigDeviceVideoMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/BigDeviceVideoMapper.xml @@ -9,11 +9,10 @@ WHERE t3.type=1 AND t2.is_enable=1 AND t3.dev_sn=#{devSn} diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointMapper.xml b/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointMapper.xml index cf82bb0bf..506452f71 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointMapper.xml @@ -4,15 +4,18 @@