Browse Source

Merge branch 'feature/visit_zhy'

dev_zufangUpdate
zhangyuan 3 years ago
parent
commit
fe59f94356
  1. 23
      epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhChannelFormDTO.java
  2. 23
      epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhNodeFormDTO.java
  3. 5
      epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/VisitVisitorFormDTO.java
  4. 2
      epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/PliPowerFeignClient.java
  5. 2
      epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/impl/PliPowerFeignClientFallBack.java
  6. 2
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java
  7. 4
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/dao/VisitVisitorDao.java
  8. 11
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/VisitVisitorService.java
  9. 14
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java
  10. 102
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java
  11. 9
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/visit/VisitVisitorDao.xml

23
epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhChannelFormDTO.java

@ -0,0 +1,23 @@
package com.epmet.plugin.power.dto.visit.form;
import lombok.Data;
import java.io.Serializable;
/**
* 海康社区人员信息下放
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-20
*/
@Data
public class DhChannelFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
private String interfaceId;
private String jsonParam;
}

23
epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/DhNodeFormDTO.java

@ -0,0 +1,23 @@
package com.epmet.plugin.power.dto.visit.form;
import lombok.Data;
import java.io.Serializable;
/**
* 海康社区人员信息下放
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-20
*/
@Data
public class DhNodeFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
private String typeCode;
private String nodeId;
}

5
epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/dto/visit/form/VisitVisitorFormDTO.java

