From df4f35d1fb191f0f8f84d568bc35f1de04d752ff Mon Sep 17 00:00:00 2001 From: zhangyue <zhangyue@zcloudchina.com> Date: Mon, 8 Jan 2024 10:30:17 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=A8=E5=8F=A3=E9=97=A8=E7=A6=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 38 +- .../gatemachine/GateAreaController.java | 57 +++ .../gatemachine/GateMachineController.java | 59 +++ .../gatemachine/GateVideoController.java | 225 ++++++++++++ .../gatemachine/GateAreaMapper.java | 25 ++ .../gatemachine/GateMachineMapper.java | 46 +++ .../gatemachine/GateVideoMapper.java | 75 ++++ .../service/gatemachine/GateAreaService.java | 23 ++ .../gatemachine/GateMachineService.java | 46 +++ .../service/gatemachine/GateVideoService.java | 75 ++++ .../gatemachine/impl/GateAreaServiceImpl.java | 55 +++ .../impl/GateMachineServiceImpl.java | 234 ++++++++++++ .../impl/GateVideoServiceImpl.java | 120 ++++++ src/main/java/com/zcloud/util/ReturnMap.java | 146 ++++++++ .../util/examUntil/BaseResultInterface.java | 18 + .../zcloud/util/examUntil/BizException.java | 84 +++++ .../util/examUntil/CodeMessageEnum.java | 197 ++++++++++ .../zcloud/util/examUntil/ErrorOperation.java | 14 + .../examUntil/GlobalExceptionHandler.java | 94 +++++ .../util/examUntil/HttpContextUtils.java | 54 +++ .../examUntil/UserChangeRecordConfig.java | 99 +++++ src/main/resources/application-dev.properties | 61 +++ ...properties => application-prod.properties} | 52 ++- src/main/resources/application.properties | 77 +--- src/main/resources/application3.properties | 72 ---- .../datasource/gatemachine/GateAreaMapper.xml | 103 ++++++ .../gatemachine/GateMachineMapper.xml | 346 ++++++++++++++++++ .../gatemachine/GateVideoMapper.xml | 263 +++++++++++++ 28 files changed, 2589 insertions(+), 169 deletions(-) create mode 100644 src/main/java/com/zcloud/controller/gatemachine/GateAreaController.java create mode 100644 src/main/java/com/zcloud/controller/gatemachine/GateMachineController.java create mode 100644 src/main/java/com/zcloud/controller/gatemachine/GateVideoController.java create mode 100644 src/main/java/com/zcloud/mapper/datasource/gatemachine/GateAreaMapper.java create mode 100644 src/main/java/com/zcloud/mapper/datasource/gatemachine/GateMachineMapper.java create mode 100644 src/main/java/com/zcloud/mapper/datasource/gatemachine/GateVideoMapper.java create mode 100644 src/main/java/com/zcloud/service/gatemachine/GateAreaService.java create mode 100644 src/main/java/com/zcloud/service/gatemachine/GateMachineService.java create mode 100644 src/main/java/com/zcloud/service/gatemachine/GateVideoService.java create mode 100644 src/main/java/com/zcloud/service/gatemachine/impl/GateAreaServiceImpl.java create mode 100644 src/main/java/com/zcloud/service/gatemachine/impl/GateMachineServiceImpl.java create mode 100644 src/main/java/com/zcloud/service/gatemachine/impl/GateVideoServiceImpl.java create mode 100644 src/main/java/com/zcloud/util/ReturnMap.java create mode 100644 src/main/java/com/zcloud/util/examUntil/BaseResultInterface.java create mode 100644 src/main/java/com/zcloud/util/examUntil/BizException.java create mode 100644 src/main/java/com/zcloud/util/examUntil/CodeMessageEnum.java create mode 100644 src/main/java/com/zcloud/util/examUntil/ErrorOperation.java create mode 100644 src/main/java/com/zcloud/util/examUntil/GlobalExceptionHandler.java create mode 100644 src/main/java/com/zcloud/util/examUntil/HttpContextUtils.java create mode 100644 src/main/java/com/zcloud/util/examUntil/UserChangeRecordConfig.java create mode 100644 src/main/resources/application-dev.properties rename src/main/resources/{application-2.properties => application-prod.properties} (55%) delete mode 100644 src/main/resources/application3.properties create mode 100644 src/main/resources/mybatis/datasource/gatemachine/GateAreaMapper.xml create mode 100644 src/main/resources/mybatis/datasource/gatemachine/GateMachineMapper.xml create mode 100644 src/main/resources/mybatis/datasource/gatemachine/GateVideoMapper.xml diff --git a/pom.xml b/pom.xml index a046f419..729cfb84 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>com.zcloud</groupId> - <artifactId>qa-prevention-gwj</artifactId> + <artifactId>qa-prevention-cmt</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging><!-- 以war运行是改成war --> @@ -29,6 +29,8 @@ </properties> <dependencies> + + <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> @@ -462,6 +464,40 @@ <version>5.0.5</version> </dependency> </dependencies> + <profiles> + <!--开发环境--> + <profile> + <id>dev</id> + <activation> + <!--默认激活--> + <activeByDefault>true</activeByDefault> + </activation> + <properties> + <spring.profiles.active>dev</spring.profiles.active> + </properties> + </profile> + <!--测试环境--> + <profile> + <id>test</id> + <properties> + <spring.profiles.active>test</spring.profiles.active> + </properties> + </profile> + <!--正式环境--> + <profile> + <id>prod</id> + <properties> + <spring.profiles.active>prod</spring.profiles.active> + </properties> + </profile> + <!--本地测试--> + <profile> + <id>localtest</id> + <properties> + <spring.profiles.active>localtest</spring.profiles.active> + </properties> + </profile> + </profiles> <build> <!-- <finalName>qa-prevention-gwj</finalName> <plugins> diff --git a/src/main/java/com/zcloud/controller/gatemachine/GateAreaController.java b/src/main/java/com/zcloud/controller/gatemachine/GateAreaController.java new file mode 100644 index 00000000..6dd09f92 --- /dev/null +++ b/src/main/java/com/zcloud/controller/gatemachine/GateAreaController.java @@ -0,0 +1,57 @@ +package com.zcloud.controller.gatemachine; + +import com.zcloud.controller.base.BaseController; +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.service.gatemachine.GateAreaService; +import com.zcloud.util.ReturnMap; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 说明:TODO + * 作者:wangxuan + * 官网:www.zcloudchina.com + */ +@RestController +@RequestMapping("/gateArea") +public class GateAreaController extends BaseController { + + @Resource + private GateAreaService gateAreaService; + + + @RequestMapping(value = "/page") + public ReturnMap page(Page page) { + ReturnMap returnMap = new ReturnMap(); + PageData pageData = this.getPageData(); + page.setPd(pageData); + List<PageData> data = gateAreaService.getDatalistpage(page); + returnMap.put("varList", data); + returnMap.put("page", page); + return returnMap; + } + + @RequestMapping(value = "/edit") + public ReturnMap edit() { + PageData pd = this.getPageData(); + gateAreaService.edit(pd); + return ReturnMap.ok(); + } + @RequestMapping(value = "/removeByIds") + public ReturnMap removeByIds() { + PageData pageData = this.getPageData(); + gateAreaService.removeByIds(pageData); + return ReturnMap.ok(); + } + @RequestMapping(value = "/add") + public ReturnMap add() { + PageData pageData = this.getPageData(); + gateAreaService.save(pageData); + return ReturnMap.ok(); + } + +} diff --git a/src/main/java/com/zcloud/controller/gatemachine/GateMachineController.java b/src/main/java/com/zcloud/controller/gatemachine/GateMachineController.java new file mode 100644 index 00000000..2d3b48f9 --- /dev/null +++ b/src/main/java/com/zcloud/controller/gatemachine/GateMachineController.java @@ -0,0 +1,59 @@ +package com.zcloud.controller.gatemachine; + +import com.zcloud.controller.base.BaseController; +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.service.gatemachine.GateMachineService; +import com.zcloud.util.ReturnMap; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.ArrayList; + +/** + * 说明:TODO + * 作者:wangxuan + * 官网:www.zcloudchina.com + */ +@RestController +@RequestMapping("/gateMachine") +public class GateMachineController extends BaseController { + + @Resource + private GateMachineService gateMachineService; + + + + @RequestMapping(value = "/page") + public ReturnMap page(Page page) { + PageData pageData = this.getPageData(); + page.setPd(pageData); + ArrayList<PageData> data = gateMachineService.getDatalistpage(page); + ReturnMap returnMap = new ReturnMap(); + returnMap.put("varList", data); + returnMap.put("page", page); + return returnMap; + } + + + @RequestMapping(value = "/edit") + public ReturnMap edit() { + PageData pd = this.getPageData(); + gateMachineService.edit(pd); + return ReturnMap.ok(); + } + @RequestMapping(value = "/removeByIds") + public ReturnMap removeByIds() { + PageData pageData = this.getPageData(); + gateMachineService.removeByIds(pageData); + return ReturnMap.ok(); + } + @RequestMapping(value = "/add") + public ReturnMap add() { + PageData pageData = this.getPageData(); + gateMachineService.save(pageData); + return ReturnMap.ok(); + } + +} diff --git a/src/main/java/com/zcloud/controller/gatemachine/GateVideoController.java b/src/main/java/com/zcloud/controller/gatemachine/GateVideoController.java new file mode 100644 index 00000000..bd5b35f9 --- /dev/null +++ b/src/main/java/com/zcloud/controller/gatemachine/GateVideoController.java @@ -0,0 +1,225 @@ +package com.zcloud.controller.gatemachine; + +import com.zcloud.controller.base.BaseController; +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.service.gatemachine.GateVideoService; +import com.zcloud.util.DateUtil; +import com.zcloud.util.Jurisdiction; +import com.zcloud.util.Tools; +import com.zcloud.util.hk.HKUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 说明:视频管理 + * 作者:luoxiaobao + * 时间:2021-05-10 + * 官网:www.zcloudchina.com + */ +@Controller +@RequestMapping("/gateVideo") +public class GateVideoController extends BaseController { + + @Autowired + private GateVideoService gateVideoService; + + /**新增 + * @param + * @throws Exception + */ + @RequestMapping(value="/add") + @ResponseBody + public Object add() throws Exception{ + Map<String,Object> map = new HashMap<String,Object>(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + pd.put("GATEVIDEO_ID", this.get32UUID()); //主键 + pd.put("OPDATE", DateUtil.date2Str(new Date())); //操作日期 + pd.put("OPUSER", Jurisdiction.getUsername()); //操作人 + pd.put("ISDELETE", "0"); //是否删除 + gateVideoService.save(pd); + map.put("result", errInfo); + return map; + } + + /**删除 + * @param out + * @throws Exception + */ + @RequestMapping(value="/delete") + @ResponseBody + public Object delete() throws Exception{ + Map<String,String> map = new HashMap<String,String>(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + gateVideoService.delete(pd); + map.put("result", errInfo); //返回结果 + return map; + } + + /**修改 + * @param + * @throws Exception + */ + @RequestMapping(value="/edit") + @ResponseBody + public Object edit() throws Exception{ + Map<String,Object> map = new HashMap<String,Object>(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + gateVideoService.edit(pd); + map.put("result", errInfo); + return map; + } + + /**定位 + * @param + * @throws Exception + */ + @RequestMapping(value="/savePosition") + @ResponseBody + public Object savePosition() throws Exception{ + Map<String,Object> map = new HashMap<String,Object>(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + gateVideoService.savePosition(pd); + map.put("result", errInfo); + return map; + } + + @RequestMapping(value="/goAllVideo") + @ResponseBody + public Object goAllVideo() throws Exception{ + Map<String,Object> map = new HashMap<String,Object>(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + + String DATA_IDS = pd.getString("DATA_IDS"); + if(Tools.notEmpty(DATA_IDS)){ + String ArrayDATA_IDS[] = DATA_IDS.split(","); + pd.put("ArrayDATA_IDS", ArrayDATA_IDS); + } + List<PageData> videoList = gateVideoService.listBo(pd); //根据ID读取 + for (PageData video : videoList) { + if(video.get("INDEXCODE")!=null && !"".equals(video.getString("INDEXCODE"))){ + Map<String, Object> data = HKUtil.camerasPreviewURLs(video.getString("INDEXCODE"), "hls"); + video.put("HLSVIDEOURL", data); + Map<String, Object> resData = (Map<String, Object>) data.get("data"); + video.put("GBSVIDEOURL",resData.get("url")); + } + } + map.put("videoList", videoList); + map.put("result", errInfo); + return map; + } + + /**列表 + * @param page + * @throws Exception + */ + @RequestMapping(value="/list") + @ResponseBody + public Object list(Page page) throws Exception{ + Map<String,Object> map = new HashMap<String,Object>(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 + if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim()); + + pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); + page.setPd(pd); + + List<PageData> varList = gateVideoService.list(page); //列出VideoManager列表 + map.put("varList", varList); + map.put("page", page); + map.put("result", errInfo); + return map; + } + + @RequestMapping(value="/listAllForMap") + @ResponseBody + public Object listAllForMap() throws Exception{ + Map<String,Object> map = new HashMap<String,Object>(); + String errInfo = "success"; + PageData pd = new PageData(); + + List<PageData> videoList = gateVideoService.listAllForMap(pd); //根据ID读取 + map.put("videoList", videoList); + map.put("result", errInfo); + return map; + } + + @RequestMapping(value="/editIsShow") + @ResponseBody + public Object editIsShow() throws Exception{ + Map<String,Object> map = new HashMap<String,Object>(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + PageData epd = new PageData(); + epd.put("ISSHOW", '0'); + epd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); + gateVideoService.editIsShowBycorpinfoid(epd); //根据ID读取 + + pd.put("ISSHOW", '1'); + gateVideoService.editIsShow(pd); //根据ID读取 + map.put("pd", pd); + map.put("result", errInfo); + return map; + } + /**去修改页面获取数据 + * @param + * @throws Exception + */ + @RequestMapping(value="/goEdit") + @ResponseBody + public Object goEdit() throws Exception{ + Map<String,Object> map = new HashMap<String,Object>(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + pd = gateVideoService.findById(pd); //根据ID读取 + map.put("pd", pd); + map.put("result", errInfo); + return map; + } + + /**批量删除 + * @param + * @throws Exception + */ + @RequestMapping(value="/deleteAll") + @ResponseBody + public Object deleteAll() throws Exception{ + Map<String,Object> map = new HashMap<String,Object>(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + String DATA_IDS = pd.getString("DATA_IDS"); + if(Tools.notEmpty(DATA_IDS)){ + String ArrayDATA_IDS[] = DATA_IDS.split(","); + gateVideoService.deleteAll(ArrayDATA_IDS); + errInfo = "success"; + }else{ + errInfo = "error"; + } + map.put("result", errInfo); //返回结果 + return map; + } + + +} diff --git a/src/main/java/com/zcloud/mapper/datasource/gatemachine/GateAreaMapper.java b/src/main/java/com/zcloud/mapper/datasource/gatemachine/GateAreaMapper.java new file mode 100644 index 00000000..fc116e36 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/gatemachine/GateAreaMapper.java @@ -0,0 +1,25 @@ +package com.zcloud.mapper.datasource.gatemachine; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 说明:TODO + * 作者:wangxuan + * 官网:www.zcloudchina.com + */ +@Mapper +public interface GateAreaMapper { + List<PageData> getDatalistPage(Page page); + + void edit(PageData pd); + + void removeByIds(PageData pageData); + + void save(PageData pageData); + + List<PageData> getGatePosition(PageData pageData); +} diff --git a/src/main/java/com/zcloud/mapper/datasource/gatemachine/GateMachineMapper.java b/src/main/java/com/zcloud/mapper/datasource/gatemachine/GateMachineMapper.java new file mode 100644 index 00000000..8f7ce6ba --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/gatemachine/GateMachineMapper.java @@ -0,0 +1,46 @@ +package com.zcloud.mapper.datasource.gatemachine; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import org.apache.ibatis.annotations.Mapper; + +import java.util.ArrayList; +import java.util.List; + +/** + * 说明:TODO + * 作者:wangxuan + * 官网:www.zcloudchina.com + */ +@Mapper +public interface GateMachineMapper { + ArrayList<PageData> getDatalistPage(Page page); + + void edit(PageData pd); + + void removeByIds(PageData pageData); + + void save(PageData pageData); + + List<PageData> getOnlineGateMachine(PageData pageData); + + List<PageData> getTodayInOutCount(PageData pageData); + + // 弃用 因需求变更 + List<PageData> getGatePosition(PageData pageData); + + PageData getGateMachineInfoById(PageData pageData); + + List<PageData> getPersonRecordCountByEId(PageData gateMachineInfo); + + List<PageData> getCarRecordCountByEId(PageData gateMachineInfo); + + List<PageData> getCarRecordCountByCorpId(PageData gateMachineInfo); + + /** + * 今天闸机的进出记录 + * @param gateMachineInfo + * @return + */ + List<PageData> getPersonRecordListAllByIdlistPage(Page page); +} diff --git a/src/main/java/com/zcloud/mapper/datasource/gatemachine/GateVideoMapper.java b/src/main/java/com/zcloud/mapper/datasource/gatemachine/GateVideoMapper.java new file mode 100644 index 00000000..f8a41232 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/gatemachine/GateVideoMapper.java @@ -0,0 +1,75 @@ +package com.zcloud.mapper.datasource.gatemachine; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:视频管理 + * 作者:luoxiaobao + * 时间:2021-05-10 + * 官网:www.zcloudchina.com + */ +public interface GateVideoMapper { + + /**新增 + * @param pd + * @throws Exception + */ + void save(PageData pd); + + /**删除 + * @param pd + * @throws Exception + */ + void delete(PageData pd); + + /**修改 + * @param pd + * @throws Exception + */ + void edit(PageData pd); + void savePosition(PageData pd); + void editIsShow(PageData pd); + void editIsShowBycorpinfoid(PageData pd); + + /**列表 + * @param page + * @throws Exception + */ + List<PageData> datalistPage(Page page); + + /**列表(全部) + * @param pd + * @throws Exception + */ + List<PageData> listAll(PageData pd); + + /**列表(全部) + * @param pd + * @throws Exception + */ + List<PageData> listBo(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + void deleteAll(String[] ArrayDATA_IDS); + + PageData findByCode(PageData pd); + + List<PageData> listAllForMap(PageData pd); + + List<PageData> getPointsInfo(PageData pd); + + List<PageData> getCameraPosition(PageData pageData); +} + diff --git a/src/main/java/com/zcloud/service/gatemachine/GateAreaService.java b/src/main/java/com/zcloud/service/gatemachine/GateAreaService.java new file mode 100644 index 00000000..67a3b70e --- /dev/null +++ b/src/main/java/com/zcloud/service/gatemachine/GateAreaService.java @@ -0,0 +1,23 @@ +package com.zcloud.service.gatemachine; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:TODO + * 作者:wangxuan + * 官网:www.zcloudchina.com + */ +public interface GateAreaService { + + + List<PageData> getDatalistpage(Page page); + + void edit(PageData pd); + + void removeByIds(PageData pageData); + + void save(PageData pageData); +} diff --git a/src/main/java/com/zcloud/service/gatemachine/GateMachineService.java b/src/main/java/com/zcloud/service/gatemachine/GateMachineService.java new file mode 100644 index 00000000..64de16f0 --- /dev/null +++ b/src/main/java/com/zcloud/service/gatemachine/GateMachineService.java @@ -0,0 +1,46 @@ +package com.zcloud.service.gatemachine; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.ArrayList; +import java.util.List; + +/** + * 说明:TODO + * 作者:wangxuan + * 官网:www.zcloudchina.com + */ +public interface GateMachineService { + + + ArrayList<PageData> getDatalistpage(Page page); + + void edit(PageData pd); + + void removeByIds(PageData pageData); + + void save(PageData pageData); + + PageData getOnlineGateMachine(PageData pageData); + + List<PageData> getGatePosition(PageData pageData); + + PageData getGateMachineInfoById(PageData pageData); + + + List<PageData> getPersonRecordCountByEId(PageData gateMachineInfo); + List<PageData> getTodayInOutCount(PageData pd); + + List<PageData> getCarRecordCountByEId(PageData gateMachineInfo); + + List<PageData> getCarRecordCountByCorpId(PageData gateMachineInfo); + + /** + * 一公司 + * 今天闸机的进出记录 + * @param gateMachineInfo + * @return + */ + List<PageData> getPersonRecordListAllByEId(Page page); +} diff --git a/src/main/java/com/zcloud/service/gatemachine/GateVideoService.java b/src/main/java/com/zcloud/service/gatemachine/GateVideoService.java new file mode 100644 index 00000000..81dea391 --- /dev/null +++ b/src/main/java/com/zcloud/service/gatemachine/GateVideoService.java @@ -0,0 +1,75 @@ +package com.zcloud.service.gatemachine; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:视频管理 + * 作者:luoxiaobao + * 时间:2021-05-10 + * 官网:www.zcloudchina.com + */ +public interface GateVideoService { + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd)throws Exception; + + /**删除 + * @param pd + * @throws Exception + */ + public void delete(PageData pd)throws Exception; + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd)throws Exception; + public void savePosition(PageData pd)throws Exception; + public void editIsShowBycorpinfoid(PageData pd)throws Exception; + public void editIsShow(PageData pd)throws Exception; + + /**列表 + * @param page + * @throws Exception + */ + public List<PageData> list(Page page)throws Exception; + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List<PageData> listBo(PageData pd)throws Exception; + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List<PageData> listAll(PageData pd)throws Exception; + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception; + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS)throws Exception; + + public PageData findByCode(PageData video)throws Exception; + + public List<PageData> listAllForMap(PageData pd)throws Exception; + + public List<PageData> getPointsInfo(PageData pd)throws Exception; + + List<PageData> getCameraPosition(PageData pageData); +} + diff --git a/src/main/java/com/zcloud/service/gatemachine/impl/GateAreaServiceImpl.java b/src/main/java/com/zcloud/service/gatemachine/impl/GateAreaServiceImpl.java new file mode 100644 index 00000000..74a2f2cb --- /dev/null +++ b/src/main/java/com/zcloud/service/gatemachine/impl/GateAreaServiceImpl.java @@ -0,0 +1,55 @@ +package com.zcloud.service.gatemachine.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.datasource.gatemachine.GateAreaMapper; +import com.zcloud.service.gatemachine.GateAreaService; +import com.zcloud.util.InitPageDataUtil; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 说明:TODO + * 作者:wangxuan + * 官网:www.zcloudchina.com + */ +@Service +public class GateAreaServiceImpl implements GateAreaService { + + + @Resource + private GateAreaMapper gateAreaMapper; + + @Resource + private InitPageDataUtil initPageDataUtil; + + + @Override + public List<PageData> getDatalistpage(Page page) { + return gateAreaMapper.getDatalistPage(page); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void edit(PageData pd) { + initPageDataUtil.initEdit(pd); + gateAreaMapper.edit(pd); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void removeByIds(PageData pageData) { + initPageDataUtil.initEdit(pageData); + gateAreaMapper.removeByIds(pageData); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(PageData pageData) { + initPageDataUtil.initSave(pageData,"GATE_AREA_ID"); + gateAreaMapper.save(pageData); + } +} diff --git a/src/main/java/com/zcloud/service/gatemachine/impl/GateMachineServiceImpl.java b/src/main/java/com/zcloud/service/gatemachine/impl/GateMachineServiceImpl.java new file mode 100644 index 00000000..5bbb5529 --- /dev/null +++ b/src/main/java/com/zcloud/service/gatemachine/impl/GateMachineServiceImpl.java @@ -0,0 +1,234 @@ +package com.zcloud.service.gatemachine.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.datasource.gatemachine.GateAreaMapper; +import com.zcloud.mapper.datasource.gatemachine.GateMachineMapper; +import com.zcloud.mapper.datasource.gatemachine.GateVideoMapper; +import com.zcloud.service.gatemachine.GateMachineService; +import com.zcloud.service.keyProjects.VideoManagerService; +import com.zcloud.util.InitPageDataUtil; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * 说明:TODO + * 作者:wangxuan + * 官网:www.zcloudchina.com + */ +@Service +public class GateMachineServiceImpl implements GateMachineService { + + + @Resource + private GateMachineMapper gateMachineMapper; + @Resource + private GateAreaMapper gateAreaMapper; + + @Resource + private GateVideoMapper gateVideoMapper; + + @Resource + private InitPageDataUtil initPageDataUtil; + + + @Override + public ArrayList<PageData> getDatalistpage(Page page) { + return gateMachineMapper.getDatalistPage(page); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void edit(PageData pd) { + initPageDataUtil.initEdit(pd); + gateMachineMapper.edit(pd); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void removeByIds(PageData pageData) { + String[] dataIds = pageData.getString("DATA_IDS").split(","); + initPageDataUtil.initEdit(pageData); + if (dataIds.length > 0) { + pageData.put("item", dataIds); + gateMachineMapper.removeByIds(pageData); + } + } + + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(PageData pageData) { + initPageDataUtil.initSave(pageData, "GATE_MACHINE_ID"); + gateMachineMapper.save(pageData); + } + + @Override + public PageData getOnlineGateMachine(PageData pageData) { + List<PageData> gateMachineList = gateMachineMapper.getOnlineGateMachine(pageData); + PageData value = new PageData(); + gateMachineList.forEach(item -> { + value.put(item.getString("TYPE"), item.getString("COUNT")); + }); + return value; + } + + @Resource + private VideoManagerService videoManagerService; + + @Override + public List<PageData> getGatePosition(PageData pageData) { + // todo 需求变更,现在闸机变成了区域 + if (pageData.getString("TYPE").equals("PERSON")) { + pageData.put("GATE_AREA_TYPE", 0); + // 人闸机定位 + } + + if (pageData.getString("TYPE").equals("CAR")) { + // 车闸机定位 + pageData.put("GATE_AREA_TYPE", 1); + } + if (pageData.getString("TYPE").equals("CAMERA")) { + // 摄像头定位 + return gateVideoMapper.getCameraPosition(pageData); + } + + return gateAreaMapper.getGatePosition(pageData); + } + + @Override + public PageData getGateMachineInfoById(PageData pageData) { + return gateMachineMapper.getGateMachineInfoById(pageData); + } + + @Override + + public List<PageData> getPersonRecordCountByEId(PageData gateMachineInfo) { + return gateMachineMapper.getPersonRecordCountByEId(gateMachineInfo); + } + + @Override + public List<PageData> getTodayInOutCount(PageData pd) { + List<PageData> todayInOutCount = gateMachineMapper.getTodayInOutCount(pd); + // 当日进出 闸机数 + // 0 海域消防泵房南 1 大庆路与消防南路 2 一期停泊泊位 3 107 4 105 5 南北入口 6 + int[] counts = {0, 0, 0, 0, 0, 0}; + PageData pageData = new PageData(); + pageData.put("todayInOutCountList", todayInOutCount); + for (PageData item : todayInOutCount) { + // 海域消防泵房南入口 + if ("65270348-1df7-494a-b2e5-32f6b19d040b".equals(item.getString("EQUIPMENTID"))) { + counts[0] += Integer.parseInt(item.getString("COUNT")); + } + if ("44d9a3be-a778-4988-bb7d-04d8d87c53c3".equals(item.getString("EQUIPMENTID"))) { + counts[0] -= Integer.parseInt(item.getString("COUNT")); + } + // 大庆路与消防南路出口 + if ("189a90f0-5022-4df3-b2ac-1e276ce3585e".equals(item.getString("EQUIPMENTID"))) { + counts[1] -= Integer.parseInt(item.getString("COUNT")); + } + if ("9cfcbc32-9466-4b44-a0cd-533a87e8a839".equals(item.getString("EQUIPMENTID"))) { + counts[1] += Integer.parseInt(item.getString("COUNT")); + } + // 一期泊位出口 + if ("466988ac-d58c-4d9e-8065-74d9a8ad1ec9".equals(item.getString("EQUIPMENTID"))) { + counts[2] -= Integer.parseInt(item.getString("COUNT")); + } + if ("f2293484-667e-4e4b-bbeb-831938c541e0".equals(item.getString("EQUIPMENTID"))) { + counts[2] += Integer.parseInt(item.getString("COUNT")); + } + // 107出口 + if ("89e68dc2-8951-41e5-80ed-0e3ded220e1e".equals(item.getString("EQUIPMENTID"))) { + counts[3] -= Integer.parseInt(item.getString("COUNT")); + } + if ("cdf76fde-f2c5-4981-83a6-eb696ab2a76b".equals(item.getString("EQUIPMENTID"))) { + counts[3] += Integer.parseInt(item.getString("COUNT")); + } + // 105出口 + if ("2ccf4d42-114c-4427-9f25-c1895de0ce48".equals(item.getString("EQUIPMENTID"))) { + counts[4] -= Integer.parseInt(item.getString("COUNT")); + } + if ("7de29a72-8937-4b40-94b9-00afaee13034".equals(item.getString("EQUIPMENTID"))) { + counts[4] += Integer.parseInt(item.getString("COUNT")); + } + // 南入口 + if ("bfc2d476-ab57-4f1c-9186-8dd3d3f76d2a".equals(item.getString("EQUIPMENTID"))) { + counts[5] += Integer.parseInt(item.getString("COUNT")); + } + if ("96943c10-be7c-4798-9271-473176c1f047".equals(item.getString("EQUIPMENTID"))) { + counts[5] -= Integer.parseInt(item.getString("COUNT")); + } + // 北入口 + if ("9652687e-b679-4be0-bd2a-b110b44e06d1".equals(item.getString("EQUIPMENTID"))) { + counts[5] += Integer.parseInt(item.getString("COUNT")); + } + if ("059fd7c8-8ec9-4444-8123-3b6a08b8a1dd".equals(item.getString("EQUIPMENTID"))) { + counts[5] -= Integer.parseInt(item.getString("COUNT")); + } +// AND f.EQUIPMENTID NOT IN ( '96943c10-be7c-4798-9271-473176c1f047', '059fd7c8-8ec9-4444-8123-3b6a08b8a1dd' ) +// 96943c10-be7c-4798-9271-473176c1f047 60 南出口 +// 059fd7c8-8ec9-4444-8123-3b6a08b8a1dd 128 北出口 + } + List<PageData> dataArrayList = new ArrayList<>(); + for (int i = 0; i < counts.length; i++) { + PageData value = new PageData(); + if (i == 0) { + value.put("title", "海域消防泵房南闸机"); + value.put("count", counts[0]); + } + if (i == 1) { + value.put("title", "大庆路与消防南路闸机"); + value.put("count", counts[1]); + } + if (i == 2) { + value.put("title", "一期停泊泊位闸机"); + value.put("count", counts[2]); + } + if (i == 3) { + value.put("title", "107闸机"); + value.put("count", counts[3]); + } + if (i == 4) { + value.put("title", "105闸机"); + value.put("count", counts[4]); + } + if (i == 5) { + value.put("title", "其他区域"); + value.put("count", counts[5] + -counts[4] + -counts[3] + -counts[2] + -counts[1] + -counts[0] + ); + } + value.put("company", "人"); + dataArrayList.add(value); + } + return dataArrayList; + } + + @Override + public List<PageData> getCarRecordCountByEId(PageData gateMachineInfo) { + return gateMachineMapper.getCarRecordCountByEId(gateMachineInfo); + } + + @Override + public List<PageData> getCarRecordCountByCorpId(PageData gateMachineInfo) { + return gateMachineMapper.getCarRecordCountByCorpId(gateMachineInfo); + } + + /** + * 一公司人员进出记录的详情 + * @param page + * @return + */ + public List<PageData> getPersonRecordListAllByEId(Page page) { + return gateMachineMapper.getPersonRecordListAllByIdlistPage(page); + } + +} diff --git a/src/main/java/com/zcloud/service/gatemachine/impl/GateVideoServiceImpl.java b/src/main/java/com/zcloud/service/gatemachine/impl/GateVideoServiceImpl.java new file mode 100644 index 00000000..27b0ee85 --- /dev/null +++ b/src/main/java/com/zcloud/service/gatemachine/impl/GateVideoServiceImpl.java @@ -0,0 +1,120 @@ +package com.zcloud.service.gatemachine.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.datasource.gatemachine.GateVideoMapper; +import com.zcloud.service.gatemachine.GateVideoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 说明:视频管理 + * 作者:luoxiaobao + * 时间:2021-05-10 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class GateVideoServiceImpl implements GateVideoService { + + @Autowired + private GateVideoMapper gateVideoMapper; + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd)throws Exception{ + gateVideoMapper.save(pd); + } + + /**删除 + * @param pd + * @throws Exception + */ + public void delete(PageData pd)throws Exception{ + gateVideoMapper.delete(pd); + } + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd)throws Exception{ + gateVideoMapper.edit(pd); + } + public void savePosition(PageData pd)throws Exception{ + gateVideoMapper.savePosition(pd); + } + public void editIsShowBycorpinfoid(PageData pd)throws Exception{ + gateVideoMapper.editIsShowBycorpinfoid(pd); + } + public void editIsShow(PageData pd)throws Exception{ + gateVideoMapper.editIsShow(pd); + } + + /**列表 + * @param page + * @throws Exception + */ + public List<PageData> list(Page page)throws Exception{ + return gateVideoMapper.datalistPage(page); + } + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List<PageData> listBo(PageData pd)throws Exception{ + return gateVideoMapper.listBo(pd); + } + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List<PageData> listAll(PageData pd)throws Exception{ + return gateVideoMapper.listAll(pd); + } + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception{ + return gateVideoMapper.findById(pd); + } + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ + gateVideoMapper.deleteAll(ArrayDATA_IDS); + } + + /**通过CODE获取数据 + * @param pd + * @throws Exception + */ + public PageData findByCode(PageData pd)throws Exception{ + return gateVideoMapper.findByCode(pd); + } + + public List<PageData> listAllForMap(PageData pd)throws Exception{ + return gateVideoMapper.listAllForMap(pd); + } + + public List<PageData> getPointsInfo(PageData pd)throws Exception{ + return gateVideoMapper.getPointsInfo(pd); + } + + @Override + public List<PageData> getCameraPosition(PageData pageData) { + return gateVideoMapper.getCameraPosition(pageData); + } +} + diff --git a/src/main/java/com/zcloud/util/ReturnMap.java b/src/main/java/com/zcloud/util/ReturnMap.java new file mode 100644 index 00000000..ab82ecfb --- /dev/null +++ b/src/main/java/com/zcloud/util/ReturnMap.java @@ -0,0 +1,146 @@ +package com.zcloud.util; + +/** + * 说明:TODO + * 作者:wangxuan + * 官网:www.zcloudchina.com + */ + +import com.zcloud.util.examUntil.CodeMessageEnum; +import org.apache.http.HttpStatus; + +import java.util.HashMap; +import java.util.Map; + +/** + * @description: R类 + **/ +public class ReturnMap extends HashMap<String, Object> { + /** + * 序列ID + */ + private static final long serialVersionUID = 1L; + + /** + * R的无参构造, 初始化信息 + */ + public ReturnMap() { + put("code", 0); + put("msg", "success"); + put("result", "success"); + } + + /** + * error1: 返回默认error + * + * @return 返回默认error + */ + public static ReturnMap error() { + return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, "未知异常, 请联系管理员"); + } + + /** + * error2 + * + * @param msg 错误信息 + * @return 返回自定义信息的error + */ + public static ReturnMap error(String msg) { + return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, msg); + } + + public static ReturnMap error(CodeMessageEnum codeMessageEnum, String uri) { + return error(codeMessageEnum.getCode(), codeMessageEnum.getMessage(), uri); + } + + /** + * 原先R的code和msg被覆盖 + * + * @param code 错误码 + * @param msg 错误信息 + * @return 自定义的错误码和错误信息 + */ + public static ReturnMap error(int code, String msg) { + ReturnMap r = new ReturnMap(); + r.put("code", code); + r.put("result", "error"); + r.put("msg", msg); + return r; + } + + public static ReturnMap error(String code, String msg) { + ReturnMap r = new ReturnMap(); + r.put("code", code); + r.put("result", "error"); + r.put("msg", msg); + return r; + } + + public static ReturnMap error(String code, String msg, String uri) { + ReturnMap r = new ReturnMap(); + r.put("code", code); + r.put("result", "error"); + r.put("msg", msg); + r.put("uri", uri); + return r; + } + + /** + * ok1 + * 加入了msg + * + * @param msg + * @return + */ + public static ReturnMap ok(String msg) { + ReturnMap r = new ReturnMap(); + r.put("msg", msg); + return r; + } + + /** + * ok2: 加入了map + * + * @param map + * @return + */ + public static ReturnMap ok(Map<String, Object> map) { + ReturnMap r = new ReturnMap(); + r.putAll(map); + return r; + } + + /** + * ok3: 直接返回"0", "success" + * + * @return + */ + public static ReturnMap ok() { + return new ReturnMap(); + } + + /** + * 放入自定义的key和value, 然后返回 + * + * @param key + * @param value + * @return + */ + @Override + public ReturnMap put(String key, Object value) { + super.put(key, value); + return this; + } + + /** + * 得到这个对象的code + * + * @return + */ + public Integer getCode() { + return (Integer) this.get("code"); + } +} + + + diff --git a/src/main/java/com/zcloud/util/examUntil/BaseResultInterface.java b/src/main/java/com/zcloud/util/examUntil/BaseResultInterface.java new file mode 100644 index 00000000..5b28ac67 --- /dev/null +++ b/src/main/java/com/zcloud/util/examUntil/BaseResultInterface.java @@ -0,0 +1,18 @@ +package com.zcloud.util.examUntil; + +/** + * 说明:TODO + * 作者:wangxuan + * 官网:www.zcloudchina.com + */ +/** + * @desc 对象返回到前端以及异常抛出的接口类 + */ +public interface BaseResultInterface { + + + String getCode(); + + + String getMessage(); +} diff --git a/src/main/java/com/zcloud/util/examUntil/BizException.java b/src/main/java/com/zcloud/util/examUntil/BizException.java new file mode 100644 index 00000000..795390b9 --- /dev/null +++ b/src/main/java/com/zcloud/util/examUntil/BizException.java @@ -0,0 +1,84 @@ +package com.zcloud.util.examUntil; + +/** + * 说明:TODO + * 作者:wangxuan + * 官网:www.zcloudchina.com + */ + +public class BizException extends RuntimeException implements BaseResultInterface { + + private static final long serialVersionUID = 1L; + + + /** + * 错误码 + */ + private String code; + + /** + * 错误信息 + */ + private String message; + + public BizException() { + super(); + } + + public BizException(CodeMessageEnum codeMessageEnum) { + super(codeMessageEnum.getCode(),new Throwable()); + this.code = codeMessageEnum.getCode(); + this.message = codeMessageEnum.getMessage(); + } + + public BizException(CodeMessageEnum codeMessageEnum, Throwable cause) { + super(codeMessageEnum.getCode(), cause); + this.code = codeMessageEnum.getCode(); + this.message = codeMessageEnum.getMessage(); + } + public BizException (CodeMessageEnum codeMessageEnum, Throwable cause,String details) { + super(codeMessageEnum.getCode(), cause); + this.code = codeMessageEnum.getCode(); + this.message = codeMessageEnum.getMessage() + details; + } + public BizException(CodeMessageEnum codeMessageEnum, String message, Throwable cause) { + super(codeMessageEnum.getCode(), cause); + this.code = codeMessageEnum.getCode(); + this.message = message; + } + + public BizException(String message) { + super(message); + this.message = message; + } + + public BizException(String code, String message) { + super(code); + this.code = code; + this.message = message; + } + + public BizException(String code, String message, Throwable cause) { + super(code, cause); + this.code = code; + this.message = message; + } + + @Override + public Throwable fillInStackTrace() { + return this; + } + + + @Override + public String getCode() { + return this.code; + } + + @Override + public String getMessage() { + return this.message; + } +} + + diff --git a/src/main/java/com/zcloud/util/examUntil/CodeMessageEnum.java b/src/main/java/com/zcloud/util/examUntil/CodeMessageEnum.java new file mode 100644 index 00000000..2ac51a53 --- /dev/null +++ b/src/main/java/com/zcloud/util/examUntil/CodeMessageEnum.java @@ -0,0 +1,197 @@ +package com.zcloud.util.examUntil; + +/** + * 说明:TODO + * 作者:wangxuan + * 官网:www.zcloudchina.com + */ +public enum CodeMessageEnum implements BaseResultInterface { + + /** ********* 0000成功 *************** */ + SUCCESS("0000", "成功!"), + SUCCESS_LOGIN("0001", "用户登录成功"), + SUCCESS_LOGOUT("0002", "用户退出成功"), + + /* 默认失败 */ + COMMON_FAIL("999", "失败"), + + /** ********* 1xxx系统错误 *************** */ + SERVER_BUSY("1001", "服务器正忙,请稍后再试!"), + INTERNAL_SERVER_ERROR("1002", "服务器内部错误"), + NOT_FOUND("1003", "未找到该资源!"), + REQUEST_METHOD_ERROR("1004", "接口请求方法异常"), + SQL_SYNTAX_ERROR_EXCEPTION("1005", "SQL语法错误异常"), + NULL_POINT_ERROR_EXCEPTION("1006", "空指针异常信息"), + INNER_FRAME_EXCEPTION("1007", "内部框架执行异常"), + PARSE_TOKEN_EXCEPTION("1008", "解析token异常"), + TOKEN_NOT_EXIST("1009", "token不存在"), + TOKEN_SIGNATURE_EXCEPTION("1010", "token签名异常"), + TOKEN_EXPIRE("1011", "token过期,请重新登录"), + IMG_TYPE_NOT_CONFIG("1012", "请配置图片类型"), + NOT_CONFIG_FILE_DIR("1013", "请配置文件路径"), + UPLOAD_FILE_ERROR("1014", "文件上传失败"), + FILE_NOT_EXIST("1015", "文件不存在"), + FILE_HAS_DELETED("1016", "文件已被删除"), + DRIVER_CLASS_NOT_FOUND("1017", "数据库的连接驱动正在加载中..."), + TRY_CONNECT_DATABASE_ERROR("1018", "尝试连接数据库失败"), + CLOSE_CONNECT_DATABASE_ERROR("1019", "关闭数据库连接失败"), + DATABASE_NAME_NOT_EXIST("1020", "数据库名称不存在"), + CLOSE_DATASOURCE_ERROR("1021", "释放数据库资源异常"), + DRUID_DATASOURCE_ERROR("1022", "数据源创建中..."), + CREATE_DATABASE_ERROR("1023", "创建数据库失败"), + CREATE_TABLE_ERROR("1024", "创建表失败"), + UPDATE_TABLE_FIELD_ERROR("1025", "更新表字段失败"), + DELETE_TABLE_FIELD_ERROR("1026", "删除表字段失败"), + QUERY_ROLE_ERROR("1027", "查询角色失败"), + UPDATE_GROUP_ERROR("1028", "更新接口组失败"), + DELETE_GROUP_ERROR("1029", "删除接口组失败"), + SAVE_INTERFACE_ERROR("1030", "保存接口信息失败"), + + /** + * ******2xxx参数错误 ********************* + */ + BODY_NOT_MATCH("2001", "请求的数据格式不符"), + SIGNATURE_NOT_MATCH("2002", "请求的数字签名不匹配!"), + REQUEST_PATH_NOT_MATCH("2003", "当前请求路径没有权限!"), + NOT_UPLOAD_FILE_NAME_ERROR("2004", "上传的文件名不存在,请重新上传"), + NOT_SUPPORT_IMG_TYPE("2005", "图片格式不正确,请重新上传"), + NOT_SUPPORT_USERNAME_TYPE("2006", "excel用户名不能为空"), + NOT_SUPPORT_ROLE_TYPE("2007", "角色不存在"), + NOT_SUPPORT_DEPT_TYPE("2008", "部门不存在"), + SQL_INJECT_NOT_ALLOWED("2009", "参数中存在数据库关键字,请修改"), + TABLE_FIELD_NOT_EXIST("2010", "表字段不存在"), + FILE_PICTURE_IS_NULL("2011", "附件不存在"), + FILE_PICTURE_DELETE("2012", "删除附件失败"), + DIC_BIANMA_REPEAT("2013", "字典编码重复"), + + + + + + /** *********** 3xxx用户错误 ******************* */ + USER_NOT_LOGIN("3001", "用户未登录"), + USER_ACCOUNT_EXPIRED("3002", "账号已过期"), + USER_CREDENTIALS_ERROR("3003", "用户名或密码错误"), + USER_CREDENTIALS_EXPIRED("3004", "密码过期"), + USER_ACCOUNT_NOT_BIND_ENTERPRISE("3005", "当前账号未绑定企业"), + USER_ACCOUNT_LOCKED("3006", "账号被锁定"), + USER_ACCOUNT_NOT_EXIST("3007", "账号不存在"), + USER_ACCOUNT_ALREADY_EXIST("3008", "账号已存在"), + USER_ACCOUNT_USE_BY_OTHERS("3009", "账号下线"), + USER_NO_PERMISSION("3010", "当前账号没有此权限"), + USERNAME_NOT_BLANK("3011", "用户不能为空"), + USER_LOGIN_ERROR("3012", "用户登录失败"), + USER_LOGOUT_ERROR("3013", "用户退出失败"), + USER_ACCOUNT_USE_BY_OTHERS_ERROR("3014", "账号下线异常"), + USER_ACCESS_DENIED("3015", "权限认证失败"), + USERNAME_EXIST_ERROR("3016", "用户名重名"), + + ROLE_NAME_ALREADY_EXIST("3101", "角色已存在"), + + /** ********** 4xxx业务错误 *********************** */ + ENTERPRISE_NOT_EXIST("4001", "当前企业不存在"), + APP_KEY_EXIST("4002", "应用key已存在"), + APP_NOT_EXIST("4003", "应用不存在"), + APP_PAGE_NAME_EXIST("4004", "当前页面名称已存在"), + APP_PAGE_KEY_EXIST("4005", "当前页面key已存在"), + APP_PAGE_NOT_EXIST("4006", "当前页面不存在,或已删除"), + APP_PAGE_TYPE_ERROR("4007", "页面类型有误"), + APP_PAGE_HOME_IS_NOT_EXIST("4008", "请设置首页"), + CAN_NOT_DELETE_HOME_PAGE("4009", "请勿删除首页"), + DELETE_PAGE_ERROR("4010", "删除页面失败"), + CONFIG_CUSTOM_ERROR("4011", "配置自定义页面失败"), + APP_PAGE_PARENT_NOT_EXIST("4012", "当前页面的父级页面不存在,或已删除"), + DATASOURCE_NAME_EXIST("4013", "当前数据源名称已经存在,请修改后重试"), + DATASOURCE_NOT_EXIST("4014", "当前数据源不存在"), + DATASOURCE_HAS_DELETED("4015", "当前数据源已删除"), + MODEL_NOT_EXIST("4016", "当前模型不存在"), + MODEL_HAS_DELETED("4017", "当前模型已删除"), + MODEL_NAME_HAS_EXIST("4018", "当前模型名称已存在"), + DATASOURCE_NOT_CONFIG("4019", "数据源配置为空,请联系管理员"), + DATASOURCE_NOT_CONFIG_DIALECT("4020", "未配置数据源的类型"), + DATASOURCE_NOT_CONFIG_DRIVER_CLASS_NAME("4021", "未配置数据源的驱动"), + DEPT_USER_EXIST("4022", "部门下存在用户"), + NOT_CONFIG_PAGE_BUTTON_TYPE("4023", "未配置按钮雷星"), + MODEL_PAGE_RELATION_MODEL("4024", "已关联当前模型页面"), + MODEL_PAGE_NOT_EXIST("4025", "模型页面不存在或已被删除"), + MODEL_HAS_RELATION_MODEL_PAGE("4026", "当前模型已关联模型页面,不允许删除"), + FORM_NOT_EXIST("4027", "模型表单不存在"), + READ_FILE_ERROR("4028", "读取模型页面的模板文件失败"), + MODEL_PAGE_CONTENT_NULL("4029", "未配置模型页面的模板文件"), + NOT_CONFIG_QUERY_SQL("4030", "未配置查询语句"), + APP_PAGE_BUTTON_OPTION_VALUE_ERROR("4031", "未配置接口"), + DELETE_COLUMN_ERROR("4032", "删除当前失败"), + INSERT_DATA_ERROR("4033", "新建数据失败"), + EDIT_DATA_ERROR("4034", "编辑数据失败"), + DATASOURCE_HAS_MODELS("4035", "当前数据源存在模型,不允许删除"), + NOT_CONFIG_FORM_API("4036", "未配置模型表单页的接口信息"), + PLEASE_WRITE_AT_LEAST_DATA("4037", "请至少填写一行数据"), + AMIS_PAGE_ERROR("4038", "分页参数异常"), + QUERY_APP_PAGE_QUERY_FIELD_ERROR("4039", "查询搜素参数异常"), + REQUEST_PARAM_NOT_IN_APP_PAGE_QUERY_FIELD("4040", "请求参数不在查询数据表中"), + STYLE_LANGUAGE_ON_CSS("4041", "自定义css中的样式语言不能为空"), + APP_CONFIG_TYPE_NOT_EXIST("4042", "不支持当前应用设置的类型"), + APP_CONFIG_NOT_EXIST_OR_DELETED("4043", "当前设置不存在或已被删除"), + APP_HAS_CONFIG_ON_THIS_TYPE("4044", "当前应用设置的类型已存在,请更新"), + NOT_SUPPORT_COMPONENT_FRAME("4045", "不支持当前组件框架"), + NOT_SUPPORT_COMPONENT_TYPE("4046", "不支持当前组件类型"), + CURRENT_APP_KEY_EXIST("4047", "当前应用的组件key已存在"), + CREATE_CUSTOM_COMPONENT_ERROR("4048", "新增自定义组件失败"), + APP_CUSTOM_COMPONENT_NOT_EXIST("4049", "当前组件不存在或已被删除"), + UPDATE_CUSTOM_COMPONENT_ERROR("4050", "更新自定义组件失败"), + DELETED_CUSTOM_COMPONENT_ERROR("4051", "删除自定义组件失败"), + INSERT_COMPONENT_DEPENDENCE_ERROR("4052", "新增自定义组件依赖项失败"), + DELETE_COMPONENT_DEPENDENCE_ERROR("4053", "删除自定义组件依赖项失败"), + CURRENT_COMPONENT_DEPENDENCE_NOT_EXIST("4054", "当前自定义组件依赖项不存在或已被删除"), + CURRENT_APP_NAME_EXIST("4055", "当前应用的组件名称已存在"), + NOT_SUPPORT_DATASOURCE_FROM("4056", "不支持当前的数据库来源"), + JDBC_CONFIG_ERROR("4057", "平台内置的数据源配置有误"), + NOT_SUPPORT_MODEL_TYPE("4058", "不支持当前的页面模板"), + NOT_SUPPORT_CUSTOM_PAGE("4059", "暂不支持自定义页面"), + FORM_PAGE_ON_DEVELOPING("4060", "自定义页面的该功能正在开发中..."), + APP_PAGE_QUERY_FIELD_NOT_EXIST("4061", "当前查询条件不存在,或已被删除"), + APP_PAGE_BUTTON_NOT_EXIST("4062", "当前页面按钮不存在,或已被删除"), + TABLE_KEY_MORE_THEN_ONE("4063", "主键超过一个"), + TABLE_KEY_LESS_THEN_ONE("4064", "主键必须存在"), + TABLE_KEY_MUST_BE_INT("4065", "主键必须为整数类型"), + TABLE_FIELD_MUST_EXIST("4066", "必须存在表字段"), + CURRENT_MODEL_PAGE_HAS_CONVERSION_CUSTOM_PAGE("4067", "当前模型页面已转成自定义页面"), + NOT_SUPPORT_RELEASE_STATUS("4068", "发布版本状态有误"), + APP_FORM_BUTTON_NOT_EXIST("4067", "当前表单按钮不存在,或已被删除"), + DATASOURCE_KEY_EXIST_ERROR("4068","数据源key已存在") + ; + + CodeMessageEnum(String code, String message) { + this.code = code; + this.message = message; + } + + /** 返回到前端的code值 */ + private String code; + + /** 返回到前端的code对应的message值 */ + private String message; + + @Override + public String getCode() { + return this.code; + } + + @Override + public String getMessage() { + return this.message; + } + +// public static CodeVo getJsonObjectByCode(String code) { +// CodeVo codeVo = new CodeVo(); +// if (Tools.isEmpty(code)) { +// return codeVo; +// } +// for (CodeMessageEnum enumObj : CodeMessageEnum.values()) { +// if (enumObj.getCode().equals(code)) { +// return new CodeVo(code, enumObj.message); +// } +// } +// return codeVo; +// } +} diff --git a/src/main/java/com/zcloud/util/examUntil/ErrorOperation.java b/src/main/java/com/zcloud/util/examUntil/ErrorOperation.java new file mode 100644 index 00000000..6489d786 --- /dev/null +++ b/src/main/java/com/zcloud/util/examUntil/ErrorOperation.java @@ -0,0 +1,14 @@ +package com.zcloud.util.examUntil; + +import java.lang.annotation.*; + +/** + * @Description: 异常拦截接口 + * @Author: dearLin + * @Date: 2023/3/8 + */ +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface ErrorOperation { +} diff --git a/src/main/java/com/zcloud/util/examUntil/GlobalExceptionHandler.java b/src/main/java/com/zcloud/util/examUntil/GlobalExceptionHandler.java new file mode 100644 index 00000000..138f443f --- /dev/null +++ b/src/main/java/com/zcloud/util/examUntil/GlobalExceptionHandler.java @@ -0,0 +1,94 @@ +package com.zcloud.util.examUntil; + +/** + * 说明:TODO + * 作者:wangxuan + * 官网:www.zcloudchina.com + */ + + +import com.zcloud.util.ReturnMap; +import org.mybatis.spring.MyBatisSystemException; +import org.springframework.web.HttpRequestMethodNotSupportedException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +import javax.servlet.http.HttpServletRequest; + +import static com.zcloud.util.examUntil.CodeMessageEnum.SERVER_BUSY; + + +/** + * 全局异常 + */ +@RestControllerAdvice(annotations = {ErrorOperation.class}) +//@Slf4j +public class GlobalExceptionHandler { + + /** + * 业务异常类 + * + */ + @ExceptionHandler(value = BizException.class) + @ResponseBody + public ReturnMap bizExceptionHandler(HttpServletRequest req, BizException e) { + e.printStackTrace(); +// log.error("发生业务异常: {}, 请求接口: {}", e.getMessage(), req.getRequestURI()); + return ReturnMap.error("2001" ,e.getMessage(), req.getRequestURI()); + } + + + /** + * 空指针异常 + * + * @param e 异常信息 + * @param req 请求 + */ + @ExceptionHandler(value = NullPointerException.class) + @ResponseBody + public ReturnMap exceptionHandler(HttpServletRequest req, NullPointerException e) { + e.printStackTrace(); +// log.error("空指针异常信息: {}, 请求接口: {}", e, req.getRequestURI()); + return ReturnMap.error(SERVER_BUSY, req.getRequestURI()); + } + + /** + * 接口请求方法异常 + * + */ + @ExceptionHandler(value = HttpRequestMethodNotSupportedException.class) + @ResponseBody + public ReturnMap methodNotSupportedExceptionHandler(HttpServletRequest req, Exception e) { + e.printStackTrace(); +// log.error("请求方法异常信息: {},请求接口: {}", e, req.getRequestURI()); + return ReturnMap.error(SERVER_BUSY, req.getRequestURI()); + } + + /** + * SQL 语法错误异常 + */ + @ExceptionHandler(value = MyBatisSystemException.class) + @ResponseBody + public ReturnMap sqlSyntaxErrorExceptionHandler(HttpServletRequest req, Exception e) { + e.printStackTrace(); +// log.error("MyBatis系统异常信息: {},请求接口: {}", e, req.getRequestURI()); + return ReturnMap.error(SERVER_BUSY, req.getRequestURI()); + } + + + + /** + * 其他异常信息 + * + * @param req + * @param e + */ + @ExceptionHandler(value = Exception.class) + @ResponseBody + public ReturnMap exceptionHandler(HttpServletRequest req, Exception e) { + e.printStackTrace(); +// log.error("未知异常: {}, 请求接口: {}", e, req.getRequestURI()); + return ReturnMap.error(SERVER_BUSY, req.getRequestURI()); + } +} diff --git a/src/main/java/com/zcloud/util/examUntil/HttpContextUtils.java b/src/main/java/com/zcloud/util/examUntil/HttpContextUtils.java new file mode 100644 index 00000000..fcae61ef --- /dev/null +++ b/src/main/java/com/zcloud/util/examUntil/HttpContextUtils.java @@ -0,0 +1,54 @@ +package com.zcloud.util.examUntil; + +import org.apache.commons.lang.StringUtils; +import org.springframework.http.HttpHeaders; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Map; + +/** + * 说明:获取请求参数工具类 + * 作者:wangxuan + * 官网:www.zcloudchina.com + */ +public class HttpContextUtils { + public static HttpServletRequest getHttpServletRequest() { + RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); + if(requestAttributes == null){ + return null; + } + + return ((ServletRequestAttributes) requestAttributes).getRequest(); + } + + public static Map<String, String> getParameterMap(HttpServletRequest request) { + Enumeration<String> parameters = request.getParameterNames(); + + Map<String, String> params = new HashMap<>(); + while (parameters.hasMoreElements()) { + String parameter = parameters.nextElement(); + String value = request.getParameter(parameter); + if (StringUtils.isNotBlank(value)) { + params.put(parameter, value); + } + } + + return params; + } + + public static String getDomain(){ + HttpServletRequest request = getHttpServletRequest(); + StringBuffer url = request.getRequestURL(); + return url.delete(url.length() - request.getRequestURI().length(), url.length()).toString(); + } + + public static String getOrigin(){ + HttpServletRequest request = getHttpServletRequest(); + return request.getHeader(HttpHeaders.ORIGIN); + } +} diff --git a/src/main/java/com/zcloud/util/examUntil/UserChangeRecordConfig.java b/src/main/java/com/zcloud/util/examUntil/UserChangeRecordConfig.java new file mode 100644 index 00000000..a4091bc6 --- /dev/null +++ b/src/main/java/com/zcloud/util/examUntil/UserChangeRecordConfig.java @@ -0,0 +1,99 @@ +package com.zcloud.util.examUntil; + +import com.alibaba.fastjson.JSON; +import com.zcloud.entity.PageData; +import com.zcloud.util.DateUtil; +import com.zcloud.util.Jurisdiction; +import com.zcloud.util.UuidUtil; + +import java.util.Date; +import java.util.List; + +/** + * @Description: TODO + * @Author: dearLin + * @Date: 2023/8/17/017 15:10 + * @Param: + * @Return: + */ +public class UserChangeRecordConfig { + + public static final String PC = "pc端"; + public static final String APP = "app端"; + public static final String APP_EDIT_BASE_INFO = "app端修改用户基础信息"; + public static final String APP_EDIT_CORP_BASE_INFO = "app端修改用户就职信息"; + public static final String PC_EDIT_BASE_INFO = "pc端修改用户基础信息"; + public static final String PC_IMPROT_USER_BASE_INFO = "pc端导入用户信息"; + public static final String PC_EDIT_CORP_BASE_INFO = "pc端修改用户就职信息"; + public static final String PC_DEL_CORP_BASE_INFO = "pc端解除用户服务信息"; + + + public static final String PC_IMPROT_USER_BASE_img = "img端导入用户信息"; + /** + * @Description: 修改信息 + * @Author: dearLin + * @Date: 2023/8/17/017 15:47 + * @Param: [java.util.List<com.zcloud.entity.PageData>, com.zcloud.entity.PageData] [logUserList, user] + * @Return: java.util.List<com.zcloud.entity.PageData> + */ + public static List<PageData> editUserLogPc(List<PageData> logUserList, PageData user) { + user.put("CREATTIME", DateUtil.date2Str(new Date())); + user.put("CHANGE_RECORD_ID", UuidUtil.get32UUID()); + user.put("CHANGE_DATA", JSON.toJSONString(user)); + user.put("CREATOR", Jurisdiction.getUSER_ID()); + user.put("CREATOR_NAME", Jurisdiction.getUsername()); + logUserList.add(user); + return logUserList; + } + + /** + * @Description: 导入用户信息 + * @Author: dearLin + * @Date: 2023/8/17/017 15:47 + * @Param: [java.util.List<com.zcloud.entity.PageData>, com.zcloud.entity.PageData] [logUserList, user] + * @Return: java.util.List<com.zcloud.entity.PageData> + */ + public static void importUserLogPc(PageData user) { + user.put("CREATTIME", DateUtil.date2Str(new Date())); + user.put("CHANGE_RECORD_ID", UuidUtil.get32UUID()); + user.put("CHANGE_DATA", JSON.toJSONString(user)); + user.put("CREATOR", Jurisdiction.getUSER_ID()); + user.put("CREATOR_NAME", Jurisdiction.getUsername()); + user.put("REAMKE", "人员被" + Jurisdiction.getUsername() + "导入,就职于:" + user.getString("CORPINFO_NAME") + "。部门:" + user.getString("DEPARTMENT_NAME")); + } + + /** + * @Description: 导入修改用户信息 + * @Author: dearLin + * @Date: 2023/8/17/017 15:47 + * @Param: [java.util.List<com.zcloud.entity.PageData>, com.zcloud.entity.PageData] [logUserList, user] + * @Return: java.util.List<com.zcloud.entity.PageData> + */ + public static void importEditUserLogPc(PageData user) { + user.put("CREATTIME", DateUtil.date2Str(new Date())); + user.put("CHANGE_RECORD_ID", UuidUtil.get32UUID()); + user.put("CHANGE_DATA", JSON.toJSONString(user)); + user.put("CREATOR", Jurisdiction.getUSER_ID()); + user.put("CREATOR_NAME", Jurisdiction.getUsername()); + user.put("REAMKE", "人员被" + Jurisdiction.getUsername() + "导入更新,就职于:" + user.getString("CORPINFO_NAME") + "。部门:" + user.getString("DEPARTMENT_NAME")); + + } + + /** + * @Description: 解除服务关系 + * @Author: dearLin + * @Date: 2023/8/17/017 15:47 + * @Param: [java.util.List<com.zcloud.entity.PageData>, com.zcloud.entity.PageData] [logUserList, user] + * @Return: java.util.List<com.zcloud.entity.PageData> + */ + public static List<PageData> clearRelation(List<PageData> logUserList, PageData user) { + user.put("CREATTIME", DateUtil.date2Str(new Date())); + user.put("CHANGE_RECORD_ID", UuidUtil.get32UUID()); + user.put("CHANGE_DATA", JSON.toJSONString(user)); + user.put("CREATOR", Jurisdiction.getUSER_ID()); + user.put("CREATOR_NAME", Jurisdiction.getUsername()); + user.put("REAMKE", "人员被" + Jurisdiction.getUsername() + "解除服务关系,曾就职于:" + user.getString("CORPINFO_NAME") + "。部门:" + user.getString("DEPARTMENT_NAME")); + logUserList.add(user); + return logUserList; + } +} diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties new file mode 100644 index 00000000..c5980987 --- /dev/null +++ b/src/main/resources/application-dev.properties @@ -0,0 +1,61 @@ +datasource.no1.driver-class-name: com.mysql.cj.jdbc.Driver +datasource.no1.url=jdbc:mysql://192.168.0.18:3306/qa-cmt-prevention?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 +datasource.no1.username=root +datasource.no1.password=root +datasource.no2.driver-class-name: com.mysql.cj.jdbc.Driver +datasource.no2.url=jdbc:mysql://192.168.0.18:3306/qa-cmt-regulatory?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 +datasource.no2.username=root +datasource.no2.password=root + + + +#druid\u8FDE\u63A5\u6C60 +spring.datasource.type: com.alibaba.druid.pool.DruidDataSource +#\u6700\u5927\u6D3B\u8DC3\u6570 +spring.datasource.maxActive: 20 +#\u521D\u59CB\u5316\u6570\u91CF +spring.datasource.initialSize: 1 +#\u6700\u5927\u8FDE\u63A5\u7B49\u5F85\u8D85\u65F6\u65F6\u95F4 +spring.datasource.maxWait: 60000 +#\u6253\u5F00PSCache\uFF0C\u5E76\u4E14\u6307\u5B9A\u6BCF\u4E2A\u8FDE\u63A5PSCache\u7684\u5927\u5C0F +spring.datasource.poolPreparedStatements: true +spring.datasource.maxPoolPreparedStatementPerConnectionSize: 20 +#\u901A\u8FC7connectionProperties\u5C5E\u6027\u6765\u6253\u5F00mergeSql\u529F\u80FD\uFF1B\u6162SQL\u8BB0\u5F55 +#connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 +spring.datasource.minIdle: 1 +spring.datasource.timeBetweenEvictionRunsMillis: 60000 +spring.datasource.minEvictableIdleTimeMillis: 300000 +spring.datasource.validationQuery: select 1 from dual +spring.datasource.testWhileIdle: true +spring.datasource.testOnBorrow: false +spring.datasource.testOnReturn: false +#\u914D\u7F6E\u76D1\u63A7\u7EDF\u8BA1\u62E6\u622A\u7684filters\uFF0C\u53BB\u6389\u540E\u76D1\u63A7\u754C\u9762sql\u5C06\u65E0\u6CD5\u7EDF\u8BA1,'wall'\u7528\u4E8E\u9632\u706B\u5899 +filters: stat, wall, log4j + +#\u7F13\u5B58\u914D\u7F6E\u6587\u4EF6\u4F4D\u7F6E +spring.cache.ehcache.cofnig=ehcache.xml + +#\u914D\u7F6E\u8FD9\u53E5\u8BDD,\u63A7\u5236\u53F0\u8F93\u51FAsql\u8BED\u53E5 +logging.level.com.zcloud.mapper=debug + +#\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F\u9650\u5236 +spring.servlet.multipart.max-file-size=500MB +spring.servlet.multipart.max-request-size=500MB + +#activiti\u6A21\u578B\u68C0\u6D4B +spring.activiti.check-process-definitions=false + +#\u5B57\u7B26 +spring.http.encoding.charset=UTF-8 +spring.http.encoding.force=true +spring.http.encoding.enabled=true +# \u5173\u95EDspringboot\u542F\u52A8\u65F6\u7684banner +spring.main.banner-mode=off +#jar\u5305\u90E8\u7F72\u65F6\u53BB\u6389\u6CE8\u91CA +#web.upload-path=h:/ +#web.front-path=h:/ +#spring.resources.static-locations=file:${web.upload-path},file:${web.front-path} +# +preventionxgf.api.url=http://192.168.0.18:8993/qa-prevention-xgf/ +qa-regulatory-gwj.api.url=http://192.168.0.18:8092/qa-regulatory-gwj/ + diff --git a/src/main/resources/application-2.properties b/src/main/resources/application-prod.properties similarity index 55% rename from src/main/resources/application-2.properties rename to src/main/resources/application-prod.properties index 9ffd3872..a2a0619e 100644 --- a/src/main/resources/application-2.properties +++ b/src/main/resources/application-prod.properties @@ -1,16 +1,12 @@ -spring.application.name=qa-prevention-gwj -server.port=8091 -#数据源 172.24.151.16 39.103.224.166 39.101.130.96 192.168.192.202 gwjsjkzcloud888888 + datasource.no1.driver-class-name: com.mysql.cj.jdbc.Driver -datasource.no1.url=jdbc:mysql://39.101.130.96:33068/qa-gwj-prevention?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 +datasource.no1.url=jdbc:mysql://192.168.0.18:3306/qa-cmt-prevention?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 datasource.no1.username=root -datasource.no1.password=Mysql@zcloud88888 +datasource.no1.password=root datasource.no2.driver-class-name: com.mysql.cj.jdbc.Driver -datasource.no2.url=jdbc:mysql://39.101.130.96:33068/qa-gwj-regulatory?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 +datasource.no2.url=jdbc:mysql://192.168.0.18:3306/qa-cmt-regulatory?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 datasource.no2.username=root -datasource.no2.password=Mysql@zcloud88888 - - +datasource.no2.password=root #datasource.no1.driver-class-name: com.mysql.cj.jdbc.Driver #datasource.no1.url=jdbc:mysql://192.168.192.202:33068/qa-gwj-prevention?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 #datasource.no1.username=root @@ -20,18 +16,18 @@ datasource.no2.password=Mysql@zcloud88888 #datasource.no2.username=root #datasource.no2.password=gwjsjkzcloud888888 -#druid连接池 +#druid\u8FDE\u63A5\u6C60 spring.datasource.type: com.alibaba.druid.pool.DruidDataSource -#最大活跃数 +#\u6700\u5927\u6D3B\u8DC3\u6570 spring.datasource.maxActive: 20 -#初始化数量 +#\u521D\u59CB\u5316\u6570\u91CF spring.datasource.initialSize: 1 -#最大连接等待超时时间 +#\u6700\u5927\u8FDE\u63A5\u7B49\u5F85\u8D85\u65F6\u65F6\u95F4 spring.datasource.maxWait: 60000 -#打开PSCache,并且指定每个连接PSCache的大小 +#\u6253\u5F00PSCache\uFF0C\u5E76\u4E14\u6307\u5B9A\u6BCF\u4E2A\u8FDE\u63A5PSCache\u7684\u5927\u5C0F spring.datasource.poolPreparedStatements: true spring.datasource.maxPoolPreparedStatementPerConnectionSize: 20 -#通过connectionProperties属性来打开mergeSql功能;慢SQL记录 +#\u901A\u8FC7connectionProperties\u5C5E\u6027\u6765\u6253\u5F00mergeSql\u529F\u80FD\uFF1B\u6162SQL\u8BB0\u5F55 #connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 spring.datasource.minIdle: 1 spring.datasource.timeBetweenEvictionRunsMillis: 60000 @@ -40,34 +36,34 @@ spring.datasource.validationQuery: select 1 from dual spring.datasource.testWhileIdle: true spring.datasource.testOnBorrow: false spring.datasource.testOnReturn: false -#配置监控统计拦截的filters,去掉后监控界面sql将无法统计,'wall'用于防火墙 +#\u914D\u7F6E\u76D1\u63A7\u7EDF\u8BA1\u62E6\u622A\u7684filters\uFF0C\u53BB\u6389\u540E\u76D1\u63A7\u754C\u9762sql\u5C06\u65E0\u6CD5\u7EDF\u8BA1,'wall'\u7528\u4E8E\u9632\u706B\u5899 filters: stat, wall, log4j -#缓存配置文件位置 +#\u7F13\u5B58\u914D\u7F6E\u6587\u4EF6\u4F4D\u7F6E spring.cache.ehcache.cofnig=ehcache.xml -#配置这句话,控制台输出sql语句 +#\u914D\u7F6E\u8FD9\u53E5\u8BDD,\u63A7\u5236\u53F0\u8F93\u51FAsql\u8BED\u53E5 logging.level.com.zcloud.mapper=debug -#上传文件大小限制 +#\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F\u9650\u5236 spring.servlet.multipart.max-file-size=500MB spring.servlet.multipart.max-request-size=500MB -#activiti模型检测 +#activiti\u6A21\u578B\u68C0\u6D4B spring.activiti.check-process-definitions=false -#字符 +#\u5B57\u7B26 spring.http.encoding.charset=UTF-8 spring.http.encoding.force=true spring.http.encoding.enabled=true -# 关闭springboot启动时的banner +# \u5173\u95EDspringboot\u542F\u52A8\u65F6\u7684banner spring.main.banner-mode=off -#jar包部署时去掉注释 +#jar\u5305\u90E8\u7F72\u65F6\u53BB\u6389\u6CE8\u91CA #web.upload-path=h:/ #web.front-path=h:/ #spring.resources.static-locations=file:${web.upload-path},file:${web.front-path} - -preventionxgf.api.url=http://192.168.0.45:8088/ -qa-regulatory-gwj.api.url=http://192.168.0.45:8092/ - - +#\u6B63\u5F0F +#preventionxgf.api.url=http://192.168.192.201:8993/qa-prevention-xgf/ +#qa-regulatory-gwj.api.url=http://192.168.192.201:8092/qa-regulatory-gwj/ +preventionxgf.api.url=http://192.168.0.18:8993/qa-prevention-xgf/ +qa-regulatory-gwj.api.url=http://192.168.0.18:8092/qa-regulatory-gwj/ diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index bc934404..8547d6f2 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,72 +1,13 @@ -spring.application.name=qa-prevention-gwj -server.port=8091 -#数据源 172.24.151.16 39.103.224.166 39.101.130.96 192.168.192.202 gwjsjkzcloud888888 -#datasource.no1.driver-class-name: com.mysql.cj.jdbc.Driver -#datasource.no1.url=jdbc:mysql://39.101.130.96:33068/qa-gwj-prevention?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 -#datasource.no1.username=root -#datasource.no1.password=Mysql@zcloud88888 -#datasource.no2.driver-class-name: com.mysql.cj.jdbc.Driver -#datasource.no2.url=jdbc:mysql://39.101.130.96:33068/qa-gwj-regulatory?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 -#datasource.no2.username=root -#datasource.no2.password=Mysql@zcloud88888 +spring.application.name=qa-prevention-cmt +server.port=8095 + +#?? +#spring.profiles.active=local +#\uFFFD\uFFFD\uFFFD\uFFFD31\u02B1\u02B9\uFFFD\uFFFD +spring.profiles.active=dev +#?? +#spring.profiles.active=master -datasource.no1.driver-class-name: com.mysql.cj.jdbc.Driver -datasource.no1.url=jdbc:mysql://192.168.192.202:33068/qa-gwj-prevention?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 -datasource.no1.username=root -datasource.no1.password=gwjsjkzcloud888888 -datasource.no2.driver-class-name: com.mysql.cj.jdbc.Driver -datasource.no2.url=jdbc:mysql://192.168.192.202:33068/qa-gwj-regulatory?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 -datasource.no2.username=root -datasource.no2.password=gwjsjkzcloud888888 -#druid连接池 -spring.datasource.type: com.alibaba.druid.pool.DruidDataSource -#最大活跃数 -spring.datasource.maxActive: 20 -#初始化数量 -spring.datasource.initialSize: 1 -#最大连接等待超时时间 -spring.datasource.maxWait: 60000 -#打开PSCache,并且指定每个连接PSCache的大小 -spring.datasource.poolPreparedStatements: true -spring.datasource.maxPoolPreparedStatementPerConnectionSize: 20 -#通过connectionProperties属性来打开mergeSql功能;慢SQL记录 -#connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 -spring.datasource.minIdle: 1 -spring.datasource.timeBetweenEvictionRunsMillis: 60000 -spring.datasource.minEvictableIdleTimeMillis: 300000 -spring.datasource.validationQuery: select 1 from dual -spring.datasource.testWhileIdle: true -spring.datasource.testOnBorrow: false -spring.datasource.testOnReturn: false -#配置监控统计拦截的filters,去掉后监控界面sql将无法统计,'wall'用于防火墙 -filters: stat, wall, log4j - -#缓存配置文件位置 -spring.cache.ehcache.cofnig=ehcache.xml - -#配置这句话,控制台输出sql语句 -logging.level.com.zcloud.mapper=debug - -#上传文件大小限制 -spring.servlet.multipart.max-file-size=500MB -spring.servlet.multipart.max-request-size=500MB - -#activiti模型检测 -spring.activiti.check-process-definitions=false - -#字符 -spring.http.encoding.charset=UTF-8 -spring.http.encoding.force=true -spring.http.encoding.enabled=true -# 关闭springboot启动时的banner -spring.main.banner-mode=off -#jar包部署时去掉注释 -#web.upload-path=h:/ -#web.front-path=h:/ -#spring.resources.static-locations=file:${web.upload-path},file:${web.front-path} - -preventionxgf.api.url=http://192.168.192.201:8993/qa-prevention-xgf/ -qa-regulatory-gwj.api.url=http://192.168.192.201:8092/qa-regulatory-gwj/ diff --git a/src/main/resources/application3.properties b/src/main/resources/application3.properties deleted file mode 100644 index bc934404..00000000 --- a/src/main/resources/application3.properties +++ /dev/null @@ -1,72 +0,0 @@ -spring.application.name=qa-prevention-gwj -server.port=8091 -#数据源 172.24.151.16 39.103.224.166 39.101.130.96 192.168.192.202 gwjsjkzcloud888888 -#datasource.no1.driver-class-name: com.mysql.cj.jdbc.Driver -#datasource.no1.url=jdbc:mysql://39.101.130.96:33068/qa-gwj-prevention?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 -#datasource.no1.username=root -#datasource.no1.password=Mysql@zcloud88888 -#datasource.no2.driver-class-name: com.mysql.cj.jdbc.Driver -#datasource.no2.url=jdbc:mysql://39.101.130.96:33068/qa-gwj-regulatory?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 -#datasource.no2.username=root -#datasource.no2.password=Mysql@zcloud88888 - - -datasource.no1.driver-class-name: com.mysql.cj.jdbc.Driver -datasource.no1.url=jdbc:mysql://192.168.192.202:33068/qa-gwj-prevention?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 -datasource.no1.username=root -datasource.no1.password=gwjsjkzcloud888888 -datasource.no2.driver-class-name: com.mysql.cj.jdbc.Driver -datasource.no2.url=jdbc:mysql://192.168.192.202:33068/qa-gwj-regulatory?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 -datasource.no2.username=root -datasource.no2.password=gwjsjkzcloud888888 - -#druid连接池 -spring.datasource.type: com.alibaba.druid.pool.DruidDataSource -#最大活跃数 -spring.datasource.maxActive: 20 -#初始化数量 -spring.datasource.initialSize: 1 -#最大连接等待超时时间 -spring.datasource.maxWait: 60000 -#打开PSCache,并且指定每个连接PSCache的大小 -spring.datasource.poolPreparedStatements: true -spring.datasource.maxPoolPreparedStatementPerConnectionSize: 20 -#通过connectionProperties属性来打开mergeSql功能;慢SQL记录 -#connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 -spring.datasource.minIdle: 1 -spring.datasource.timeBetweenEvictionRunsMillis: 60000 -spring.datasource.minEvictableIdleTimeMillis: 300000 -spring.datasource.validationQuery: select 1 from dual -spring.datasource.testWhileIdle: true -spring.datasource.testOnBorrow: false -spring.datasource.testOnReturn: false -#配置监控统计拦截的filters,去掉后监控界面sql将无法统计,'wall'用于防火墙 -filters: stat, wall, log4j - -#缓存配置文件位置 -spring.cache.ehcache.cofnig=ehcache.xml - -#配置这句话,控制台输出sql语句 -logging.level.com.zcloud.mapper=debug - -#上传文件大小限制 -spring.servlet.multipart.max-file-size=500MB -spring.servlet.multipart.max-request-size=500MB - -#activiti模型检测 -spring.activiti.check-process-definitions=false - -#字符 -spring.http.encoding.charset=UTF-8 -spring.http.encoding.force=true -spring.http.encoding.enabled=true -# 关闭springboot启动时的banner -spring.main.banner-mode=off -#jar包部署时去掉注释 -#web.upload-path=h:/ -#web.front-path=h:/ -#spring.resources.static-locations=file:${web.upload-path},file:${web.front-path} - -preventionxgf.api.url=http://192.168.192.201:8993/qa-prevention-xgf/ -qa-regulatory-gwj.api.url=http://192.168.192.201:8092/qa-regulatory-gwj/ - diff --git a/src/main/resources/mybatis/datasource/gatemachine/GateAreaMapper.xml b/src/main/resources/mybatis/datasource/gatemachine/GateAreaMapper.xml new file mode 100644 index 00000000..3cbba08b --- /dev/null +++ b/src/main/resources/mybatis/datasource/gatemachine/GateAreaMapper.xml @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zcloud.mapper.datasource.gatemachine.GateAreaMapper"> + <sql id="table"> mk_gate_area </sql> + <sql id="filed"> + f.GATE_AREA_ID, + f.GATE_AREA_NAME, + f.GATE_AREA_TYPE, + f.LATITUDE, + f.LONGITUDE, + f.CORPINFO_ID, + f.ISDELETE, + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME + </sql> + <insert id="save"> + INSERT INTO <include refid="table"></include> + ( + GATE_AREA_ID, + GATE_AREA_NAME, + GATE_AREA_TYPE, + LATITUDE, + LONGITUDE, + CORPINFO_ID, + ISDELETE, + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME + ) + VALUES ( + #{GATE_AREA_ID}, + #{GATE_AREA_NAME}, + #{GATE_AREA_TYPE}, + #{LATITUDE}, + #{LONGITUDE}, + #{CORPINFO_ID}, + #{ISDELETE}, + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME} + ) + </insert> + <select id="getDatalistPage" resultType="com.zcloud.entity.PageData"> + select <include refid="filed"></include>, CONCAT_WS('--', f.LATITUDE,f.LONGITUDE) LONGTITUDEANDLATITUDE, + (select count(1) from BUS_GATEVIDEO v where v.GATE_AREA_ID = f.GATE_AREA_ID and v.ISDELETE = '0') as VIDEO_COUNT, + (select count(1) from mk_gate_machine m where m.GATE_AREA_ID = f.GATE_AREA_ID and m.ISDELETE = '0') as GATE_COUNT + from + <include refid="table"></include> f where f.ISDELETE = 0 + <if test="pd.GATE_AREA_NAME != null and pd.GATE_AREA_NAME != ''"> + and f.GATE_AREA_NAME like CONCAT(CONCAT('%', #{pd.GATE_AREA_NAME}),'%') + </if> + <if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''"> + and f.CORPINFO_ID = #{pd.CORPINFO_ID} + </if> + <if test="pd.GATE_AREA_TYPE != null and pd.GATE_AREA_TYPE != ''"> + and f.GATE_AREA_TYPE = #{pd.GATE_AREA_TYPE} + </if> + order by f.OPERATTIME desc + </select> + <select id="getGatePosition" resultType="com.zcloud.entity.PageData"> + select LONGITUDE, + LATITUDE, + GATE_AREA_NAME, + '${TYPE}' TYPE, + GATE_AREA_ID id + FROM + mk_gate_area + WHERE + isdelete = 0 and GATE_AREA_TYPE = #{GATE_AREA_TYPE} + <if test="AREA != null and AREA != ''"> + and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0) + </if> + <if test="CORPINFO_ID != null and CORPINFO_ID != ''"> + and CORPINFO_ID = #{CORPINFO_ID} + </if> + </select> + <update id="edit"> + update + <include refid="table"></include> + set + GATE_AREA_NAME = #{GATE_AREA_NAME}, + GATE_AREA_TYPE = #{GATE_AREA_TYPE}, + LONGITUDE = #{LONGITUDE}, + LATITUDE = #{LATITUDE}, + CORPINFO_ID = #{CORPINFO_ID}, + OPERATOR = #{OPERATOR}, + OPERATTIME = #{OPERATTIME} + where + GATE_AREA_ID = #{GATE_AREA_ID} + </update> + <update id="removeByIds"> + update mk_gate_area + set ISDELETE = 1 + where GATE_AREA_ID in + <foreach collection="list" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </update> +</mapper> diff --git a/src/main/resources/mybatis/datasource/gatemachine/GateMachineMapper.xml b/src/main/resources/mybatis/datasource/gatemachine/GateMachineMapper.xml new file mode 100644 index 00000000..9340db14 --- /dev/null +++ b/src/main/resources/mybatis/datasource/gatemachine/GateMachineMapper.xml @@ -0,0 +1,346 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zcloud.mapper.datasource.gatemachine.GateMachineMapper"> + <sql id="table"> mk_gate_machine </sql> + + <sql id="filed"> + f + . + GATE_MACHINE_ID + , + f.GATE_MACHINE_TYPE, + f.EQUIPMENTID, + f.GATE_MACHINE_MODEL, + f.GATE_MACHINE_NAME, + f.STATE, + f.DESCR, + f.LATITUDE, + f.LONGITUDE, + f.CORPINFO_ID, + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME, + f.REMAKE + </sql> + <insert id="save"> + INSERT INTO mk_gate_machine + ( + GATE_MACHINE_ID, + GATE_AREA_ID, + GATE_MACHINE_NAME, + GATE_MACHINE_TYPE, + EQUIPMENTID, + GATE_MACHINE_MODEL, + STATE, + DESCR, + LONGITUDE, + LATITUDE, + CORPINFO_ID, + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME) + VALUES (#{GATE_MACHINE_ID}, + #{GATE_AREA_ID}, + #{GATE_MACHINE_NAME}, + #{GATE_MACHINE_TYPE}, + #{EQUIPMENTID}, + #{GATE_MACHINE_MODEL}, + #{STATE}, + #{DESCR}, + #{LONGITUDE}, + #{LATITUDE}, + #{CORPINFO_ID}, + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME}) + </insert> + <select id="getDatalistPage" resultType="com.zcloud.entity.PageData"> + select <include refid="filed"></include>, CONCAT_WS('--', f.LATITUDE,f.LONGITUDE) LONGTITUDEANDLATITUDE + from + mk_gate_machine f where ISDELETE = 0 + <if test="pd.GATE_MACHINE_NAME != null and pd.GATE_MACHINE_NAME != ''"> + and f.GATE_MACHINE_NAME like CONCAT(CONCAT('%', #{pd.GATE_MACHINE_NAME}),'%') + </if> + <if test="pd.GATE_AREA_ID != null and pd.GATE_AREA_ID != ''"> + and f.GATE_AREA_ID = #{pd.GATE_AREA_ID} + </if> + <if test="pd.GATE_MACHINE_TYPE != null and pd.GATE_MACHINE_TYPE != ''"> + and f.GATE_MACHINE_TYPE = #{pd.GATE_MACHINE_TYPE} + </if> + <if test="pd.GATE_MACHINE_MODEL != null and pd.GATE_MACHINE_MODEL != ''"> + and f.GATE_MACHINE_MODEL like CONCAT(CONCAT('%', #{pd.GATE_MACHINE_MODEL}),'%') + </if> + </select> + <select id="getOnlineGateMachine" resultType="com.zcloud.entity.PageData"> + SELECT + 'PERSON_OUT' TYPE, + COUNT( 1 ) COUNT + FROM + `bus_carduser` f + WHERE + f.TIME BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' ) + AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' ) + AND STATE = 1 + <if test="AREA != null and AREA != ''"> + and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0) + </if> + <if test="CORP_INFO_ID != null and CORP_INFO_ID != ''"> + and CORPINFO_ID = #{CORP_INFO_ID} + </if> + UNION ALL + SELECT + 'PERSON_IN' TYPE, + COUNT( 1 ) count + FROM + `bus_carduser` f + WHERE + f.TIME BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' ) + AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' ) + AND STATE = 0 + <if test="AREA != null and AREA != ''"> + and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0) + </if> + <if test="CORP_INFO_ID != null and CORP_INFO_ID != ''"> + and CORPINFO_ID = #{CORP_INFO_ID} + </if> + UNION ALL + SELECT + 'CAR_IN' TYPE, + IFNULL( COUNT( 1 ), 0 ) COUNT + FROM + bus_foreigncar c + WHERE + c.ISDELETE = 0 and + c.TIME_IN BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' ) + AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' ) + <if test="AREA != null and AREA != ''"> + and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0) + </if> + <if test="CORP_INFO_ID != null and CORP_INFO_ID != ''"> + and CORPINFO_ID = #{CORP_INFO_ID} + </if> + UNION ALL + SELECT + 'CAR_OUT' TYPE, + IFNULL( COUNT( 1 ), 0 ) COUNT + FROM + bus_foreigncar c + WHERE + c.ISDELETE = 0 and + c.TIME_OUT BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' ) + AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' ) + <if test="AREA != null and AREA != ''"> + and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0) + </if> + <if test="CORP_INFO_ID != null and CORP_INFO_ID != ''"> + and CORPINFO_ID = #{CORP_INFO_ID} + </if> + UNION ALL + SELECT + 'CAMERA' TYPE, + IFNULL( COUNT( 1 ), 0 ) COUNT + FROM + bus_gatevideo v + LEFT JOIN mk_gate_area o on v.GATE_AREA_ID = o.GATE_AREA_ID + WHERE + v.isdelete = 0 + <if test="AREA != null and AREA != ''"> + and o.CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0) + </if> + <if test="CORP_INFO_ID != null and CORP_INFO_ID != ''"> + and o.CORPINFO_ID = #{CORP_INFO_ID} + </if> + + </select> + <select id="getTodayInOutCount" resultType="com.zcloud.entity.PageData"> + SELECT + f.EQUIPMENTID, + COUNT( 1 ) COUNT, + m.GATE_MACHINE_NAME + FROM + bus_carduser f + LEFT JOIN mk_gate_machine m ON f.EQUIPMENTID = m.EQUIPMENTID + WHERE + f.TIME > CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' ) + <if test="AREA != null and AREA != ''"> + and m.CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0) + </if> + <if test="CORP_INFO_ID != null and CORP_INFO_ID != ''"> + and m.CORPINFO_ID = #{CORP_INFO_ID} + </if> + <if test="CORPINFO_ID != null and CORPINFO_ID != ''"> + and m.CORPINFO_ID = #{CORPINFO_ID} + </if> + + GROUP BY + f.EQUIPMENTID + ORDER BY + GATE_MACHINE_NAME DESC + </select> + <select id="getGatePosition" resultType="com.zcloud.entity.PageData"> + select LONGITUDE, + LATITUDE, + GATE_MACHINE_NAME, + '${TYPE}' TYPE, + GATE_MACHINE_ID id + FROM + mk_gate_machine + WHERE + isdelete = 0 + and GATE_MACHINE_TYPE = #{GATE_MACHINE_TYPE} + <if test="AREA != null and AREA != ''"> + and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0) + </if> + <if test="CORP_INFO_ID != null and CORP_INFO_ID != ''"> + and CORPINFO_ID = #{CORP_INFO_ID} + </if> + </select> + <select id="getGateMachineInfoById" resultType="com.zcloud.entity.PageData"> + SELECT + r.GATE_AREA_NAME, + GROUP_CONCAT( f.GATE_MACHINE_NAME ) GATE_MACHINE_NAME, + GROUP_CONCAT( DISTINCT f.GATE_MACHINE_MODEL ) GATE_MACHINE_MODEL, + GROUP_CONCAT( DISTINCT r.CORPINFO_ID ) CORPINFO_ID, + GROUP_CONCAT( f.EQUIPMENTID ) EQUIPMENTID + FROM + mk_gate_machine f + LEFT JOIN mk_gate_area r ON r.GATE_AREA_ID = f.GATE_AREA_ID + + left join bus_gatevideo v on v.GATE_AREA_ID = f.GATE_AREA_ID + WHERE + f.ISDELETE = 0 + <if test="GATE_AREA_ID != null and GATE_AREA_ID != ''" > + and f.GATE_AREA_ID = #{GATE_AREA_ID} + </if> + <if test="GATEVIDEO_ID != null and GATEVIDEO_ID != ''" > + AND v.GATEVIDEO_ID = #{GATEVIDEO_ID} + </if> + + GROUP BY + f.GATE_AREA_ID + </select> + <select id="getPersonRecordCountByEId" resultType="com.zcloud.entity.PageData"> + SELECT + COUNT( 1 ) COUNT, + CASE + STATE + WHEN 0 THEN + 'PERSON_IN' ELSE 'PERSON_OUT' + END TYPE + FROM + bus_carduser + WHERE + EQUIPMENTID in <foreach collection="array" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + AND TIME BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' ) + AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' ) + GROUP BY + STATE + </select> + <select id="getCarRecordCountByEId" resultType="com.zcloud.entity.PageData"> + SELECT + COUNT( 1 ) COUNT, + 'CAR_IN' TYPE + FROM + bus_foreigncar + WHERE + EQUIPMENTID in + <foreach collection="array" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + AND TIME_IN BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' ) + AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' ) UNION ALL + SELECT + COUNT( 1 ) COUNT, + 'CAR_OUT' TYPE + FROM + bus_foreigncar + WHERE + EQUIPMENTID in + <foreach collection="array" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + AND TIME_OUT BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' ) + AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' ) + </select> + <select id="getCarRecordCountByCorpId" resultType="com.zcloud.entity.PageData"> + SELECT + COUNT( 1 ) COUNT, + 'CAR_IN' TYPE + FROM + bus_foreigncar + WHERE + ISDELETE = 0 + and CORPINFO_ID = #{CORPINFO_ID} + AND TIME_IN BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' ) + AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' ) UNION ALL + SELECT + COUNT( 1 ) COUNT, + 'CAR_OUT' TYPE + FROM + bus_foreigncar + WHERE + ISDELETE = 0 + and CORPINFO_ID = #{CORPINFO_ID} + AND TIME_OUT BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' ) + AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' ) + </select> + + <update id="edit"> + update + <include refid="table"></include> + set + GATE_MACHINE_TYPE = #{GATE_MACHINE_TYPE}, + GATE_MACHINE_MODEL = #{GATE_MACHINE_MODEL}, + GATE_MACHINE_NAME = #{GATE_MACHINE_NAME}, + STATE = #{STATE}, + DESCR = #{DESCR}, + LONGITUDE = #{LONGITUDE}, + LATITUDE = #{LATITUDE}, + CORPINFO_ID = #{CORPINFO_ID}, + OPERATOR = #{OPERATOR}, + OPERATTIME = #{OPERATTIME}, + REMAKE = #{REMAKE} + where + GATE_MACHINE_ID = #{GATE_MACHINE_ID} + </update> + + <update id="removeByIds"> + update mk_gate_machine + set ISDELETE = 1 + where GATE_MACHINE_ID in + <foreach collection="list" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </update> + + + <select id="getPersonRecordListAllByIdlistPage" resultType="com.zcloud.entity.PageData"> + SELECT + f.* + from bus_carduser f + WHERE + 1=1 + and f.EQUIPMENTID in (select EQUIPMENTID from mk_gate_machine where GATE_AREA_ID = #{pd.GATE_AREA_ID}) + AND f.TIME BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' ) + AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' ) + order by f.time desc + </select> + + + <select id="listHkDoor" resultType="com.zcloud.entity.PageData"> + SELECT + f.* + from bus_carduser f + WHERE + 1=1 + and f.EQUIPMENTID in (select EQUIPMENTID from mk_gate_machine where GATE_AREA_ID = #{pd.GATE_AREA_ID}) + AND f.TIME BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' ) + AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' ) + order by f.time desc + </select> +</mapper> diff --git a/src/main/resources/mybatis/datasource/gatemachine/GateVideoMapper.xml b/src/main/resources/mybatis/datasource/gatemachine/GateVideoMapper.xml new file mode 100644 index 00000000..54c3ee8c --- /dev/null +++ b/src/main/resources/mybatis/datasource/gatemachine/GateVideoMapper.xml @@ -0,0 +1,263 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zcloud.mapper.datasource.gatemachine.GateVideoMapper"> + + <!--表名 --> + <sql id="tableName"> + BUS_GATEVIDEO + </sql> + + <!--数据字典表名 --> + <sql id="dicTableName"> + SYS_DICTIONARIES + </sql> + + <!-- 字段 --> + <sql id="Field"> + f.GATE_AREA_ID, + f.VIDEONAME, + f.OPDATE, + f.OPUSER, + f.ISDELETE, + f.CODE, + f.PLATFORMVIDEOMANAGEMENT_ID, + f.GATEVIDEO_ID, + f.LATITUDE, + f.LONGITUDE + </sql> + + <!-- 字段用于新增 --> + <sql id="Field2"> + GATE_AREA_ID, + VIDEONAME, + OPDATE, + OPUSER, + ISDELETE, + CODE, + PLATFORMVIDEOMANAGEMENT_ID, + GATEVIDEO_ID, + LATITUDE, + LONGITUDE + </sql> + + <!-- 字段值 --> + <sql id="FieldValue"> + #{GATE_AREA_ID}, + #{VIDEONAME}, + #{OPDATE}, + #{OPUSER}, + #{ISDELETE}, + #{CODE}, + #{PLATFORMVIDEOMANAGEMENT_ID}, + #{GATEVIDEO_ID}, + #{LATITUDE}, + #{LONGITUDE} + </sql> + + <!-- 新增--> + <insert id="save" parameterType="pd"> + insert into + <include refid="tableName"></include> + ( + <include refid="Field2"></include> + ) values ( + <include refid="FieldValue"></include> + ) + </insert> + + <!-- 删除--> + <delete id="delete" parameterType="pd"> + update + <include refid="tableName"></include> + set + ISDELETE = '1' + where + GATEVIDEO_ID = #{GATEVIDEO_ID} + </delete> + + <!-- 修改 --> + <update id="edit" parameterType="pd"> + update + <include refid="tableName"></include> + set + <if test="GATE_AREA_ID != null and GATE_AREA_ID != ''"><!-- 关键词检索 --> + GATE_AREA_ID = #{GATE_AREA_ID}, + </if> + <if test="VIDEONAME != null and VIDEONAME != ''"><!-- 关键词检索 --> + VIDEONAME = #{VIDEONAME}, + </if> + <if test="PLATFORMVIDEOMANAGEMENT_ID != null and PLATFORMVIDEOMANAGEMENT_ID != ''"><!-- 关键词检索 --> + PLATFORMVIDEOMANAGEMENT_ID = #{PLATFORMVIDEOMANAGEMENT_ID}, + </if> + <if test="CODE != null and CODE != ''"><!-- 关键词检索 --> + CODE = #{CODE}, + </if> + GATEVIDEO_ID = GATEVIDEO_ID + where + GATEVIDEO_ID = #{GATEVIDEO_ID} + </update> + + <!-- 定位 --> + <update id="savePosition" parameterType="pd"> + update + <include refid="tableName"></include> + set + LATITUDE = #{LATITUDE}, + LONGITUDE = #{LONGITUDE} + where + GATEVIDEO_ID = #{GATEVIDEO_ID} + </update> + + <update id="editIsShowBycorpinfoid" parameterType="pd"> + update + <include refid="tableName"></include> + set CODE= #{CODE} + where + GATE_AREA_ID = #{GATE_AREA_ID} + </update> + <update id="editIsShow" parameterType="pd"> + update + <include refid="tableName"></include> + set CODE= #{CODE} + where + GATEVIDEO_ID = #{GATEVIDEO_ID} + </update> + <!-- 通过ID获取数据 --> + <select id="findById" parameterType="pd" resultType="pd"> + select + <include refid="Field"></include> + from + <include refid="tableName"></include> f + where + f.ISDELETE = '0' + <if test="GATEVIDEO_ID != null and GATEVIDEO_ID != ''"><!-- 关键词检索 --> + and f.GATEVIDEO_ID=#{GATEVIDEO_ID} + </if> + <if test="GATE_AREA_ID != null and GATE_AREA_ID != ''"><!-- 关键词检索 --> + and f.GATE_AREA_ID=#{GATE_AREA_ID} + </if> + <if test="CODE != null and CODE != ''"><!-- 关键词检索 --> + and f.CODE=#{CODE} + </if> + </select> + + <!-- 通过CODE获取数据 --> + <select id="findByCode" parameterType="pd" resultType="pd"> + select + <include refid="Field"></include> + from + <include refid="tableName"></include> f + where + f.CODE=#{CODE} + </select> + <!-- 列表 --> + <select id="datalistPage" parameterType="page" resultType="pd"> + select + <include refid="Field"></include>, + pv.INDEXCODE + from + <include refid="tableName"></include> f + left join `qa-gwj-regulatory`.bus_platformvideomanagement pv on pv.PLATFORMVIDEOMANAGEMENT_ID = f.PLATFORMVIDEOMANAGEMENT_ID + where f.ISDELETE = '0' + <if test="pd.GATE_AREA_ID != null and pd.GATE_AREA_ID != ''"><!-- 关键词检索 --> + and f.GATE_AREA_ID=#{pd.GATE_AREA_ID} + </if> + <if test="pd.KEYWORDS != null and pd.KEYWORDS != ''"><!-- 关键词检索 --> + and + ( + f.VIDEONAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') + ) + </if> + </select> + + <!-- 列表(全部) --> + <select id="listAll" parameterType="pd" resultType="pd"> + select + <include refid="Field"></include> + from + <include refid="tableName"></include> f + where f.ISDELETE = '0' + <if test="GATE_AREA_ID != null and GATE_AREA_ID != ''"><!-- 关键词检索 --> + and f.GATE_AREA_ID=#{GATE_AREA_ID} + </if> + <if test="CODE != null and CODE != ''"><!-- 关键词检索 --> + and f.CODE=#{CODE} + </if> + </select> + + <!-- 列表(全部) --> + <select id="listBo" parameterType="pd" resultType="pd"> + select + f.VIDEONAME, + f.OPDATE, + f.OPUSER, + f.ISDELETE, + f.GATEVIDEO_ID, + pv.INDEXCODE + from + <include refid="tableName"></include> f + left join `qa-gwj-regulatory`.bus_platformvideomanagement pv on pv.PLATFORMVIDEOMANAGEMENT_ID = f.PLATFORMVIDEOMANAGEMENT_ID + where f.ISDELETE = '0' + <if test="CORPINFO_ID != null and CORPINFO_ID != ''"><!-- 关键词检索 --> + and f.CORPINFO_ID=#{CORPINFO_ID} + </if> + <if test="ArrayDATA_IDS != null and ArrayDATA_IDS != ''"><!-- 关键词检索 --> + and GATEVIDEO_ID in + <foreach item="item" index="index" collection="ArrayDATA_IDS" open="(" separator="," close=")"> + #{item} + </foreach> + </if> + + </select> + <!-- 批量删除 --> + <delete id="deleteAll" parameterType="String"> + update + <include refid="tableName"></include> + set + ISDELETE = '1' + where + GATEVIDEO_ID in + <foreach item="item" index="index" collection="ArrayDATA_IDS" open="(" separator="," close=")"> + #{item} + </foreach> + </delete> + + <!-- 列表(全部) --> + <select id="listAllForMap" parameterType="pd" resultType="pd"> + select + f.* + from + <include refid="tableName"></include> f + where f.ISDELETE = '0' and f.LATITUDE is not null and f.LONGITUDE is not null + </select> + + <!-- 消防点位已定位 --> + <select id="getPointsInfo" parameterType="pd" resultType="pd"> + select + f.* + from + <include refid="tableName"></include> f + where f.ISDELETE = '0' and f.LATITUDE is not null and f.LONGITUDE is not null + </select> + <select id="getCameraPosition" resultType="com.zcloud.entity.PageData"> + SELECT + GATEVIDEO_ID AS id, + VIDEONAME AS `NAME`, + 'CAMERA' AS TYPE, + v.LATITUDE, + v.LONGITUDE + FROM + bus_gatevideo v + LEFT JOIN mk_gate_machine o on v.GATE_AREA_ID = o.GATE_AREA_ID + WHERE + v.ISDELETE = 0 + and v.LATITUDE is not null and v.LONGITUDE is not null + <if test="AREA != null and AREA != ''"> + and o.CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0) + </if> + <if test="CORPINFO_ID != null and CORPINFO_ID != ''"> + and o.CORPINFO_ID = #{CORPINFO_ID} + </if> + </select> + +</mapper>