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 room;
/**
* 房屋
*/
private String node;
/** /**
* 客户ID * 客户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 * @date: 2020/6/22 17:39
* @author: jianjun liu * @author: jianjun liu
*/ */
@FeignClient(name = ServiceConstant.DATA_STATISTICAL_SERVER, fallbackFactory = PliPowerFeignClientFallBackFactory.class) @FeignClient(name = ServiceConstant.PLI_POWER_SERVER, fallbackFactory = PliPowerFeignClientFallBackFactory.class)
public interface PliPowerFeignClient { public interface PliPowerFeignClient {
@PostMapping("/pli/power/visitVisitor/logout") @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 @Override
public Result visitorLogout(VisitorLogoutFormDTO formDTO) { 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) { public Result logout(@RequestBody VisitorLogoutFormDTO dto) {
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
visitVisitorService.logout(dto);
return new Result(); 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; package com.epmet.plugin.power.modules.visit.dao;
import com.epmet.commons.mybatis.dao.BaseDao; 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.form.VisitVisitorChartFormDTO;
import com.epmet.plugin.power.dto.visit.result.VisitVisitorChartResultDTO; import com.epmet.plugin.power.dto.visit.result.VisitVisitorChartResultDTO;
import com.epmet.plugin.power.modules.visit.entity.VisitVisitorEntity; import com.epmet.plugin.power.modules.visit.entity.VisitVisitorEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -26,4 +28,6 @@ public interface VisitVisitorDao extends BaseDao<VisitVisitorEntity> {
* @date 2022-07-26 * @date 2022-07-26
*/ */
List<VisitVisitorChartResultDTO> getTraffic(VisitVisitorChartFormDTO dto); 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.VisitVisitorDTO;
import com.epmet.plugin.power.dto.visit.form.VisitVisitorChartFormDTO; 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.VisitVisitorFormDTO;
import com.epmet.plugin.power.dto.visit.form.VisitorLogoutFormDTO;
import com.epmet.plugin.power.dto.visit.result.VisitVisitorChartResultDTO; import com.epmet.plugin.power.dto.visit.result.VisitVisitorChartResultDTO;
import com.epmet.plugin.power.modules.visit.entity.VisitVisitorEntity; import com.epmet.plugin.power.modules.visit.entity.VisitVisitorEntity;
@ -99,6 +100,16 @@ public interface VisitVisitorService extends BaseService<VisitVisitorEntity> {
*/ */
void doorAuthority(VisitVisitorFormDTO dto); 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.constant.NumConstant;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.IcNeighborHoodDTO; import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.feign.GovOrgOpenFeignClient; 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.DhPersonFormDTO;
import com.epmet.plugin.power.dto.visit.form.VisitVisitorChartFormDTO; 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.VisitVisitorFormDTO;
import com.epmet.plugin.power.dto.visit.form.VisitorLogoutFormDTO;
import com.epmet.plugin.power.dto.visit.result.VisitVisitorChartResultDTO; 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.dao.VisitVisitorDao;
import com.epmet.plugin.power.modules.visit.entity.VisitVisitorEntity; import com.epmet.plugin.power.modules.visit.entity.VisitVisitorEntity;
@ -139,6 +141,16 @@ public class VisitVisitorServiceImpl extends BaseServiceImpl<VisitVisitorDao, Vi
sendAuth(dto); 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 @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public List<VisitVisitorChartResultDTO> getTraffic(VisitVisitorChartFormDTO dto) { 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.setBirthday(dto.getIdCard().substring(6, 10) + "-" + dto.getIdCard().substring(10, 12) + "-" + dto.getIdCard().substring(12, 14));
formDTO.setPhone(dto.getMobile()); formDTO.setPhone(dto.getMobile());
formDTO.setStatus("在职"); 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_PUBLIC_KEY = "/WPMS/getPublicKey";
private final String GET_LOGIN_PASS = "/WPMS/login"; private final String GET_LOGIN_PASS = "/WPMS/login";
private final String GET_DEPARTMENT = "/CardSolution/card/department"; 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_PERSON_IDENTITY = "/CardSolution/card/person/personidentity";
private final String GET_DOOR_PLAN = "/CardSolution/card/accessControl/timeQuantum/1/page"; private final String GET_DOOR_PLAN = "/CardSolution/card/accessControl/timeQuantum/1/page";
private final String GET_DOOR_CHANNEL = "/CardSolution/card/accessControl/channel/bycondition/combined"; private final String GET_DOOR_CHANNEL = "/CardSolution/card/accessControl/channel/bycondition/combined";
@ -189,6 +191,50 @@ public class DhDeviceUtil {
return null; 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; 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 * @author zhy
* @date 2022/5/23 11:04 * @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); String personCard = addPersonCard(dto);
if (StringUtils.isBlank(personCard)) { if (StringUtils.isBlank(personCard)) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "开卡失败"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "开卡失败");
@ -629,6 +728,7 @@ public class DhDeviceUtil {
addPersonImg(dto, imgUrl); addPersonImg(dto, imgUrl);
} }
// List<DhChannelResultDTO> channel = getAllChannel(node);
List<DhChannelResultDTO> channel = getChannel(); List<DhChannelResultDTO> channel = getChannel();
if (channel.isEmpty()) { if (channel.isEmpty()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取通道失败"); 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`; h.`hour`;
</select> </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> </mapper>
Loading…
Cancel
Save