Merge branch 'dev1' into dev

pull/15/head
zhangyue 2024-01-08 10:52:27 +08:00
commit c07b6534b9
31 changed files with 2728 additions and 241 deletions

36
pom.xml
View File

@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.zcloud</groupId> <groupId>com.zcloud</groupId>
<artifactId>qa-prevention-gwj</artifactId> <artifactId>qa-prevention-cmt</artifactId>
<version>0.0.1-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging><!-- 以war运行是改成war --> <packaging>war</packaging><!-- 以war运行是改成war -->
@ -479,6 +479,40 @@
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
</dependency> </dependency>
</dependencies> </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> <build>
<!-- <finalName>qa-prevention-gwj</finalName> <!-- <finalName>qa-prevention-gwj</finalName>
<plugins> <plugins>

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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;
}
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
/**
* Rcodemsg
*
* @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();
}
/**
* keyvalue,
*
* @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");
}
}

View File

@ -0,0 +1,18 @@
package com.zcloud.util.examUntil;
/**
* TODO
* wangxuan
* www.zcloudchina.com
*/
/**
* @desc
*/
public interface BaseResultInterface {
String getCode();
String getMessage();
}

View File

@ -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;
}
}

View File

@ -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;
// }
}

View File

@ -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 {
}

View File

@ -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());
}
}

View File

@ -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);
}
}

View File

@ -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;
}
}

View File