@ -100,6 +100,11 @@ public class VisitVisitorFormDTO implements Serializable {
*/
private String room;
/**
* 房屋
*/
private String node;
/**
* 客户ID
*/

2
epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/PliPowerFeignClient.java

@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody;
* @date: 2020/6/22 17:39
* @author: jianjun liu
*/
@FeignClient(name = ServiceConstant.DATA_STATISTICAL_SERVER, fallbackFactory = PliPowerFeignClientFallBackFactory.class)
@FeignClient(name = ServiceConstant.PLI_POWER_SERVER, fallbackFactory = PliPowerFeignClientFallBackFactory.class)
public interface PliPowerFeignClient {
@PostMapping("/pli/power/visitVisitor/logout")

2
epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/impl/PliPowerFeignClientFallBack.java

@ -18,7 +18,7 @@ public class PliPowerFeignClientFallBack implements PliPowerFeignClient {
@Override
public Result visitorLogout(VisitorLogoutFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "logout",formDTO);
return ModuleUtils.feignConError(ServiceConstant.PLI_POWER_SERVER, "logout",formDTO);
}
}

2
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java

@ -96,7 +96,7 @@ public class VisitVisitorController {
public Result logout(@RequestBody VisitorLogoutFormDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
visitVisitorService.logout(dto);
return new Result();
}

4
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/dao/VisitVisitorDao.java

@ -1,10 +1,12 @@
package com.epmet.plugin.power.modules.visit.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.plugin.power.dto.visit.VisitVisitorDTO;
import com.epmet.plugin.power.dto.visit.form.VisitVisitorChartFormDTO;
import com.epmet.plugin.power.dto.visit.result.VisitVisitorChartResultDTO;
import com.epmet.plugin.power.modules.visit.entity.VisitVisitorEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -26,4 +28,6 @@ public interface VisitVisitorDao extends BaseDao<VisitVisitorEntity> {
* @date 2022-07-26
*/
List<VisitVisitorChartResultDTO> getTraffic(VisitVisitorChartFormDTO dto);
List<VisitVisitorDTO> listByDate(@Param("dateId") String dateId);
}

11
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/VisitVisitorService.java

@ -5,6 +5,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.plugin.power.dto.visit.VisitVisitorDTO;
import com.epmet.plugin.power.dto.visit.form.VisitVisitorChartFormDTO;
import com.epmet.plugin.power.dto.visit.form.VisitVisitorFormDTO;
import com.epmet.plugin.power.dto.visit.form.VisitorLogoutFormDTO;
import com.epmet.plugin.power.dto.visit.result.VisitVisitorChartResultDTO;
import com.epmet.plugin.power.modules.visit.entity.VisitVisitorEntity;
@ -99,6 +100,16 @@ public interface VisitVisitorService extends BaseService<VisitVisitorEntity> {
*/
void doorAuthority(VisitVisitorFormDTO dto);
/**
* 退卡登出
*
* @param dto
* @return void
* @author generator
* @date 2022-07-26
*/
void logout(VisitorLogoutFormDTO dto);
/**
* 人流量
*

14
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/service/impl/VisitVisitorServiceImpl.java

@ -7,6 +7,7 @@ import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.feign.GovOrgOpenFeignClient;
@ -14,6 +15,7 @@ import com.epmet.plugin.power.dto.visit.VisitVisitorDTO;
import com.epmet.plugin.power.dto.visit.form.DhPersonFormDTO;
import com.epmet.plugin.power.dto.visit.form.VisitVisitorChartFormDTO;
import com.epmet.plugin.power.dto.visit.form.VisitVisitorFormDTO;
import com.epmet.plugin.power.dto.visit.form.VisitorLogoutFormDTO;
import com.epmet.plugin.power.dto.visit.result.VisitVisitorChartResultDTO;
import com.epmet.plugin.power.modules.visit.dao.VisitVisitorDao;
import com.epmet.plugin.power.modules.visit.entity.VisitVisitorEntity;
@ -139,6 +141,16 @@ public class VisitVisitorServiceImpl extends BaseServiceImpl<VisitVisitorDao, Vi
sendAuth(dto);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void logout(VisitorLogoutFormDTO formDTO) {
if (StringUtils.isBlank(formDTO.getDateId())) {
formDTO.setDateId(DateUtils.getBeforeNDay(NumConstant.ONE));
}
List<VisitVisitorDTO> list = baseDao.listByDate(formDTO.getDateId());
list.forEach(item -> delAuth(item.getIdCard()));
}
@Override
@Transactional(rollbackFor = Exception.class)
public List<VisitVisitorChartResultDTO> getTraffic(VisitVisitorChartFormDTO dto) {
@ -166,7 +178,7 @@ public class VisitVisitorServiceImpl extends BaseServiceImpl<VisitVisitorDao, Vi
formDTO.setBirthday(dto.getIdCard().substring(6, 10) + "-" + dto.getIdCard().substring(10, 12) + "-" + dto.getIdCard().substring(12, 14));
formDTO.setPhone(dto.getMobile());
formDTO.setStatus("在职");
dhDeviceUtil.addPersonAuth(formDTO, dto.getFaceImg());
dhDeviceUtil.addPersonAuth(formDTO, dto.getFaceImg(), dto.getNode());
}
/**

102
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/utils/DhDeviceUtil.java

@ -49,6 +49,8 @@ public class DhDeviceUtil {
private final String GET_PUBLIC_KEY = "/WPMS/getPublicKey";
private final String GET_LOGIN_PASS = "/WPMS/login";
private final String GET_DEPARTMENT = "/CardSolution/card/department";
private final String GET_NODE = "/CardSolution/resource/tree/nodeList";
private final String GET_CHANNEL = "/admin/rest/api";
private final String GET_PERSON_IDENTITY = "/CardSolution/card/person/personidentity";
private final String GET_DOOR_PLAN = "/CardSolution/card/accessControl/timeQuantum/1/page";
private final String GET_DOOR_CHANNEL = "/CardSolution/card/accessControl/channel/bycondition/combined";
@ -189,6 +191,50 @@ public class DhDeviceUtil {
return null;
}
/**
* 查询节点
*
* @param
* @return java.lang.String
* @author zhy
* @date 2022/5/23 10:08
*/
public String getNode(String nodeName) {
String url = dhCloudProperties.getUrl().concat(GET_NODE);
String urlParam = getDhUrlParams();
url = url + urlParam;
Map<String, String> paramsMap = new HashMap<>(4);
DhNodeFormDTO dto = new DhNodeFormDTO();
dto.setNodeId("ORG_001");
dto.setTypeCode("01;0;8;7");
String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData();
if (null == data) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询节点列表失败");
}
JSONObject toResult = JSON.parseObject(data);
DhResult result = ConvertUtils.mapToEntity(toResult, DhResult.class);
if (null != toResult.get("success")) {
result.setCode(200);
}
if (!result.getSuccess()) {
logger.info(result.getErrMsg());
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询节点列表失败!" + result.getErrMsg());
}
Object registerResult = result.getData();
JSONArray jsonArray = JSON.parseArray(registerResult.toString());
for (int i = 0; i < jsonArray.size(); i++) {
if (nodeName.equals(jsonArray.getJSONObject(i).get("name").toString())) {
return jsonArray.getJSONObject(i).get("id").toString();
}
}
return null;
}
/**
* 人员预处理
*
@ -467,6 +513,59 @@ public class DhDeviceUtil {
return list;
}
/**
* 查询通道-从全部设备中获取
*
* @param
* @return java.lang.String
* @author zhy
* @date 2022/5/23 11:04
*/
public List<DhChannelResultDTO> getAllChannel(String nodeName) {
String nodeId = getNode(nodeName);
if (StringUtils.isBlank(nodeId)) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询节点失败");
}
nodeId = nodeId.replaceAll("ORG_", "");
String url = dhCloudProperties.getUrl().concat(GET_CHANNEL);
String urlParam = getDhUrlParams();
url = url + urlParam;
Map<String, String> paramsMap = new HashMap<>(4);
DhChannelFormDTO dto = new DhChannelFormDTO();
dto.setInterfaceId("admin_001_006");
dto.setJsonParam("{\"param\":{\"unitType\":7,\"orgCode\":\"" + nodeId + "\"}}");
String data = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(dto), paramsMap).getData();
if (null == data) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询通道列表失败");
}
JSONObject toResult = JSON.parseObject(data);
DhResult result = ConvertUtils.mapToEntity(toResult, DhResult.class);
if (null != toResult.get("success")) {
result.setCode(200);
}
if (!result.getSuccess()) {
logger.info(result.getErrMsg());
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询通道列表失败!" + result.getErrMsg());
}
Object registerResult = result.getData();
JSONArray jsonArray = JSON.parseArray(registerResult.toString());
List<DhChannelResultDTO> list = new ArrayList<>();
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonItem = jsonArray.getJSONObject(i);
DhChannelResultDTO channel = new DhChannelResultDTO();
channel.setPrivilegeType("1");
channel.setResouceCode(jsonItem.get("channelId").toString());
list.add(channel);
}
return list;
}
/**
* 新增人员
*
@ -621,7 +720,7 @@ public class DhDeviceUtil {
* @author zhy
* @date 2022/5/23 11:04
*/
public String addPersonAuth(DhPersonFormDTO dto, String imgUrl) {
public String addPersonAuth(DhPersonFormDTO dto, String imgUrl, String node) {
String personCard = addPersonCard(dto);
if (StringUtils.isBlank(personCard)) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "开卡失败");
@ -629,6 +728,7 @@ public class DhDeviceUtil {
addPersonImg(dto, imgUrl);
}
// List<DhChannelResultDTO> channel = getAllChannel(node);
List<DhChannelResultDTO> channel = getChannel();
if (channel.isEmpty()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取通道失败");

9
epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/visit/VisitVisitorDao.xml

@ -39,4 +39,13 @@
h.`hour`;
</select>
<select id="listByDate" resultType="com.epmet.plugin.power.dto.visit.VisitVisitorDTO">
SELECT
*
FROM
pli_visit_visitor
WHERE
DATE_FORMAT( CREATED_TIME, '%Y-%m-%d' ) = #{dateId}
</select>
</mapper>
Loading…
Cancel
Save