@ -5,27 +5,95 @@ import com.alibaba.fastjson.JSONObject;
import com.hikvision.artemis.sdk.ArtemisHttpUtil; import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig; import com.hikvision.artemis.sdk.config.ArtemisConfig;
import com.zcloud.entity.PageData; import com.zcloud.entity.PageData;
import com.zcloud.mapper.datasource.bus.ImgFilesMapper;
import com.zcloud.service.bus.ImgFilesService;
import com.zcloud.util.PathUtil;
import org.apache.commons.collections.bag.SynchronizedSortedBag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.File;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* *
*/ */
@Component
public class HKUtil { public class HKUtil {
static { static {
// 代理API网关nginx服务器ip端口 // 代理API网关nginx服务器ip端口
ArtemisConfig.host = "192.168.150.80:5443"; ArtemisConfig.host = "172.16.21.248:443";
// 秘钥appkey // 秘钥appkey
ArtemisConfig.appKey = "25448524"; ArtemisConfig.appKey = "29316621";
// 秘钥appSecret // 秘钥appSecret
ArtemisConfig.appSecret = "DoHeB3gR2dxgaEvANqNr"; ArtemisConfig.appSecret = "3utKIXXtC43gLfxkjib1";
} }
@Autowired
private ImgFilesService imgFilesService;
/** /**
* *
* TODO /artemis * TODO /artemis
*/ */
private static final String ARTEMIS_PATH = "/artemis"; private static final String ARTEMIS_PATH = "/artemis";
@Scheduled(cron ="0 06 * * * ?")
public void scheduled(){
JSONObject jsonBody = new JSONObject();
jsonBody.put("pageNo", 1);
jsonBody.put("pageSize", 1000);
jsonBody.put("orderBy", "name");
jsonBody.put("orderType", "desc");
Map<String,Object> returnMap=publicHkInterface(jsonBody,"/api/resource/v2/door/search");
JSONObject w = (JSONObject) returnMap;
JSONArray s = w.getJSONObject("data").getJSONArray("list");
for (int i = 0; i < s.size(); i++) {
JSONObject jsonObject = s.getJSONObject(i);
PageData pageData = new PageData();
pageData.put("indexCode", jsonObject.getString("indexCode"));
pageData.put("controlOneId", jsonObject.getString("controlOneId"));
pageData.put("parentIndexCode", jsonObject.getString("parentIndexCode"));
pageData.put("readerInId", jsonObject.getString("readerInId"));
pageData.put("name", jsonObject.getString("name"));
pageData.put("channelNo", jsonObject.getString("channelNo"));
pageData.put("channelType", jsonObject.getString("channelType"));
pageData.put("controlTwoId", jsonObject.getString("controlTwoId"));
pageData.put("createTime", jsonObject.getString("createTime"));
pageData.put("description", jsonObject.getString("description"));
pageData.put("disOrder", jsonObject.getString("disOrder"));
pageData.put("doorNo", jsonObject.getString("doorNo"));
pageData.put("doorSerial", jsonObject.getString("doorSerial"));
pageData.put("isCascade", jsonObject.getString("isCascade"));
pageData.put("readerOutId", jsonObject.getString("readerOutId"));
pageData.put("regionIndexCode", jsonObject.getString("regionIndexCode"));
pageData.put("regionName", jsonObject.getString("regionName"));
pageData.put("regionPath", jsonObject.getString("regionPath"));
pageData.put("regionPathName", jsonObject.getString("regionPathName"));
pageData.put("resourceType", jsonObject.getString("resourceType"));
pageData.put("sort", jsonObject.getString("sort"));
pageData.put("treatyType", jsonObject.getString("treatyType"));
pageData.put("updateTime", jsonObject.getString("updateTime"));
try {
// imgFilesService.insertsss(pageData);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
public static void main(String[] args) {
JSONObject jsonBody = new JSONObject();
jsonBody.put("pageNo", 1);
jsonBody.put("pageSize", 20);
jsonBody.put("orderBy", "name");
jsonBody.put("orderType", "desc");
Map<String,Object> returnMap=publicHkInterface(jsonBody,"/api/acs/v2/door/events");
System.out.println(returnMap);
}
/** /**
* *
* POST(application/json)* * POST(application/json)*
@ -82,4 +150,23 @@ public class HKUtil {
Map<String,Object> returnMap=publicHkInterface(jsonBody,"/api/resource/v2/camera/search"); Map<String,Object> returnMap=publicHkInterface(jsonBody,"/api/resource/v2/camera/search");
return returnMap; return returnMap;
} }
// 门口门禁相关对接
/**
* API
* v2
* @return
*/
public static Map<String,Object> acsDeviceSearch(PageData pd){
JSONObject jsonBody = new JSONObject();
jsonBody.put("pageNo", pd.get("pageNo"));
jsonBody.put("pageSize", pd.get("pageSize"));
if(pd.get("name")!=null && !"".equals(pd.getString("name")))
jsonBody.put("name", pd.get("name"));
jsonBody.put("orderBy", "name");
jsonBody.put("orderType", "desc");
Map<String,Object> returnMap=publicHkInterface(jsonBody,"/api/resource/v2/acsDevice/search");
return returnMap;
}
} }

View File

@ -1,27 +1,26 @@
datasource.no1.driver-class-name: com.mysql.cj.jdbc.Driver 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.username=root
datasource.no1.password=Mysql@zcloud88888 datasource.no1.password=root
datasource.no2.driver-class-name: com.mysql.cj.jdbc.Driver 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.username=root
datasource.no2.password=Mysql@zcloud88888 datasource.no2.password=root
#druid???
#druid\u8FDE\u63A5\u6C60
spring.datasource.type: com.alibaba.druid.pool.DruidDataSource spring.datasource.type: com.alibaba.druid.pool.DruidDataSource
#????? #\u6700\u5927\u6D3B\u8DC3\u6570
spring.datasource.maxActive: 20 spring.datasource.maxActive: 20
#????? #\u521D\u59CB\u5316\u6570\u91CF
spring.datasource.initialSize: 1 spring.datasource.initialSize: 1
#?????????? #\u6700\u5927\u8FDE\u63A5\u7B49\u5F85\u8D85\u65F6\u65F6\u95F4
spring.datasource.maxWait: 60000 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.poolPreparedStatements: true
spring.datasource.maxPoolPreparedStatementPerConnectionSize: 20 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 #connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
spring.datasource.minIdle: 1 spring.datasource.minIdle: 1
spring.datasource.timeBetweenEvictionRunsMillis: 60000 spring.datasource.timeBetweenEvictionRunsMillis: 60000
@ -30,62 +29,33 @@ spring.datasource.validationQuery: select 1 from dual
spring.datasource.testWhileIdle: true spring.datasource.testWhileIdle: true
spring.datasource.testOnBorrow: false spring.datasource.testOnBorrow: false
spring.datasource.testOnReturn: 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 filters: stat, wall, log4j
#???????? #\u7F13\u5B58\u914D\u7F6E\u6587\u4EF6\u4F4D\u7F6E
spring.cache.ehcache.cofnig=ehcache.xml 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 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-file-size=500MB
spring.servlet.multipart.max-request-size=500MB spring.servlet.multipart.max-request-size=500MB
#activiti???? #activiti\u6A21\u578B\u68C0\u6D4B
spring.activiti.check-process-definitions=false spring.activiti.check-process-definitions=false
#?? #\u5B57\u7B26
spring.http.encoding.charset=UTF-8 spring.http.encoding.charset=UTF-8
spring.http.encoding.force=true spring.http.encoding.force=true
spring.http.encoding.enabled=true spring.http.encoding.enabled=true
# ??springboot????banner # \u5173\u95EDspringboot\u542F\u52A8\u65F6\u7684banner
spring.main.banner-mode=off spring.main.banner-mode=off
#jar???????? #jar\u5305\u90E8\u7F72\u65F6\u53BB\u6389\u6CE8\u91CA
#web.upload-path=h:/ #web.upload-path=h:/
#web.front-path=h:/ #web.front-path=h:/
#spring.resources.static-locations=file:${web.upload-path},file:${web.front-path} #spring.resources.static-locations=file:${web.upload-path},file:${web.front-path}
#preventionxgf.api.url=http://192.168.0.79:8088
# #
#qa-regulatory-gwj.api.url=http://192.168.0.79:8008 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/
preventionxgf.api.url=http://192.168.0.31:8992/qa-prevention-xgf/
qa-regulatory-gwj.api.url=http://192.168.0.31:8992/qa-regulatory-gwj/
#?????
smb.host=39.103.224.166
smb.port=22
smb.user=root
smb.password=Zcloud@zcloud88888
smb.basePath=/mnt/qgfile/file/
#Mq\u914D\u7F6E
rocketmq.consumer.group2=edu-admin-edit
rocketmq.consumer.group1=edu-admin-add
#rocketmq.name-server=10.0.140.141:9876
#rocketmq.name-server=192.168.0.70:9876
rocketmq.name-server=192.168.0.31:9876
rocketmq.producer.group=libmiddle
rocketmq.producer.send-message-timeout=3000
rocketmq.producer.compress-message-body-threshold=4096
rocketmq.producer.max-message-size=4194304
rocketmq.producer.retry-times-when-send-failed=3
rocketmq.producer.retry-next-server=true
rocketmq.producer.retry-times-when-send-async-failed=3
## topic \u524D\u7F00
mq.topic.info=info
mq.topic.eightWork=eightWork
mq.group.info=scheduled_tasks
mq.group.eightWork=scheduled_tasks_eightWork

View File

@ -1,95 +0,0 @@
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
#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.0.79:8088
#
#qa-regulatory-gwj.api.url=http://192.168.0.79:8008
preventionxgf.api.url=http://192.168.0.79:8088/
qa-regulatory-gwj.api.url=http://192.168.0.79:8092/
#?????
smb.host=39.103.224.166
smb.port=22
smb.user=root
smb.password=Zcloud@zcloud88888
smb.basePath=/mnt/qgfile/file/
#Mq\u914D\u7F6E
rocketmq.consumer.group2=edu-admin-edit
rocketmq.consumer.group1=edu-admin-add
#rocketmq.name-server=10.0.140.141:9876
#rocketmq.name-server=192.168.0.70:9876
rocketmq.name-server=192.168.151.57:9876
rocketmq.producer.group=libmiddle
rocketmq.producer.send-message-timeout=3000
rocketmq.producer.compress-message-body-threshold=4096
rocketmq.producer.max-message-size=4194304
rocketmq.producer.retry-times-when-send-failed=3
rocketmq.producer.retry-next-server=true
rocketmq.producer.retry-times-when-send-async-failed=3
## topic \u524D\u7F00
mq.topic.info=info
mq.topic.eightWork=eightWork
mq.group.info=scheduled_tasks
mq.group.eightWork=scheduled_tasks_eightWork
corp.default.pic-path=https://qgqy.qhdsafety.com/file/
corp.default.back-end-path=http://192.168.151.57:8092/

View File

@ -1,89 +0,0 @@
# ??????
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/
#?????
smb.host=192.168.192.201
smb.port=22
smb.user=root
smb.password=SJSKAQHBGLXT@20220311
smb.basePath=/mnt/qask/file/
#Mq\u914D\u7F6E
rocketmq.consumer.group2=edu-admin-edit
rocketmq.consumer.group1=edu-admin-add
#rocketmq.name-server=10.0.140.141:9876
#rocketmq.name-server=192.168.0.70:9876
rocketmq.name-server=192.168.192.201:9876
rocketmq.producer.group=libmiddle
rocketmq.producer.send-message-timeout=3000
rocketmq.producer.compress-message-body-threshold=4096
rocketmq.producer.max-message-size=4194304
rocketmq.producer.retry-times-when-send-failed=3
rocketmq.producer.retry-next-server=true
rocketmq.producer.retry-times-when-send-async-failed=3
## topic \u524D\u7F00
mq.topic.info=info
mq.topic.eightWork=eightWork
mq.group.info=scheduled_tasks
mq.group.eightWork=scheduled_tasks_eightWork
corp.default.pic-path=https://qgqy.qhdsafety.com/file/
corp.default.back-end-path=https://skqhdg.porthebei.com:9004/file/

View File

@ -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/

View File

@ -3,7 +3,7 @@ server.port=8091
#?? #??
#spring.profiles.active=local #spring.profiles.active=local
#部署31时使用 #\uFFFD\uFFFD\uFFFD\uFFFD31\u02B1\u02B9\uFFFD\uFFFD
spring.profiles.active=dev spring.profiles.active=dev
#?? #??
#spring.profiles.active=master #spring.profiles.active=master

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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/