Commit 44f51e56 authored by suhuiguang's avatar suhuiguang

Merge branch 'develop_tzs_96333' into develop_tzs_ymt

# Conflicts: # amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-biz/src/main/java/com/yeejoin/amos/boot/module/ymt/biz/service/impl/EquipmentCategoryServiceImpl.java
parents 7832b5df 00068a31
......@@ -6,3 +6,4 @@ target/
/org.eclipse
.settings
log/
amos-boot-system-tzs/.idea/
......@@ -22,5 +22,10 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.16</version>
</dependency>
</dependencies>
</project>
package com.yeejoin.amos.latentdanger.business.service.impl;
import com.google.common.collect.Sets;
import com.yeejoin.amos.boot.biz.common.constants.RuleConstant;
import com.yeejoin.amos.boot.module.common.api.dto.CompanyPerson;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrDto;
......@@ -8,7 +7,6 @@ import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.rule.RuleTrigger;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel;
import com.yeejoin.amos.latentdanger.business.dto.LatentDangerRo;
import com.yeejoin.amos.latentdanger.business.feign.JcsFeignClient;
......@@ -17,15 +15,16 @@ import com.yeejoin.amos.latentdanger.common.enums.LatentDangerState;
import com.yeejoin.amos.latentdanger.dao.entity.LatentDanger;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.util.*;
import java.util.function.Consumer;
import java.util.function.Predicate;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* @Author: xl
......@@ -48,7 +47,8 @@ public class RuleDangerService {
latentDangerRo.setTerminal(RuleConstant.APP);
List<RoleModel> result = Privilege.roleClient.queryRoleList(roleName, null).getResult();
if (result.size() > 0) {
List<AgencyUserModel> userModels = Privilege.agencyUserClient.queryByRoleId(String.valueOf(result.get(0).getSequenceNbr()), null).getResult();
List<AgencyUserModel> userModels =
Privilege.agencyUserClient.queryByRoleId(String.valueOf(result.get(0).getSequenceNbr()), null).getResult();
//只发送给本部门的人员
Long pointId = latentDanger.getBizInfo().getLong("pointId");
......
......@@ -171,7 +171,9 @@ public class AsyncTask {
try {
List<RoleModel> result = Privilege.roleClient.queryRoleList(roleName, null).getResult();
if (result.size() > 0) {
List<AgencyUserModel> userModels = Privilege.agencyUserClient.queryByRoleId(String.valueOf(result.get(0).getSequenceNbr()), null).getResult();
List<AgencyUserModel> userModels =
Privilege.agencyUserClient.queryByRoleId(String.valueOf(result.get(0).getSequenceNbr()), null
).getResult();
List<String> userIds = userModels.stream().map(AgencyUserModel::getUserId).collect(Collectors.toList());
model.setRecivers(userIds);
}
......
package com.yeejoin.amos.latentdanger.feign;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
......@@ -41,6 +21,25 @@ import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import com.yeejoin.amos.latentdanger.business.util.CommonResponse;
import com.yeejoin.amos.latentdanger.business.util.Toke;
import com.yeejoin.amos.latentdanger.common.remote.IAMOSSecurityServer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@Service("remoteSecurityService-danger")
public class RemoteSecurityService {
......
......@@ -6,9 +6,10 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.beust.jcommander.internal.Sets;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.enums.RuleTypeEnum;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
......@@ -17,8 +18,19 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.DepartmentModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel;
import com.yeejoin.amos.supervision.business.constants.XJConstant;
import com.yeejoin.amos.supervision.business.dao.mapper.*;
import com.yeejoin.amos.supervision.business.dao.repository.*;
import com.yeejoin.amos.supervision.business.dao.mapper.CheckReportMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.HiddenDangerMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.PlanMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.PlanTaskDetailMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.PlanTaskMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.PointMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.RoutePointItemMapper;
import com.yeejoin.amos.supervision.business.dao.repository.ICheckDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanTaskDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanTaskDetailDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPointInputItemDao;
import com.yeejoin.amos.supervision.business.dao.repository.IRoutePointDao;
import com.yeejoin.amos.supervision.business.dto.OrgUsrFormDto;
import com.yeejoin.amos.supervision.business.entity.mybatis.CheckChkExListBo;
import com.yeejoin.amos.supervision.business.entity.mybatis.PointCheckDetailBo;
......@@ -37,23 +49,28 @@ import com.yeejoin.amos.supervision.business.vo.CalDateVo;
import com.yeejoin.amos.supervision.business.vo.CodeOrderVo;
import com.yeejoin.amos.supervision.business.vo.LeavePlanTaskVo;
import com.yeejoin.amos.supervision.business.vo.PlanTaskVo;
import com.yeejoin.amos.supervision.common.enums.*;
import com.yeejoin.amos.boot.biz.common.enums.RuleTypeEnum;
import com.yeejoin.amos.supervision.common.enums.PlanStatusEnum;
import com.yeejoin.amos.supervision.common.enums.PlanTaskDetailIsFinishEnum;
import com.yeejoin.amos.supervision.common.enums.PlanTaskFinishStatusEnum;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
import com.yeejoin.amos.supervision.core.common.request.CommonPageable;
import com.yeejoin.amos.supervision.core.common.response.AppCheckInputRespone;
import com.yeejoin.amos.supervision.core.common.response.AppPointCheckRespone;
import com.yeejoin.amos.supervision.core.util.DateUtil;
import com.yeejoin.amos.supervision.core.util.StringUtil;
import com.yeejoin.amos.supervision.dao.entity.*;
import com.yeejoin.amos.supervision.dao.entity.Check;
import com.yeejoin.amos.supervision.dao.entity.CheckReport;
import com.yeejoin.amos.supervision.dao.entity.HiddenDanger;
import com.yeejoin.amos.supervision.dao.entity.Plan;
import com.yeejoin.amos.supervision.dao.entity.PlanTask;
import com.yeejoin.amos.supervision.dao.entity.PlanTaskDetail;
import com.yeejoin.amos.supervision.dao.entity.Point;
import com.yeejoin.amos.supervision.exception.YeeException;
import com.yeejoin.amos.supervision.feign.RemoteSecurityService;
import com.yeejoin.amos.supervision.quartz.IJobService;
import org.apache.commons.collections.CollectionUtils;
import com.google.common.collect.Lists;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page;
......@@ -68,7 +85,17 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.sql.Time;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
......
package com.yeejoin.amos.supervision.feign;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import com.yeejoin.amos.feign.systemctl.model.MessageModel;
import com.yeejoin.amos.supervision.business.feign.JCSFeignClient;
import com.yeejoin.amos.supervision.common.remote.IAMOSSecurityServer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
......@@ -42,9 +19,29 @@ import com.yeejoin.amos.feign.privilege.model.PermissionModel;
import com.yeejoin.amos.feign.privilege.util.DesUtil;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import com.yeejoin.amos.supervision.business.feign.JCSFeignClient;
import com.yeejoin.amos.supervision.business.util.CommonResponse;
import com.yeejoin.amos.supervision.business.util.Toke;
import org.typroject.tyboot.core.foundation.context.RequestContextModel;
import com.yeejoin.amos.supervision.common.remote.IAMOSSecurityServer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@Service("remoteSecurityService")
public class RemoteSecurityService {
......
......@@ -11,4 +11,9 @@ public interface BizCommonConstant {
* 所有平台企业数据redisKey
*/
String COMPANY_TREE_REDIS_KEY = "REGULATOR_UNIT_TREE";
/**
* 电梯数据key
*/
String OLD_ELEVATOR_REDIS_KEY = "OLD_ELEVATOR_REDIS_KEY";
}
......@@ -130,7 +130,7 @@ public class AlertCalledDto extends BaseDto {
private String useSiteCategory;
@ApiModelProperty(value = "电梯使用状态")
private Integer useStatus;
private String useStatus;
// 废弃
@ApiModelProperty(value = "警情地址")
......
......@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* 警情查询DTO
......@@ -54,11 +55,11 @@ public class AlertCalledQueryDto {
@ApiModelProperty(value = "电梯地址")
private String elevatorAddress;
@ExcelProperty(value = "所属区域", index = 7)
@ExcelIgnore
@ApiModelProperty(value = "所属区域")
private String district;
@ExcelIgnore
@ExcelProperty(value = "所属区域", index = 7)
@ApiModelProperty(value = "市+区")
private String address;
......@@ -90,4 +91,6 @@ public class AlertCalledQueryDto {
@ApiModelProperty(value = "ID")
private Long sequenceNbr;
@ExcelIgnore
List<String> ids;
}
......@@ -30,11 +30,11 @@ public class BaseEnterpriseInfoDto extends BaseDto {
@ApiModelProperty(value = "统一社会信用代码")
@TableField("use_code")
private String socialCreditCode;
private String useCode;
@ApiModelProperty(value = "维护保养单位名称")
@TableField("supervise_org_name")
private String unitName;
@TableField("use_unit")
private String useUnit;
@ApiModelProperty(value = "省份")
@TableField("province")
......@@ -49,7 +49,7 @@ public class BaseEnterpriseInfoDto extends BaseDto {
private String district;
@ApiModelProperty(value = "区域代码")
@TableField("district")
@TableField("supervise_code")
private String regionCode;
@ApiModelProperty(value = "地址(详细地址,包括道路、门牌号码)")
......
......@@ -20,10 +20,10 @@ import java.util.List;
public class EnterpriseInfoExportDto {
@ExcelProperty(value = "统一社会信用代码", index = 1)
private String socialCreditCode;
private String useCode;
@ExcelProperty(value = "单位名称", index = 0)
private String unitName;
private String useUnit;
@ExcelProperty(value = "所属区域", index = 2)
private String district;
......
......@@ -69,9 +69,13 @@ public class RescueProcessDto extends BaseDto {
@ApiModelProperty(value = "是否伤亡")
private Boolean casualtiesStatus;
@ApiModelProperty(value = "伤亡情况")
@ApiModelProperty(value = "受伤人数")
private String casualtiesInfo;
@ApiModelProperty(value = "死亡人数")
private String dieNum;
@ApiModelProperty(value = "是否救援成功")
private Boolean rescueStatus;
......
......@@ -19,7 +19,7 @@ public class SpecialEquipmentDto {
@ExcelIgnore
@ApiModelProperty(value = "主键ID")
protected Long sequenceNbr;
protected String sequenceNbr;
@ApiModelProperty(value = "电梯应急救援识别码")
private Integer rescueCode;
......
......@@ -26,11 +26,11 @@ public class EnterpriseInfo extends BaseEntity {
@ApiModelProperty(value = "统一社会信用代码")
@TableField("use_code")
private String socialCreditCode;
private String useCode;
@ApiModelProperty(value = "维护保养单位名称")
@TableField("use_unit")
private String unitName;
private String useUnit;
@ApiModelProperty(value = "省份")
@TableField("province")
......@@ -45,7 +45,7 @@ public class EnterpriseInfo extends BaseEntity {
private String district;
@ApiModelProperty(value = "区域代码")
@TableField("district")
@TableField("supervise_code")
private String regionCode;
@ApiModelProperty(value = "地址(详细地址,包括道路、门牌号码)")
......
......@@ -89,12 +89,18 @@ public class RescueProcess extends BaseEntity {
private Boolean casualtiesStatus;
/**
* 伤亡情况
* 受伤人数
*/
@TableField("casualties_info")
private String casualtiesInfo;
/**
* 死亡人数
*/
@TableField("die_num")
private String dieNum;
/**
* 是否救援成功
*/
@TableField("rescue_status")
......
......@@ -72,7 +72,8 @@ public interface AlertCalledMapper extends BaseMapper<AlertCalled> {
@Param("alertStatus") String alertStatus,
@Param("sortParam") String sortParam,
@Param("sortRule") String sortRule,
@Param("userIds") Set<String> userIds);
@Param("userIds") Set<String> userIds,
@Param("ids") List<String> ids);
Map<String, Integer> getTodayEmergencyCount(String regionCode);
......
......@@ -52,7 +52,8 @@ public interface IAlertCalledService {
String alertStage,
String alertStatus,
String sortParam,
String sortRule);
String sortRule,
List<String> ids);
/**
* 更新警情阶段信息
......
......@@ -257,6 +257,12 @@
#{item}
</foreach>
</if>
<if test="ids != null and ids.size>0">
AND a.sequence_nbr in
<foreach collection="ids" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="sortParam != null and sortParam != '' and sortRule != null and sortRule != '' ">
ORDER BY ${sortParam} ${sortRule}
</if>
......@@ -541,12 +547,10 @@
ifnull ( ibjui."LONGITUDE_LATITUDE"::json->> 'longitude', null ) AS longitude,
a.alert_stage AS alertStatus,
ibjui.RECORD AS elevatorId,
ibjri.SUPERVISORY_CODE AS elevatorCode
ibjoi.SUPERVISORY_CODE AS elevatorCode
FROM tz_alert_called a
LEFT JOIN tcb_elevator e ON e.sequence_nbr = a.equipment_id
LEFT JOIN idx_biz_jg_other_info ibjoi ON ibjoi.RECORD = a.equipment_id
LEFT JOIN idx_biz_jg_use_info ibjui ON ibjui.RECORD = ibjoi.RECORD
LEFT JOIN idx_biz_jg_register_info ibjri ON ibjri.RECORD = ibjoi.RECORD
WHERE a.is_delete = 0
<choose>
<when test="isHistory == true">
......
......@@ -110,7 +110,7 @@
LEFT JOIN idx_biz_jg_register_info jri on jui.RECORD = jri.RECORD
LEFT JOIN idx_biz_jg_maintenance_record_info mri on jui.RECORD = mri.RECORD
<where>
jri.EQU_LIST = '3000'
jri.EQU_LIST = '3000' AND joi.CLAIM_STATUS = '已认领' and jui.RECORD is not null
<if test="dto.regionCode != null and dto.regionCode != ''">
and (jui.PROVINCE = #{dto.regionCode} or jui.CITY = #{dto.regionCode} or jui.COUNTY = #{dto.regionCode}
)
......@@ -133,7 +133,8 @@
<if test="dto.useUnit != null and dto.useUnit != ''">
and jui.USE_UNIT_NAME like concat('%',#{dto.useUnit},'%')
</if>
GROUP BY
joi.RECORD
</where>
</select>
<!-- <select id="selectExportDataNew" resultType="com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorDtoNew">-->
......@@ -332,7 +333,6 @@
<select id="selectElevatorList" resultType="java.util.Map">
SELECT
jui.RECORD AS sequenceNbr,
jui.USE_UNIT_NAME AS useUnit,
ifnull ( joi.CODE96333, null ) AS rescueCode,
ifnull ( joi.SUPERVISORY_CODE, null ) AS registerCode,
ifnull ( jui.USE_UNIT_NAME, null ) AS useUnit,
......@@ -362,9 +362,8 @@
AND jui.RECORD = #{elevator.originalId}
</if>
<if test="elevator.address!=null and elevator.address!='' ">
AND jui.ADDRESS = #{elevator.address}
AND jui.ADDRESS like concat('%', #{elevator.address}, '%')
</if>
limit 1
</select>
<select id="selectRegisterFiles" resultType="java.util.Map">
select USE_REGISTRATION_CERTIFICATE, USE_SIGN, PRODUCT_PHOTO
......@@ -400,7 +399,7 @@
LEFT JOIN idx_biz_jg_register_info jri on jui.RECORD = jri.RECORD
LEFT JOIN idx_biz_jg_maintenance_record_info mri on jui.RECORD = mri.RECORD
<where>
jri.EQU_LIST = '3000'
jri.EQU_LIST = '3000' AND joi.CLAIM_STATUS = '已认领' and jui.RECORD is not null
<if test="dto.regionCode != null and dto.regionCode != ''">
and (jui.PROVINCE = #{dto.regionCode} or jui.CITY = #{dto.regionCode} or jui.COUNTY = #{dto.regionCode}
)
......@@ -430,7 +429,8 @@
</if>
</where>
limit 10
GROUP BY
joi.RECORD
</select>
<select id="selectElevatorEsList" resultType="java.util.Map">
......@@ -471,15 +471,15 @@ limit 10
<select id="selectMtByAlertId" resultType="java.util.Map">
SELECT
tbei.sequence_nbr AS sequenceNbr,
ME_MASTER AS userName,
EMERGENCYCALL AS phone,
tbei.address AS address,
tbei.use_unit AS unitName,
ibjui."USE_UNIT_CREDIT_CODE" AS useCode
tbei.use_code AS useCode
FROM
idx_biz_jg_maintenance_record_info ibjmri
LEFT JOIN idx_biz_jg_use_info ibjui ON ibjmri."RECORD" = ibjui."RECORD"
LEFT JOIN tz_base_enterprise_info tbei ON ibjui."USE_UNIT_CREDIT_CODE" = tbei.use_code
LEFT JOIN tz_base_enterprise_info tbei ON ibjmri."ME_UNIT_CREDIT_CODE" = tbei.use_code
where
ibjmri.RECORD = #{sequenceNbr}
order by ibjmri.REC_DATE
......@@ -491,7 +491,8 @@ limit 10
ibjui.SAFETY_MANAGER AS manager,
ibjui.PHONE AS managerPhone,
ibjui.USE_UNIT_NAME as useUnitName,
tbei.address AS address
tbei.address AS address,
tbei.sequence_nbr AS unitId
FROM
idx_biz_jg_use_info ibjui
LEFT JOIN tz_base_enterprise_info tbei ON ibjui.USE_UNIT_CREDIT_CODE = tbei.use_code
......
......@@ -195,7 +195,7 @@ public class AlertCalledController extends BaseController {
alertCalledDto.setAddress(elevator.getAddress());
alertCalledDto.setRegistrationCode(elevator.getRegisterCode());
alertCalledDto.setDeviceId(String.valueOf(elevator.getRescueCode()));
alertCalledDto.setUseStatus(elevator.getUseStatus());
alertCalledDto.setUseStatus(String.valueOf(elevator.getUseStatus()));
alertCalledDto.setUseSiteCategory(elevator.getUseSiteCategory());
alertCalledDto.setAlarmType(AlertStageEnums.getEnumById(alertCalledDto.getAlarmTypeCode()).getValue());
alertCalledDto.setEquipmentClassification("电梯");
......@@ -454,7 +454,7 @@ public class AlertCalledController extends BaseController {
if (!ValidationUtil.isEmpty(alertCalled.getCallTimeStart())
&& !ValidationUtil.isEmpty(alertCalled.getCallTimeEnd())) {
queryWrapper.between("call_time", alertCalled.getCallTimeStart(),
alertCalled.getCallTimeEnd().getTime());
alertCalled.getCallTimeEnd());
}
} else {
queryWrapper.between("call_time", DateUtils.stampToDate(System.currentTimeMillis(), DateUtils.DATE_PATTERN),
......@@ -506,7 +506,7 @@ public class AlertCalledController extends BaseController {
alertCalledQueryDto.getWorkOrderNumber(),alertCalledQueryDto.getCreator(),alertCalledQueryDto.getEmergency(),alertCalledQueryDto.getEmergencyTimeStart(),
alertCalledQueryDto.getEmergencyTimeEnd(),alertCalledQueryDto.getEmergencyCall(),alertCalledQueryDto.getDeviceId(),alertCalledQueryDto.getElevatorAddress(),
alertCalledQueryDto.getDistrict(),alertCalledQueryDto.getAlertType(),alertCalledQueryDto.getAlertSource(),alertCalledQueryDto.getAlertStage(),alertCalledQueryDto.getAlertStatus(),
sortParam,sortRule);
sortParam,sortRule, null);
Page<AlertCalledQueryDto> result = new Page<AlertCalledQueryDto>(alertCalledQueryDto.getPageNum(),
alertCalledQueryDto.getPageSize());
long totle = pageBean.getTotal();
......@@ -541,7 +541,7 @@ public class AlertCalledController extends BaseController {
alertCalledQueryDto.getWorkOrderNumber(),alertCalledQueryDto.getCreator(),alertCalledQueryDto.getEmergency(),alertCalledQueryDto.getEmergencyTimeStart(),
alertCalledQueryDto.getEmergencyTimeEnd(),alertCalledQueryDto.getEmergencyCall(),alertCalledQueryDto.getDeviceId(),alertCalledQueryDto.getElevatorAddress(),
alertCalledQueryDto.getDistrict(),alertCalledQueryDto.getAlertType(),alertCalledQueryDto.getAlertSource(),alertCalledQueryDto.getAlertStage(),alertCalledQueryDto.getAlertStatus(),
sortParam,sortRule);
sortParam,sortRule, alertCalledQueryDto.getIds());
List<AlertCalledQueryDto> list = pageBean.getRecords();
String fileName = "处置记录" + System.currentTimeMillis();
......
......@@ -427,7 +427,7 @@ public class ElevatorController extends BaseController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/init", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "电梯信息放入es", notes = "电梯信息放入es")
public void init(@RequestParam(value = "num",required = false) Integer num) {
public ResponseModel<String> init(@RequestParam(value = "num",required = false) Integer num) {
Integer count = iElevatorService.selectUseInfoCount();
Integer times = 0;
if (ValidationUtil.isEmpty(num) && count != 0) {
......@@ -441,13 +441,16 @@ public class ElevatorController extends BaseController {
}
for(int i = 0; i <= times ; i ++ ) {
List<Map<String,Object>> mapList = iElevatorService.selectElevatorEsList(1,1000);
esElevatorService.saveEsElevator2ES(mapList);
List<Map<String,Object>> mapList = iElevatorService.selectElevatorEsList(0,1000);
if (!ObjectUtils.isEmpty(mapList)){
esElevatorService.saveEsElevator2ES(mapList);
}
// for (Elevator el:elevatorPage.getRecords()
// ) {
// esElevatorService.saveEsElevatorToES(el);
// }
}
return ResponseHelper.buildResponse("success");
}
......
......@@ -251,7 +251,7 @@ public class MaintenanceUnitController extends BaseController {
Object o = field.get(enterpriseInfo);
if (o != null) {
String name = NameUtils.camel2Underline(field.getName());
if ("city".equalsIgnoreCase(name) || "district".equalsIgnoreCase(name) || "qualification_level".equalsIgnoreCase(name)) {
if ("city".equalsIgnoreCase(name) ) {
String fileValue = (String) o;
enterpriseInfoQueryWrapper.eq(name, fileValue);
} else if ("credit_level".equalsIgnoreCase(name)) {
......@@ -264,7 +264,7 @@ public class MaintenanceUnitController extends BaseController {
// 此处由于写接口时表数据还未进行整理,所以此处先默认用文字做查询
enterpriseInfoQueryWrapper.like(name, "使用单位");
} else {
enterpriseInfoQueryWrapper.notLike(name, "使用单位");
enterpriseInfoQueryWrapper.like(name, "维保单位");
}
} else {
String fileValue = (String) o;
......@@ -301,7 +301,7 @@ public class MaintenanceUnitController extends BaseController {
Object o = field.get(enterpriseInfo);
if (o != null) {
String name = NameUtils.camel2Underline(field.getName());
if ("city".equalsIgnoreCase(name) || "district".equalsIgnoreCase(name) || "qualification_level".equalsIgnoreCase(name)) {
if ("city".equalsIgnoreCase(name) ) {
String fileValue = (String) o;
enterpriseInfoQueryWrapper.eq(name, fileValue);
} else if ("credit_level".equalsIgnoreCase(name)) {
......@@ -314,7 +314,7 @@ public class MaintenanceUnitController extends BaseController {
// 此处由于写接口时表数据还未进行整理,所以此处先默认用文字做查询
enterpriseInfoQueryWrapper.like(name, "使用单位");
} else {
enterpriseInfoQueryWrapper.notLike(name, "使用单位");
enterpriseInfoQueryWrapper.like(name, "维保单位");
}
} else {
String fileValue = (String) o;
......@@ -380,6 +380,7 @@ public class MaintenanceUnitController extends BaseController {
MaintenanceUnitDto maintenanceUnitVo = new MaintenanceUnitDto();
maintenanceUnitVo.setUnitName(ObjectUtils.isEmpty(list.get(0).get("unitName")) ? null :String.valueOf(list.get(0).get("unitName")));
maintenanceUnitVo.setAddress(ObjectUtils.isEmpty(list.get(0).get("address")) ? null :String.valueOf(list.get(0).get("address")));
maintenanceUnitVo.setSequenceNbr(ObjectUtils.isEmpty(list.get(0).get("sequenceNbr")) ? null : Long.valueOf(String.valueOf(list.get(0).get("sequenceNbr"))));
List<DutyPersonDto> dutyPersonList = new ArrayList<DutyPersonDto>();
DutyPersonDto principal = new DutyPersonDto();
principal.setDeptName("主要负责人1");
......
......@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.elevator.api.common.BizCommonConstant;
import com.yeejoin.amos.boot.module.elevator.api.common.StringUtil;
import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.ExportDto;
import com.yeejoin.amos.boot.module.elevator.api.entity.TemplateExport;
......@@ -15,7 +17,10 @@ import com.yeejoin.amos.boot.module.elevator.api.service.IRescueStationService;
import com.yeejoin.amos.boot.module.elevator.api.service.IUseUnitService;
import com.yeejoin.amos.boot.module.elevator.biz.service.impl.ElevatorServiceImpl;
import com.yeejoin.amos.boot.module.elevator.biz.service.impl.VoiceRecordFileServiceImpl;
import com.yeejoin.amos.boot.module.elevator.biz.utils.RedisUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.util.StopWatch;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
......@@ -25,6 +30,7 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Executor;
import com.yeejoin.amos.boot.module.elevator.biz.service.impl.TemplateExportServiceImpl;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
......@@ -69,6 +75,12 @@ public class TemplateExportController extends BaseController {
@Autowired
VoiceRecordFileServiceImpl voiceRecordFileServiceImpl;
@Autowired
RedisUtil redisUtil;
@Autowired
Executor customExecutor;
/**
* 新增模板表
*
......@@ -177,7 +189,7 @@ public class TemplateExportController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "POST", value = "根据字段类型导出", notes = "根据字段类型导出")
@PostMapping("/exportByTypeParams")
public void exportByTypeParams(@RequestBody ExportDto exportDto, HttpServletResponse response) {
public void exportByTypeParams(@RequestBody ExportDto exportDto, HttpServletResponse response) throws Exception {
if (ValidationUtil.isEmpty(exportDto.getExportArray())
|| ValidationUtil.isEmpty(exportDto.getDataType())
|| ValidationUtil.isEmpty(exportDto.getFileName())
......@@ -206,9 +218,22 @@ public class TemplateExportController extends BaseController {
heads.add(tempList);
}
String fileName = exportDto.getFileName();
if("ELEVATOR".equals(exportDto.getExportType())) { // 查询电梯数据
list = elevatorServiceImpl.selectExportData(exportDto.getExportId());
sheetName = "电梯信息";
// 查询电梯数据
if("ELEVATOR".equals(exportDto.getExportType())) {
if(StringUtil.isNotEmpty(exportDto.getExportId())){
// 选择指定的行-导出逻辑
list = elevatorServiceImpl.selectExportData(exportDto.getExportId());
} else {
// 全部导出-导出逻辑,由于电梯为老存量数据,只是查看,故全部放到redis,解决全部导出时性能问题
if(redisUtil.hasKey(BizCommonConstant.OLD_ELEVATOR_REDIS_KEY)){
list = JSONObject.parseArray(redisUtil.get(BizCommonConstant.OLD_ELEVATOR_REDIS_KEY).toString(),ElevatorDto.class);
} else {
list = elevatorServiceImpl.selectExportData(exportDto.getExportId());
redisUtil.set(BizCommonConstant.OLD_ELEVATOR_REDIS_KEY,JSONObject.toJSONString(list));
}
}
ExcelUtil.exportWithMplThread2(response,fileName,list,heads,exportDto.getFileType(),customExecutor,10000);
return;
} else if("MAINTENANCE_COMPANY".equals(exportDto.getExportType())) { // 查询维保单位数据
list = iMaintenanceUnitService.selectExportData(exportDto.getExportId());
sheetName = "维保单位";
......@@ -222,7 +247,6 @@ public class TemplateExportController extends BaseController {
sheetName = "通话录音";
list = voiceRecordFileServiceImpl.selectExportData(exportDto.getExportId());
}
ExcelUtil.createTemplateWithHeaders(response, fileName, sheetName, list, heads, headstr, exportDto.getFileType());
ExcelUtil.createTemplateWithHeaders(response, fileName, sheetName, list,heads,headstr,exportDto.getFileType());
}
}
......@@ -7,11 +7,10 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.feign.AmosFeignService;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.module.common.api.feign.EquipFeignClient;
import com.yeejoin.amos.boot.module.elevator.api.dto.DutyPersonDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.UseUnitDto;
import com.yeejoin.amos.boot.module.elevator.api.entity.Elevator;
import com.yeejoin.amos.boot.module.elevator.api.entity.UseUnit;
import com.yeejoin.amos.boot.module.elevator.api.service.IUseUnitService;
import com.yeejoin.amos.boot.module.elevator.api.dto.DutyPersonDto;
import com.yeejoin.amos.boot.module.elevator.biz.service.impl.ElevatorServiceImpl;
import com.yeejoin.amos.boot.module.elevator.biz.utils.BeanDtoVoUtils;
import io.swagger.annotations.Api;
......@@ -27,7 +26,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
......@@ -232,6 +230,8 @@ public class UseUnitController extends BaseController {
UseUnitDto useUnitVo = new UseUnitDto();
useUnitVo.setUseUnitName(ObjectUtils.isEmpty(useUnitMap.get("useUnitName")) ? null : String.valueOf(useUnitMap.get("useUnitName")));
useUnitVo.setAddress(ObjectUtils.isEmpty(useUnitMap.get("address")) ? null : String.valueOf(useUnitMap.get("address")));
useUnitVo.setSequenceNbr(ObjectUtils.isEmpty(useUnitMap.get("unitId")) ? null : Long.valueOf(useUnitMap.get(
"unitId").toString()));
List<DutyPersonDto> dutyPersonList = new ArrayList<DutyPersonDto>();
DutyPersonDto principal = new DutyPersonDto();
principal.setDeptName("主要负责人");
......
package com.yeejoin.amos.boot.module.elevator.biz.core.threadpool;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Executor;
/**
* 线程池
*/
@Configuration
public class AmosThreadPool {
/**
* 日志记录器
*/
private static final Logger log = LoggerFactory.getLogger(AmosThreadPool.class);
/**
* 单例
*/
private static AmosThreadPool instance;
/**
* 执行服务
*/
private static ExecutorService executorService;
/**
* 获取单例
*
* @return
*/
public static AmosThreadPool getInstance() {
if (instance == null) {
synchronized (AmosThreadPool.class) {
if (instance == null) {
instance = new AmosThreadPool();
}
}
}
return instance;
}
static {
executorService = Executors
.newFixedThreadPool(20);
}
/**
* 执行线程
*
* @param task
*/
public void execute(Runnable task) {
executorService.execute(task);
@Bean
public Executor customExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// 初始核心线程数
executor.setCorePoolSize(10);
// 最大线程数
executor.setMaxPoolSize(20);
// 任务队列容量
executor.setQueueCapacity(50);
// 线程名前缀
executor.setThreadNamePrefix("CustomExecutor-");
executor.initialize();
return executor;
}
}
......@@ -6,6 +6,7 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.yeejoin.amos.boot.module.elevator.biz.service.impl.StartPlatformTokenService;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
......@@ -36,16 +37,14 @@ public class CarcylUnitInspectMqTtlListener extends EmqxListener {
@Value("${amos.secret.key}")
String secretKey;
@Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
String product;
@Value("${amos.system.user.app-key:AMOS_STUDIO}")
String appkey;
@Autowired
RedisUtil redisUtil;
@Value("${org.filter.group.seq}")
private Long groupSeq;
@Autowired
StartPlatformTokenService platformTokenService;
@Override
public void processMessage(String topic, MqttMessage message) throws Exception {
......@@ -56,9 +55,7 @@ public class CarcylUnitInspectMqTtlListener extends EmqxListener {
} catch (Exception e) {
throw new Exception("公司同步消息解析失败");
}
RequestContext.setAppKey(appkey);
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
platformTokenService.getToken();
FeignClientResult<List<ApplicationModel>> aResult = Privilege.applicationClient.queryAgencyApplications();
List<ApplicationModel> aList = aResult.getResult();
List<String> appCodes = aList.stream().filter(i -> "监管端,企业端".indexOf(i.getAppName()) != -1)
......
......@@ -5,18 +5,16 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.elevator.api.service.IEquipmentCategoryService;
import com.yeejoin.amos.boot.module.elevator.biz.service.impl.StartPlatformTokenService;
import com.yeejoin.amos.boot.module.elevator.flc.api.service.IRegUnitInfoService;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.component.emq.EmqxListener;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
@Component
......@@ -40,11 +38,6 @@ public class PlatformUserTopicMessage extends EmqxListener {
@Autowired
RedisUtils redisUtil;
@Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
String product;
@Value("${amos.system.user.app-key:AMOS_STUDIO}")
String appKey;
@Autowired
IEquipmentCategoryService equipmentCategoryService;
......@@ -52,11 +45,12 @@ public class PlatformUserTopicMessage extends EmqxListener {
@Autowired
IRegUnitInfoService regUnitInfoService;
@Autowired
StartPlatformTokenService platformTokenService;
@Override
public void processMessage(String topic, MqttMessage message) {
RequestContext.setAppKey(appKey);
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
platformTokenService.getToken();
JSONObject jsonObject = JSON.parseObject(message.toString());
JSONObject result = jsonObject.getJSONObject("result");
JSONObject dataResult = result.getJSONObject("result");
......
......@@ -5,10 +5,10 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yeejoin.amos.boot.module.elevator.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.elevator.biz.service.impl.StartPlatformTokenService;
import com.yeejoin.amos.boot.module.elevator.biz.service.impl.TzBaseEnterpriseInfoServiceImpl;
import com.yeejoin.amos.boot.module.elevator.biz.utils.RedisUtil;
import com.yeejoin.amos.boot.module.elevator.flc.api.feign.AccessFeignService;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import lombok.extern.slf4j.Slf4j;
......@@ -16,14 +16,15 @@ import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqxListener;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.Map;
@Component
@Slf4j
......@@ -40,11 +41,8 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
@Autowired
RedisUtil redisUtil;
@Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
String product;
@Value("${amos.system.user.app-key:AMOS_STUDIO}")
String appKey;
@Autowired
StartPlatformTokenService platformTokenService;
@Override
public void processMessage(String s, MqttMessage message) throws Exception {
......@@ -58,15 +56,13 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
} catch (Exception e) {
throw new Exception("公司同步消息解析失败");
}
RequestContext.setAppKey(appKey);
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
platformTokenService.getToken();
//判断库中业务tz_base_enterprise_info是否存在
QueryWrapper<TzBaseEnterpriseInfo> queryWrapper = new QueryWrapper<TzBaseEnterpriseInfo>();
queryWrapper.eq("use_code",object.getString("unit_code"));
queryWrapper.eq("use_code", object.getString("unit_code"));
TzBaseEnterpriseInfo tzBaseEnterprisePrivilegeInfo = tzBaseEnterpriseInfoService.getOne(queryWrapper);
if(!ValidationUtil.isEmpty(tzBaseEnterprisePrivilegeInfo)){
if (!ValidationUtil.isEmpty(tzBaseEnterprisePrivilegeInfo)) {
accessFeignService.updateSyncCompanyState(object.getString("sequence_nbr"));
return;
}
......@@ -95,14 +91,14 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
//业务表更新条件构造器
UpdateWrapper<TzBaseEnterpriseInfo> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("use_code",object.getString("unit_code"));
updateWrapper.eq("use_code", object.getString("unit_code"));
String regCode = object.getString("reg_code");
CompanyModel supervisePrivilegeCompanyModel;
if (!ValidationUtil.isEmpty(regCode)) {
supervisePrivilegeCompanyModel = Privilege.companyClient.queryByCompanyCode(regCode).getResult();
if(ValidationUtil.isEmpty(supervisePrivilegeCompanyModel)){
if (ValidationUtil.isEmpty(supervisePrivilegeCompanyModel)) {
supervisePrivilegeCompanyModel = Privilege.companyClient.queryByCompanyCode("610000").getResult();
if (ValidationUtil.isEmpty(supervisePrivilegeCompanyModel)) {
......@@ -120,37 +116,37 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
tzBaseEnterpriseInfo.setSuperviseOrgCode(supervisePrivilegeCompanyModel.getOrgCode());
tzBaseEnterpriseInfo.setSuperviseOrgName(supervisePrivilegeCompanyModel.getCompanyName());
if(ValidationUtil.isEmpty(tzBaseEnterpriseInfo.getUnitType())){
if (ValidationUtil.isEmpty(tzBaseEnterpriseInfo.getUnitType())) {
tzBaseEnterpriseInfo.setUnitType("");
}
try {
if (tzBaseEnterprisePrivilegeInfo == null ) {
if (tzBaseEnterprisePrivilegeInfo == null) {
tzBaseEnterpriseInfoService.save(tzBaseEnterpriseInfo);
accessFeignService.updateSyncCompanyState(object.getString("sequence_nbr"));
return;
}
} catch(Exception e) {
} catch (Exception e) {
logger.error("【" + object.getString("unit_name") + "】许可信息同步【失败】:" + e.getMessage());
}
}
public Map<String, CompanyModel> getCompanyInfoMap(Collection companyModels,Map<String, CompanyModel> map){
if(companyModels == null){
public Map<String, CompanyModel> getCompanyInfoMap(Collection companyModels, Map<String, CompanyModel> map) {
if (companyModels == null) {
return map;
}
Iterator iter = companyModels.iterator();
while(iter.hasNext()){
while (iter.hasNext()) {
String json = JSON.toJSONString(iter.next());
CompanyModel companyModel = JSON.parseObject(json,CompanyModel.class);
CompanyModel companyModel = JSON.parseObject(json, CompanyModel.class);
String code = companyModel.getCompanyCode();
if(code.length() >=6){
if (code.length() >= 6) {
code = code.substring(0, 6);
}
map.put(code,companyModel);
getCompanyInfoMap(companyModel.getChildren(),map);
map.put(code, companyModel);
getCompanyInfoMap(companyModel.getChildren(), map);
}
return map;
}
......
......@@ -8,15 +8,31 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Maps;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.service.ISourceFileService;
import com.yeejoin.amos.boot.module.elevator.api.dto.*;
import com.yeejoin.amos.boot.module.elevator.api.entity.*;
import com.yeejoin.amos.boot.module.elevator.api.dto.AlertCalledDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.AlertCalledFormDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.AlertCalledObjsDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.AlertCalledQueryDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.AlertCalledRecordDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.AlertHandlerDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.AlertHandlerInfoDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.AlertPaperInfoDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.FormValue;
import com.yeejoin.amos.boot.module.elevator.api.dto.TzsCitInfoDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.WechatMyBusinessListDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.WechatMyBussinessDto;
import com.yeejoin.amos.boot.module.elevator.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.elevator.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.elevator.api.entity.DispatchPaper;
import com.yeejoin.amos.boot.module.elevator.api.entity.DispatchTask;
import com.yeejoin.amos.boot.module.elevator.api.entity.Elevator;
import com.yeejoin.amos.boot.module.elevator.api.entity.TzsCitInfo;
import com.yeejoin.amos.boot.module.elevator.api.entity.VoiceRecordFile;
import com.yeejoin.amos.boot.module.elevator.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.elevator.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.elevator.api.enums.EquipmentClassifityEnum;
......@@ -41,7 +57,15 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
......@@ -141,7 +165,7 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
alertCalledDto.setProvince(String.valueOf(map.get("province")));
alertCalledDto.setCity(String.valueOf(map.get("city")));
alertCalledDto.setDistrict(String.valueOf(map.get("district")));
alertCalledDto.setUseStatus(Integer.valueOf(String.valueOf(map.get("useStatus"))));
alertCalledDto.setUseStatus(String.valueOf(map.get("useStatus")));
alertCalledDto.setUseSiteCategory(String.valueOf(map.get("useSiteCategory")));
alertCalledDto.setUseUnit(String.valueOf(map.get("useUnit")));
alertCalledDto.setRegionCode(String.valueOf(map.get("regionCode")));
......@@ -161,18 +185,6 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
// alertCalledDto.setUseUnit(elevator.getUseUnit());
// alertCalledDto.setRegionCode(elevator.getRegionCode());
// }
if(!ValidationUtil.isEmpty(alertCalledDto.getUseSiteCategory())) {
LambdaQueryWrapper<DataDictionary> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(DataDictionary::getCode, alertCalledDto.getUseSiteCategory());
DataDictionary dataDictionary = iDataDictionaryService.getOne(wrapper);
if (!ValidationUtil.isEmpty(dataDictionary)) {
alertCalledDto.setUseSiteCategory(dataDictionary.getName());
} else {
alertCalledDto.setUseSiteCategory("");
}
} else {
alertCalledDto.setUseSiteCategory("");
}
String voiceRecord = "";
VoiceRecordFile temp = voiceRecordFileServiceImpl.getOne(new LambdaQueryWrapper<VoiceRecordFile>().eq(VoiceRecordFile::getAlertId,id).eq(VoiceRecordFile::getAlertStageCode,"860").orderByAsc(VoiceRecordFile::getRecDate));
if(temp != null) {
......@@ -232,16 +244,16 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
alertCalledDto.setProvince(elevator.getProvince());
alertCalledDto.setCity(elevator.getCity());
alertCalledDto.setDistrict(elevator.getDistrict());
alertCalledDto.setUseStatus(elevator.getUseStatus());
alertCalledDto.setUseStatus(String.valueOf(elevator.getUseStatus()));
alertCalledDto.setUseSiteCategory(elevator.getUseSiteCategory());
alertCalledDto.setUseUnit(elevator.getUseUnit());
alertCalledDto.setRegionCode(elevator.getRegionCode());
}
String voiceRecord = "";
VoiceRecordFile temp = voiceRecordFileServiceImpl.getOne(new LambdaQueryWrapper<VoiceRecordFile>().eq(VoiceRecordFile::getAlertId,id).eq(VoiceRecordFile::getAlertStageCode,"860").orderByAsc(VoiceRecordFile::getRecDate));
if(temp != null) {
voiceRecord = temp.getFilePath();
}
// VoiceRecordFile temp = voiceRecordFileServiceImpl.getOne(new LambdaQueryWrapper<VoiceRecordFile>().eq(VoiceRecordFile::getAlertId,id).eq(VoiceRecordFile::getAlertStageCode,"860").orderByAsc(VoiceRecordFile::getRecDate));
// if(temp != null) {
// voiceRecord = temp.getFilePath();
// }
AlertCalledFormDto alertCalledFormVo = new AlertCalledFormDto(alertCalledDto, formValue,voiceRecord);
return alertCalledFormVo;
}
......@@ -262,7 +274,8 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
String alertStage,
String alertStatus,
String sortParam,
String sortRule
String sortRule,
List<String> ids
) {
//获取当前登陆人所在单位的下的所有接警人员的userId
Set<String> userIds = new HashSet<>();
......@@ -280,7 +293,7 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
Page<List<AlertCalledQueryDto>>list = alertCalledMapper.queryAlertListByQueryDto(page,
workOrderNumber,creator,emergency,emergencyTimeStart,
emergencyTimeEnd,emergencyCall,deviceId,elevatorAddress,district,alertType,
alertSource,alertStage,alertStatus,sortParam,sortRule,userIds);
alertSource,alertStage,alertStatus,sortParam,sortRule,userIds,ids);
Page<AlertCalledQueryDto> page1 = new Page<>();
List<AlertCalledQueryDto> resultDtoList = JSONArray.parseArray(JSONArray.toJSONString(list.getRecords()),AlertCalledQueryDto.class);
page1.setCurrent(page.getCurrent());
......
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.elevator.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
......@@ -18,8 +19,6 @@ import com.yeejoin.amos.boot.module.elevator.api.dto.RescueProcessDto;
import com.yeejoin.amos.boot.module.elevator.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.elevator.api.entity.DispatchPaper;
import com.yeejoin.amos.boot.module.elevator.api.entity.DispatchTask;
import com.yeejoin.amos.boot.module.elevator.api.entity.Elevator;
import com.yeejoin.amos.boot.module.elevator.api.entity.MaintenanceUnit;
import com.yeejoin.amos.boot.module.elevator.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.elevator.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.elevator.api.enums.TzsCommonParam;
......@@ -181,7 +180,7 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
Map<String,Object> map = elevatorServiceImpl.selectByAlertId(alertId);
if(!ObjectUtils.isEmpty(map.get("sequenceNbr"))) {
List<Map<String,Object>> mapList = elevatorMapper.selectMtByAlertId(String.valueOf(map.get("sequenceNbr")));
if(ObjectUtils.isEmpty(mapList)){
if(!ObjectUtils.isEmpty(mapList) && CollectionUtils.isEmpty(mapList)){
dispatchPaper.setRepairOrgCreditCode(String.valueOf(mapList.get(0).get("useCode")));
}
}
......
......@@ -24,21 +24,18 @@ import com.yeejoin.amos.boot.module.elevator.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.elevator.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.elevator.api.entity.DispatchPaper;
import com.yeejoin.amos.boot.module.elevator.api.entity.DispatchTask;
import com.yeejoin.amos.boot.module.elevator.api.entity.Elevator;
import com.yeejoin.amos.boot.module.elevator.api.entity.MaintenanceUnit;
import com.yeejoin.amos.boot.module.elevator.api.entity.RescueProcess;
import com.yeejoin.amos.boot.module.elevator.api.entity.RescueStation;
import com.yeejoin.amos.boot.module.elevator.api.entity.Template;
import com.yeejoin.amos.boot.module.elevator.api.entity.UseUnit;
import com.yeejoin.amos.boot.module.elevator.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.elevator.api.entity.WechatRelation;
import com.yeejoin.amos.boot.module.elevator.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.elevator.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.elevator.api.enums.TzsCommonParam;
import com.yeejoin.amos.boot.module.elevator.api.mapper.DispatchTaskMapper;
import com.yeejoin.amos.boot.module.elevator.api.service.IDispatchTaskService;
import com.yeejoin.amos.boot.module.elevator.api.service.IMaintenanceUnitService;
import com.yeejoin.amos.boot.module.elevator.api.service.IRescueStationService;
import com.yeejoin.amos.boot.module.elevator.api.service.IUseUnitService;
import com.yeejoin.amos.boot.module.elevator.api.service.ITzBaseEnterpriseInfoService;
import com.yeejoin.amos.boot.module.elevator.biz.utils.BeanDtoVoUtils;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
......@@ -89,10 +86,7 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
AlertFormValueServiceImpl iAlertFormValueService;
@Autowired
IUseUnitService iUseUnitService;
@Autowired
IMaintenanceUnitService iMaintenanceUnitService;
ITzBaseEnterpriseInfoService enterpriseInfoService;
@Autowired
IRescueStationService iRescueStationService;
......@@ -185,12 +179,7 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
// Elevator elevator = elevatorServiceImpl.selectByAlertId(alertId);
Map<String,Object> map = elevatorServiceImpl.selectByAlertId(alertId);
String address = map.get("address") == null ? "" : String.valueOf(map.get("address"));
String useSiteCategory = "";
if (!ValidationUtil.isEmpty(String.valueOf(map.get("useSiteCategory")))) {
String categoryCode = String.valueOf(map.get("useSiteCategory"));
DataDictionary categoryDict = iDataDictionaryService.getByCode(categoryCode, "USE_SITE_CATEGORY");
useSiteCategory = ValidationUtil.isEmpty(categoryDict) ? "" : categoryDict.getName();
}
String useSiteCategory = map.get("useSiteCategory") == null ? "" : String.valueOf(map.get("useSiteCategory"));
String useUnit = String.valueOf(map.get("useUnit"));
content = content.replace("$call_time",createTime).replace("$address",address).replace("$rescue_code",rescueCode).replace("$use_site_category",useSiteCategory);
String typeCode = "";
......@@ -835,10 +824,11 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
flag = this.save(dispatchTask);
if(flag) { // 创建好派遣任务单以后根据任务单类型修改派遣单信息
// 社会信用代码 根据类型查找放入
MaintenanceUnit maintenanceUnit = null;
TzBaseEnterpriseInfo maintenanceUnit;
switch (dispatchTask.getOrgTypeCode()) {
case "useUnit": // 使用单位
UseUnit useUnit = iUseUnitService.getById(dispatchTask.getResponseOrgId());
TzBaseEnterpriseInfo useUnit =
enterpriseInfoService.getById(dispatchTask.getResponseOrgId());
dispatchPaper.setUseOrgId(useUnit.getSequenceNbr());
dispatchPaper.setUseOrgTaskId(dispatchTask.getSequenceNbr());
if(AlertStageEnums.getEnumById(dispatchPaper.getAlertCode()).getCode().equals(AlertStageEnums.KRJY.getCode())) {
......@@ -851,13 +841,13 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
}
break;
case "repairUnit":
maintenanceUnit = iMaintenanceUnitService.getById(dispatchTask.getResponseOrgId());
maintenanceUnit = enterpriseInfoService.getById(dispatchTask.getResponseOrgId());
dispatchPaper.setRepairOrgId(maintenanceUnit.getSequenceNbr());
dispatchPaper.setRepairOrgTaskId(dispatchTask.getSequenceNbr());
break;
case "levelOneUnit":
maintenanceUnit = iMaintenanceUnitService.getById(dispatchTask.getResponseOrgId());
String socialCreditCode = maintenanceUnit.getSocialCreditCode();
maintenanceUnit = enterpriseInfoService.getById(dispatchTask.getResponseOrgId());
String socialCreditCode = maintenanceUnit.getUseCode();
dispatchPaper.setRepairOrgId(maintenanceUnit.getSequenceNbr());
dispatchPaper.setRepairOrgTaskId(dispatchTask.getSequenceNbr());
// 修改动态字段
......
package com.yeejoin.amos.boot.module.elevator.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -450,7 +451,7 @@ public class ESElevatorServiceImpl {
if(!ValidationUtil.isEmpty(keyword)) {
BoolQueryBuilder qb0 = QueryBuilders.boolQuery().
must(QueryBuilders.termQuery("rescueCode", keyword));
must(QueryBuilders.matchQuery("rescueCode.keyword", keyword));
boolMust.should(qb0);
BoolQueryBuilder qb1 = QueryBuilders.boolQuery().
must(QueryBuilders.matchQuery("address", keyword));
......@@ -486,6 +487,7 @@ public class ESElevatorServiceImpl {
catch (Exception e)
{
// TODO: handle exception
e.printStackTrace();
}
result.setRecords(list);
result.setTotal(total);
......
package com.yeejoin.amos.boot.module.elevator.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.elevator.api.common.BizCommonConstant;
import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorDto;
import com.yeejoin.amos.boot.module.elevator.biz.utils.RedisUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public class ElevatorAppRunner implements ApplicationRunner {
@Autowired
RedisUtil redisUtil;
@Autowired
ElevatorServiceImpl elevatorServiceImpl;
@Override
public void run(ApplicationArguments args) {
// 缓存电梯数据
List<ElevatorDto> list = elevatorServiceImpl.selectExportData(null);
redisUtil.set(BizCommonConstant.OLD_ELEVATOR_REDIS_KEY, JSONObject.toJSONString(list));
}
}
......@@ -13,19 +13,21 @@ import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.QRCodeUtil;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.biz.service.impl.SourceFileServiceImpl;
import com.yeejoin.amos.boot.module.elevator.api.dto.*;
import com.yeejoin.amos.boot.module.elevator.api.entity.*;
import com.yeejoin.amos.boot.module.elevator.api.enums.EquimentEnum;
import com.yeejoin.amos.boot.module.elevator.api.dto.AlertCalledDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorDtoNew;
import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorInsureDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorWlInfoDto;
import com.yeejoin.amos.boot.module.elevator.api.entity.Elevator;
import com.yeejoin.amos.boot.module.elevator.api.entity.EquipmentCategory;
import com.yeejoin.amos.boot.module.elevator.api.enums.TzsCommonParam;
import com.yeejoin.amos.boot.module.elevator.api.mapper.ElevatorMapper;
import com.yeejoin.amos.boot.module.elevator.api.service.IElevatorInsureRelationService;
import com.yeejoin.amos.boot.module.elevator.api.service.IElevatorService;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service;
......@@ -153,7 +155,7 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
if(useSiteCategory != null) {
elevatorDto.setUseSiteCategoryName(useSiteCategory.getName());
}
if(elevatorDto.getUseStatus() == 1) {
if("1".equals(elevatorDto.getUseStatus())) {
elevatorDto.setUseStatusStr("在用");
} else {
elevatorDto.setUseStatusStr("停用");
......@@ -212,8 +214,9 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
public Map<String,Object> selectByAlertId(Long alertId) {
AlertCalledDto alertCalledDto = alertCalledServiceImpl.queryBySeq(alertId);
if (ValidationUtil.isEmpty(alertCalledDto)
|| ValidationUtil.isEmpty(alertCalledDto.getDeviceId()))
throw new BadRequest("警情不存在或者设备编码不存在");
|| ValidationUtil.isEmpty(alertCalledDto.getDeviceId())) {
throw new BadRequest("警情不存在或者设备编码不存在");
}
// 设备类型 和 编码 确定设备的使用单位或者维保单位
String equipmentClassificationCode = alertCalledDto.getEquipmentClassificationCode();
String deviceId = alertCalledDto.getEquipmentId();
......@@ -224,8 +227,9 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
// LambdaQueryWrapper<Elevator> queryWrapper = new LambdaQueryWrapper<>();
// queryWrapper.eq(Elevator::getSequenceNbr, deviceId);
// Elevator elevator = this.getOne(queryWrapper);
if (ValidationUtil.isEmpty(map))
throw new BadRequest("设备未找到");
if (ValidationUtil.isEmpty(map)) {
throw new BadRequest("设备未找到");
}
return map;
}
......
package com.yeejoin.amos.boot.module.elevator.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.elevator.api.dto.DispatchPaperFormDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.DispatchTaskDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.RescueProcessDto;
......@@ -60,6 +63,8 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
@Autowired
AlertCalledServiceImpl iAlertCalledService;
@Autowired
RedisUtils redisUtils;
/**
* 分页查询
*/
......@@ -173,6 +178,11 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchTask.getAlertId(),"PQ", dispatchTask.getSequenceNbr(),sendUser);
}
} else {
if (Boolean.TRUE.equals(rescueProcessDto.getCasualtiesStatus())){
updateMessage(rescueProcessDto, "injured_num");
updateMessage(rescueProcessDto, "die_num");
redisUtils.del(RedisKey.TZS_ALERTCALLED_ID+rescueProcessDto.getAlertId());
}
rescueProcessDto.setDispatchTime(null);
rescueProcessDto.setDispatchStatus(null);
rescueProcessDto.setDispatchUserId(null);
......@@ -253,6 +263,19 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
return flag;
}
private void updateMessage(RescueProcessDto rescueProcessDto, String fieldCode){
LambdaQueryWrapper<AlertFormValue> lambda = new QueryWrapper<AlertFormValue>().lambda();
lambda.eq(AlertFormValue::getAlertCalledId, rescueProcessDto.getAlertId());
lambda.eq(AlertFormValue::getFieldCode, fieldCode);
List<AlertFormValue> alertFormValues = iAlertFormValueService.getBaseMapper().selectList(lambda);
AlertFormValue alertFormValue = alertFormValues.get(0);
if ("die_num".equals(fieldCode)){
alertFormValue.setFieldValue(rescueProcessDto.getDieNum());
}else {
alertFormValue.setFieldValue(rescueProcessDto.getCasualtiesInfo());
}
iAlertFormValueService.updateById(alertFormValue);
}
@Override
public Boolean updateByAlertId(RescueProcessDto rescueProcessDto) {
QueryWrapper<RescueProcess> templateQueryWrapper = new QueryWrapper<>();
......
package com.yeejoin.amos.boot.module.elevator.biz.service.impl;
import com.yeejoin.amos.boot.module.elevator.biz.utils.RedisUtil;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import com.yeejoin.amos.boot.module.elevator.biz.utils.RedisUtil;
import com.yeejoin.amos.component.robot.AmosRequestContext;
@Service
public class StartPlatformTokenService {
@Value("${admin.product}")
String product;
@Value("${admin.appkey}")
String appkey;
@Value("${admin.user}")
String user;
@Value("${admin.password}")
String password;
@Value("${amos.secret.key}")
String secretKey;
@Autowired
RedisUtil redisUtil;
@Autowired
RedisUtil redisUtil;
@Autowired
AmosRequestContext amosRequestContext;
@Autowired
AmosRequestContext amosRequestContext;
public void getToken() {
RequestContext.setProduct(product);
RequestContext.setAppKey(appkey);
String token = amosRequestContext.getToken();
System.out.println("token:" + token);
RequestContext.setToken(token);
redisUtil.set("platform_token", token);
}
public void getToken() {
RequestContext.setProduct(amosRequestContext.getProduct());
RequestContext.setAppKey(amosRequestContext.getAppKey());
RequestContext.setToken(amosRequestContext.getToken());
}
}
......@@ -13,7 +13,7 @@ eureka.instance.metadata-map.management.api-docs=http://172.16.3.34:${server.por
eureka.instance.ip-address=172.16.3.34
## ES properties:
elasticsearch.username=elastic
elasticsearch.password=a123456
elasticsearch.password=123456
spring.elasticsearch.rest.uris=http://172.16.10.230:9200
## unit(h)
alertcall.es.synchrony.time=48
......
......@@ -124,11 +124,7 @@ tzs.wechat.tempId.supervise=P5XGbszS2Pc6kynvGjzPpZ--ikAwDZo6O7WdJ2EUxtE
## \uFFFD\uFFFD\uFFFD\u06BA\u0172\uFFFD\uFFFD\uFFFD\uFFFD\u00FB\uFFFDid\uFFFD\uFFFD\u01BD\u0328userId\uFFFD\uFFFD
tzs.wechat.test.userId=3393279
admin.product=AMOS-SERVICE-ADMIN
admin.appkey=AMOS_ADMIN
admin.user=admin_tzs
admin.password=a1234560
admin.product.web=AMOS-WEB-ADMIN
amos.secret.key=qazknife4j.production=false
knife4j.production=false
......
......@@ -9,7 +9,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.Menu;
import com.yeejoin.amos.boot.biz.common.utils.TreeParser;
import com.yeejoin.amos.boot.module.app.api.common.MobileLoginParam;
import com.yeejoin.amos.boot.module.app.api.dto.EquipExportDto;
import com.yeejoin.amos.boot.module.app.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.app.api.entity.EquipmentCategory;
import com.yeejoin.amos.boot.module.app.api.entity.PageParam;
......@@ -30,7 +29,14 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
......@@ -256,8 +262,8 @@ public class TzsAppController {
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "获取机器人登录token", notes = "获取机器人登录token")
@GetMapping(value = "/acquireToken")
synchronized public String getRobotLoginToken() {
return amosRequestContext.getToken();
synchronized public ResponseModel<String> getRobotLoginToken() {
return ResponseHelper.buildResponse(amosRequestContext.getToken());
}
/**
......
package com.yeejoin.amos.boot.module.app.biz.controller;
import com.yeejoin.amos.boot.module.app.biz.service.impl.TzsAuthServiceImpl;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
@RestController
@Slf4j
@Api(tags = "wechat小程序接口")
@RequestMapping(value = "/wechat")
public class TzsWeChatController {
@Autowired
AmosRequestContext amosRequestContext;
@Autowired
TzsAuthServiceImpl authServiceImpl;
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "获取机器人登录token", notes = "获取机器人登录token")
@GetMapping(value = "/api/acquireToken")
synchronized public ResponseModel<String> getRobotLoginToken() {
return ResponseHelper.buildResponse(authServiceImpl.getUserToken());
}
}
package com.yeejoin.amos.boot.module.app.biz.service.impl;
import com.yeejoin.amos.boot.module.app.biz.utils.RedisUtil;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import com.yeejoin.amos.boot.module.app.biz.utils.RedisUtil;
import com.yeejoin.amos.component.robot.AmosRequestContext;
@Service
public class StartPlatformTokenService {
@Value("${admin.product}")
String product;
@Value("${admin.appkey}")
String appkey;
@Value("${admin.user}")
String user;
@Value("${admin.password}")
String password;
@Value("${amos.secret.key}")
String secretKey;
@Autowired
RedisUtil redisUtil;
@Autowired
RedisUtil redisUtil;
@Autowired
AmosRequestContext amosRequestContext;
@Autowired
AmosRequestContext amosRequestContext;
public void getToken() {
RequestContext.setProduct(product);
RequestContext.setAppKey(appkey);
String token = amosRequestContext.getToken();
System.out.println("token:" + token);
RequestContext.setToken(token);
redisUtil.set("platform_token", token);
}
public void getToken() {
RequestContext.setProduct(amosRequestContext.getProduct());
RequestContext.setAppKey(amosRequestContext.getAppKey());
RequestContext.setToken(amosRequestContext.getToken());
}
}
......@@ -39,6 +39,7 @@ import com.yeejoin.amos.feign.privilege.util.DesUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
......@@ -63,15 +64,6 @@ public class TzBaseEnterpriseInfoServiceImpl
@Autowired
RedisUtil redisUtil;
@Value("${admin.product}")
String product;
@Value("${admin.product.web}")
String webProduct;
@Value("${admin.appkey}")
String appkey;
@Autowired
private TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
......@@ -82,37 +74,24 @@ public class TzBaseEnterpriseInfoServiceImpl
RegUnitIcServiceImpl regUnitIcService;
@Autowired
@Lazy
RegUnitInfoServiceImpl regUnitInfoService;
@Autowired
private IBaseUnitLicenceService iBaseUnitLicenceService;
@Autowired
private SpeUseUnitServiceImpl speUseUnitService;
@Autowired
private AccessFeignService accessFeignService;
@Autowired
private ITzBaseEnterpriseInfoService tzBaseEnterpriseInfoService;
@Autowired
DataDictionaryServiceImpl iDataDictionaryService;
@Autowired
RegUnitInfoMapper regUnitInfoMapper;
@Value("${tzs.admin.name:tzs_admin}")
private String tzsAdminName;
@Value("${tzs.admin.pwd:a1234567}")
private String tzsAdminPwd;
@Value("${redis.cache.failure.time}")
private Long redisRegionTimeSecond;
/**机器人用户token缓存key */
public static final String TZS_USER_TOKEN = "TZS_USER_TOKEN";
/**
* 企业管理员变更缓存key前缀
*/
......@@ -120,6 +99,9 @@ public class TzBaseEnterpriseInfoServiceImpl
@Autowired
private EquipmentCategoryServiceImpl equipmentCategoryService;
@Autowired
StartPlatformTokenService platformTokenService;
@Override
public List<EquEnterDto> getInfo(String sequenceNbr) {
return tzBaseEnterpriseInfoMapper.getInfo(sequenceNbr);
......@@ -313,9 +295,7 @@ public class TzBaseEnterpriseInfoServiceImpl
@Override
public String syncEnterpriseInfo() {
RequestContext.setAppKey(appkey);
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
platformTokenService.getToken();
List<TzBaseEnterpriseInfo> baseEnterpriseInfoList = new ArrayList<>();
......@@ -538,16 +518,11 @@ public class TzBaseEnterpriseInfoServiceImpl
return String.join(",", res);
}
@Override
public Map<String, Object> adminInfoUpdate(Map<String, Object> map) {
//每一个企业只有一个管理员,所以当前登录用户即管理员用户
AgencyUserModel me = Privilege.agencyUserClient.getme().getResult();
RequestContext.setAppKey(appkey);
RequestContext.setProduct(webProduct);
//获取机器人的token,获取不到则去登录
if (ObjectUtils.isEmpty(redisUtil.get(TZS_USER_TOKEN))) {
loginCtiUser();
}
RequestContext.setToken(String.valueOf(redisUtil.get(TZS_USER_TOKEN)));
platformTokenService.getToken();
Map<String, Object> resultMap = new HashMap<>();
if (!ObjectUtils.isEmpty(me)) {
RegUnitInfo regUnitInfo = new RegUnitInfo();
......@@ -572,18 +547,6 @@ public class TzBaseEnterpriseInfoServiceImpl
return resultMap;
}
//机器人用户登录
private void loginCtiUser() {
String passwd = DesUtil.encode(tzsAdminPwd, "qaz");
IdPasswordAuthModel loninData = new IdPasswordAuthModel();
loninData.setLoginId(tzsAdminName);
loninData.setPassword(passwd);
FeignClientResult loginResult = Privilege.authClient.idpassword(loninData);
if(loginResult.getStatus() == 200) {
HashMap resultMap = (HashMap) loginResult.getResult();
redisUtil.set(TZS_USER_TOKEN, resultMap.get("token").toString(), redisRegionTimeSecond);
}
}
public void setSpeUseUnitState(int state,SpeUseUnit speUseUnit){
......
......@@ -48,6 +48,11 @@ public class TzsAuthServiceImpl implements TzsAuthService {
@Value("${cti.user.pwd}")
private String ctiUserPwd;
@Value("${amos.wechat.robot.user}")
private String weRobotUser;
@Value("${amos.wechat.robot.password}")
private String weRobotPassword;
/**
* saveUserRedis设置过期时间
......@@ -58,6 +63,7 @@ public class TzsAuthServiceImpl implements TzsAuthService {
@Autowired
private StartPlatformTokenService startPlatformTokenService;
String weChatToken = "WECHAT_TOKEN";
@Override
public List<String> getUserRegionCode() {
......@@ -149,20 +155,18 @@ public class TzsAuthServiceImpl implements TzsAuthService {
}
private void loginCtiUser() {
String passwd = DesUtil.encode(ctiUserPwd, "qaz");
IdPasswordAuthModel loninData = new IdPasswordAuthModel();
loninData.setLoginId(ctiUserName);
loninData.setPassword(passwd);
FeignClientResult loginResult = Privilege.authClient.idpassword(loninData);
private void loginUser(String userName, String password, String token) {
String pwd = DesUtil.encode(password, "qaz");
IdPasswordAuthModel loginData = new IdPasswordAuthModel();
loginData.setLoginId(userName);
loginData.setPassword(pwd);
FeignClientResult loginResult = Privilege.authClient.idpassword(loginData);
if(loginResult.getStatus() == 200) {
HashMap resultMap = (HashMap) loginResult.getResult();
redisUtils.set(RedisKey.CTI_USER_TOKEN, resultMap.get("token").toString(), redisRegionTimeSecond);
redisUtils.set(token, resultMap.get("token").toString(), redisRegionTimeSecond);
}
}
public void setRequestContext() {
// 需要登录后台账号
RequestContext.setAppKey("AMOS_STUDIO");
......@@ -173,10 +177,10 @@ public class TzsAuthServiceImpl implements TzsAuthService {
boolean validToken = TokenOperation.refresh(redisUtils.get(RedisKey.CTI_USER_TOKEN).toString());
// 登陆
if (!validToken) {
this.loginCtiUser();
this.loginUser(ctiUserName, ctiUserPwd, RedisKey.CTI_USER_TOKEN);
}
} else { // 登陆
this.loginCtiUser();
this.loginUser(ctiUserName, ctiUserPwd, RedisKey.CTI_USER_TOKEN);
}
}
String ctiToken = redisUtils.get(RedisKey.CTI_USER_TOKEN).toString();
......@@ -193,7 +197,6 @@ public class TzsAuthServiceImpl implements TzsAuthService {
}
private void saveUserRedis(AgencyUserModel user, String token) {
String authToken = RedisKey.buildReginKey(user.getUserId(), token);
if (redisUtils.hasKey(authToken)) {
......@@ -229,5 +232,23 @@ public class TzsAuthServiceImpl implements TzsAuthService {
redisUtils.set(authToken, JSONObject.toJSONString(reginParams), redisRegionTimeSecond);
}
public String getUserToken() {
// 需要登录后台账号
RequestContext.setAppKey("AMOS_STUDIO");
RequestContext.setProduct("AMOS_STUDIO_WEB");
synchronized (TzsAuthServiceImpl.class) {
if (redisUtils.hasKey(weChatToken)) {
// 验证token
boolean validToken = TokenOperation.refresh(redisUtils.get(weChatToken).toString());
// 登陆
if (!validToken) {
this.loginUser(weRobotUser, weRobotPassword, weChatToken);
}
} else { // 登陆
this.loginUser(weRobotUser, weRobotPassword, weChatToken);
}
}
String weToken = redisUtils.get(weChatToken).toString();
return weToken;
}
}
\ No newline at end of file
......@@ -13,7 +13,7 @@ eureka.instance.metadata-map.management.api-docs=http://172.16.3.32:${server.por
eureka.instance.ip-address=172.16.3.32
## ES properties:
elasticsearch.username=elastic
elasticsearch.password=a123456
elasticsearch.password=123456
spring.elasticsearch.rest.uris=http://172.16.10.230:9200
## unit(h)
alertcall.es.synchrony.time=48
......
......@@ -124,11 +124,7 @@ tzs.wechat.tempId.supervise=P5XGbszS2Pc6kynvGjzPpZ--ikAwDZo6O7WdJ2EUxtE
## \uFFFD\uFFFD\uFFFD\u06BA\u0172\uFFFD\uFFFD\uFFFD\uFFFD\u00FB\uFFFDid\uFFFD\uFFFD\u01BD\u0328userId\uFFFD\uFFFD
tzs.wechat.test.userId=3393279
admin.product=AMOS-SERVICE-ADMIN
admin.appkey=AMOS_ADMIN
admin.user=admin_tzs
admin.password=a1234560
admin.product.web=AMOS-WEB-ADMIN
amos.secret.key=qazknife4j.production=false
knife4j.production=false
......@@ -164,4 +160,7 @@ tzs.auth.user.photo=/public/common/userPic.png
tzs.WxApp.appId=wx48a1b1915b10d14b
tzs.WxApp.secret=ac4f4a9d3c97676badb70c19a2f37b16
tzs.WxApp.grant-type=authorization_code
\ No newline at end of file
tzs.WxApp.grant-type=authorization_code
amos.wechat.robot.user=we_robot
amos.wechat.robot.password=a1234567
\ No newline at end of file
......@@ -3,7 +3,6 @@ package com.yeejoin.amos.boot.module.cylinder.biz.service.impl;
import com.yeejoin.amos.boot.module.cylinder.biz.utils.RedisUtil;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext;
......@@ -11,34 +10,16 @@ import org.typroject.tyboot.core.foundation.context.RequestContext;
@Service
public class StartPlatformTokenService {
@Value("${admin.product}")
String product;
@Value("${admin.appkey}")
String appkey;
@Value("${admin.user}")
String user;
@Value("${admin.password}")
String password;
@Autowired
RedisUtil redisUtil;
@Value("${amos.secret.key}")
String secretKey;
@Autowired
AmosRequestContext amosRequestContext;
@Autowired
RedisUtil redisUtil;
@Autowired
AmosRequestContext amosRequestContext;
public void getToken() {
RequestContext.setProduct(product);
RequestContext.setAppKey(appkey);
String token = amosRequestContext.getToken();
System.out.println("token:" + token);
RequestContext.setToken(token);
redisUtil.set("platform_token", token);
}
public void getToken() {
RequestContext.setProduct(amosRequestContext.getProduct());
RequestContext.setAppKey(amosRequestContext.getAppKey());
RequestContext.setToken(amosRequestContext.getToken());
}
}
......@@ -13,7 +13,7 @@ eureka.instance.metadata-map.management.api-docs=http://172.16.3.34:${server.por
eureka.instance.ip-address=172.16.3.34
## ES properties:
elasticsearch.username=elastic
elasticsearch.password=a123456
elasticsearch.password=123456
spring.elasticsearch.rest.uris=http://172.16.10.230:9200
## unit(h)
alertcall.es.synchrony.time=48
......
......@@ -124,11 +124,7 @@ tzs.wechat.tempId.supervise=P5XGbszS2Pc6kynvGjzPpZ--ikAwDZo6O7WdJ2EUxtE
## \uFFFD\uFFFD\uFFFD\u06BA\u0172\uFFFD\uFFFD\uFFFD\uFFFD\u00FB\uFFFDid\uFFFD\uFFFD\u01BD\u0328userId\uFFFD\uFFFD
tzs.wechat.test.userId=3393279
admin.product=AMOS-SERVICE-ADMIN
admin.appkey=AMOS_ADMIN
admin.user=admin_tzs
admin.password=a1234560
admin.product.web=AMOS-WEB-ADMIN
amos.secret.key=qazknife4j.production=false
knife4j.production=false
......
......@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yeejoin.amos.boot.module.jczs.biz.service.impl.StartPlatformTokenService;
import com.yeejoin.amos.boot.module.jczs.biz.service.impl.TzBaseEnterpriseInfoServiceImpl;
import com.yeejoin.amos.boot.module.jczs.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.jczs.biz.utils.RedisUtil;
......@@ -40,11 +41,9 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
@Autowired
RedisUtil redisUtil;
@Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
String product;
@Value("${amos.system.user.app-key:AMOS_STUDIO}")
String appKey;
@Autowired
StartPlatformTokenService platformTokenService;
@Override
public void processMessage(String s, MqttMessage message) throws Exception {
......@@ -58,9 +57,7 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
} catch (Exception e) {
throw new Exception("公司同步消息解析失败");
}
RequestContext.setAppKey(appKey);
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
platformTokenService.getToken();
//判断库中业务tz_base_enterprise_info是否存在
QueryWrapper<TzBaseEnterpriseInfo> queryWrapper = new QueryWrapper<TzBaseEnterpriseInfo>();
......
package com.yeejoin.amos.boot.module.jczs.biz.service.impl;
import com.yeejoin.amos.boot.module.jczs.biz.utils.RedisUtil;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import com.yeejoin.amos.boot.module.jczs.biz.utils.RedisUtil;
import com.yeejoin.amos.component.robot.AmosRequestContext;
@Service
public class StartPlatformTokenService {
@Value("${admin.product}")
String product;
@Value("${admin.appkey}")
String appkey;
@Value("${admin.user}")
String user;
@Value("${admin.password}")
String password;
@Autowired
RedisUtil redisUtil;
@Value("${amos.secret.key}")
String secretKey;
@Autowired
AmosRequestContext amosRequestContext;
@Autowired
RedisUtil redisUtil;
@Autowired
AmosRequestContext amosRequestContext;
public void getToken() {
RequestContext.setProduct(product);
RequestContext.setAppKey(appkey);
String token = amosRequestContext.getToken();
System.out.println("token:" + token);
RequestContext.setToken(token);
redisUtil.set("platform_token", token);
}
public void getToken() {
RequestContext.setProduct(amosRequestContext.getProduct());
RequestContext.setAppKey(amosRequestContext.getAppKey());
RequestContext.setToken(amosRequestContext.getToken());
}
}
......@@ -13,7 +13,7 @@ eureka.instance.metadata-map.management.api-docs=http://172.16.3.34:${server.por
eureka.instance.ip-address=172.16.3.34
## ES properties:
elasticsearch.username=elastic
elasticsearch.password=a123456
elasticsearch.password=123456
spring.elasticsearch.rest.uris=http://172.16.10.230:9200
## unit(h)
alertcall.es.synchrony.time=48
......
......@@ -122,11 +122,7 @@ tzs.wechat.tempId.supervise=P5XGbszS2Pc6kynvGjzPpZ--ikAwDZo6O7WdJ2EUxtE
## \uFFFD\uFFFD\uFFFD\u06BA\u0172\uFFFD\uFFFD\uFFFD\uFFFD\u00FB\uFFFDid\uFFFD\uFFFD\u01BD\u0328userId\uFFFD\uFFFD
tzs.wechat.test.userId=3393279
admin.product=AMOS-SERVICE-ADMIN
admin.appkey=AMOS_ADMIN
admin.user=admin_tzs
admin.password=a1234560
admin.product.web=AMOS-WEB-ADMIN
amos.secret.key=qazknife4j.production=false
knife4j.production=false
......
......@@ -32,6 +32,9 @@ public class TzsUserInfoDto extends BaseDto {
@ApiModelProperty(value = "岗位")
private String post;
@ApiModelProperty(value = "岗位名称")
private String postName;
@ApiModelProperty(value = "联系电话")
private String phone;
......@@ -62,6 +65,9 @@ public class TzsUserInfoDto extends BaseDto {
@ApiModelProperty(value = "单位名称")
private String unitName;
@ApiModelProperty(value = "单位编码")
private String unitCode;
@ApiModelProperty(value = "平台账号id")
private String amosUserId;
......
......@@ -52,6 +52,12 @@ public class TzsUserInfo extends BaseEntity {
private String post;
/**
* 岗位名称
*/
@TableField("post_name")
private String postName;
/**
* 联系电话
*/
@TableField("phone")
......@@ -105,6 +111,14 @@ public class TzsUserInfo extends BaseEntity {
*/
@TableField("unit_name")
private String unitName;
/**
* 企业编码
*/
@TableField("unit_code")
private String unitCode;
/**
* 头像
*/
......
......@@ -4,27 +4,29 @@
<select id="selectPageMessage" resultType="com.yeejoin.amos.boot.module.tcm.api.dto.TzsUserInfoDto">
SELECT
sequence_nbr ,
name,
certificate_type,
certificate_num,
post,
phone,
birthday,
unit_name,
speciality,
profile,
amos_user_name,
amos_user_id,
lock_status,
CASE
WHEN gender = 1 THEN
'男' ELSE '女'
END AS gender
sequence_nbr,
name,
certificate_type,
certificate_num,
post,
post_name,
phone,
birthday,
unit_name,
speciality,
profile,
amos_user_name,
amos_user_id,
lock_status,
CASE
WHEN gender = 1 THEN
'男' ELSE '女'
END AS gender
FROM
tzs_user_info
tzs_user_info
<where>
is_delete = false
is_delete = false
and unit_code = #{dto.unitCode}
<if test="dto.name != '' and dto.name != null">
and name like concat('%',#{dto.name},'%')
</if>
......@@ -43,10 +45,10 @@
<if test="dto.amosUserName != '' and dto.amosUserName != null">
and amos_user_name like concat('%',#{dto.amosUserName},'%')
</if>
<if test="dto.post != '' and dto.post != null">
and post like concat('%',#{dto.post},'%')
<if test="dto.postName != '' and dto.postName != null">
and post_name like concat('%',#{dto.postName},'%')
</if>
</where>
order by rec_date
order by rec_date desc
</select>
</mapper>
\ No newline at end of file
......@@ -37,6 +37,7 @@ import org.springframework.core.env.Environment;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.restful.exception.GlobalExceptionHandler;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
import java.net.InetAddress;
......@@ -107,7 +108,7 @@ public class AmosTcmApplication {
String ip = InetAddress.getLocalHost().getHostAddress();
String port = env.getProperty("server.port");
String path = oConvertUtils.getString(env.getProperty("server.servlet.context-path"));
GlobalExceptionHandler.setAlwaysOk(true);
logger.info("\n----------------------------------------------------------\n\t"
+ "Application Amos-Biz-Boot is running! Access URLs:\n\t" + "Swagger文档: \thttp://" + ip + ":" + port
+ path + "/doc.html\n" + "----------------------------------------------------------");
......
......@@ -300,6 +300,14 @@ public class EquipmentCategoryController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/refresh")
@ApiOperation(httpMethod = "GET", value = "更新管辖分局树缓存,运维人员使用", notes = "更新管辖分局树缓存,运维人员使用")
public ResponseModel<Object> refreshTree(){
return ResponseHelper.buildResponse(equipmentCategoryService.creatTree());
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getTable")
@ApiOperation(httpMethod = "GET", value = "设备认领和设备管理通用接口", notes = "设备认领和设备管理通用接口")
public ResponseModel<Page<Map<String,Object>>> getTable(@RequestParam Map<String,Object> map) {
......
package com.yeejoin.amos.boot.module.tcm.biz.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.tcm.api.dto.EquEnterDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.tcm.api.entity.PageParam;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.tcm.api.service.ITzBaseEnterpriseInfoService;
import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ObjectUtils;
......@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
......@@ -172,14 +173,14 @@ public class TzBaseEnterpriseInfoController {
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/info", method = RequestMethod.GET)
@GetMapping(value = "/info")
@ApiOperation(httpMethod = "GET", value = "查询企业端当前登录人所在企业详情", notes = "查询企业端当前登录人所在企业详情")
public ResponseModel<IPage<TzBaseEnterpriseInfoDto>> pageInfo(PageParam pageParam) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if (ObjectUtils.isEmpty(reginParams)) {
return null;
List<CompanyModel> companyModels = FeignUtil.remoteCall(() -> Privilege.companyClient.queryListByChild(RequestContext.getExeUserId()));
if (companyModels.isEmpty()) {
throw new BadRequest("未指定人员归属单位信息");
}
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.page(pageParam, reginParams.getCompany().getCompanyName()));
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.page(pageParam, companyModels.get(0).getCompanyName()));
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
......@@ -201,14 +202,7 @@ public class TzBaseEnterpriseInfoController {
@ApiOperation(httpMethod = "POST", value = "修改企业信息", notes = "修改企业信息")
public ResponseModel<Object> adminInfoUpdate(@RequestBody Map<String, Object> map) {
Map<String, Object> result = iTzBaseEnterpriseInfoService.adminInfoUpdate(map);
if (result.containsKey("fail")) {
ResponseModel responseModel = new ResponseModel();
responseModel.setStatus(500);
responseModel.setDevMessage(result.get("fail").toString());
return responseModel;
} else {
return ResponseHelper.buildResponse(result.get("success"));
}
return ResponseHelper.buildResponse(result);
}
/**
......
......@@ -10,6 +10,7 @@ import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserQualifications;
import com.yeejoin.amos.boot.module.tcm.api.service.ITzsUserInfoService;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.TzsUserInfoServiceImpl;
import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
......@@ -18,11 +19,14 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -44,17 +48,17 @@ public class TzsUserInfoController extends BaseController {
public ResponseModel<TzsUserInfoDto> save(@RequestBody JSONObject map) {
Map<String, Object> userInfo = (Map<String, Object>)map.get("userInfo");
TzsUserInfoDto tzsUserInfo = JSON.parseObject(JSON.toJSONString(userInfo), TzsUserInfoDto.class);
AgencyUserModel me = Privilege.agencyUserClient.getme().getResult();
if(!ObjectUtils.isEmpty(me)){
List<CompanyModel> companys = me.getCompanys();
if (!ObjectUtils.isEmpty(companys)){
tzsUserInfo.setUnitName(companys.get(0).getCompanyName());
}
List<CompanyModel> companyModels = FeignUtil.remoteCall(()->Privilege.companyClient.queryListByChild(RequestContext.getExeUserId()));
if(companyModels.isEmpty()){
throw new BadRequest("未指定人员归属单位信息");
}
tzsUserInfo.setUnitName(companyModels.get(0).getCompanyName());
tzsUserInfo.setUnitCode(companyModels.get(0).getCompanyCode());
tzsUserInfo.setRecDate(new Date());
Map<String, Object> qualificationsInfo = (Map<String, Object>)map.get("qualificationsInfo");
Object subForm = qualificationsInfo.get("subForm");
List<TzsUserQualifications> list = JSON.parseArray(JSON.toJSONString(subForm), TzsUserQualifications.class);
tzsUserInfo.setPostName(tzsUserInfoServiceImpl.setPostName(tzsUserInfo.getPost()));
tzsUserInfo = tzsUserInfoServiceImpl.createWithModel(tzsUserInfo);
if (!ObjectUtils.isEmpty(list)){
tzsUserInfoService.addQualificationsMessage(String.valueOf(tzsUserInfo.getSequenceNbr()),list);
......@@ -70,17 +74,18 @@ public class TzsUserInfoController extends BaseController {
@RequestParam Long rowId) {
Map<String, Object> userInfo = (Map<String, Object>)map.get("userInfo");
TzsUserInfo tzsUserInfo = JSON.parseObject(JSON.toJSONString(userInfo), TzsUserInfo.class);
AgencyUserModel me = Privilege.agencyUserClient.getme().getResult();
if(!ObjectUtils.isEmpty(me)){
List<CompanyModel> companys = me.getCompanys();
if (!ObjectUtils.isEmpty(companys)){
tzsUserInfo.setUnitName(companys.get(0).getCompanyName());
}
List<CompanyModel> companyModels = FeignUtil.remoteCall(()->Privilege.companyClient.queryListByChild(RequestContext.getExeUserId()));
if(companyModels.isEmpty()){
throw new BadRequest("未指定人员归属单位信息");
}
tzsUserInfo.setUnitName(companyModels.get(0).getCompanyName());
tzsUserInfo.setUnitCode(companyModels.get(0).getCompanyCode());
Map<String, Object> qualificationsInfo = (Map<String, Object>)map.get("qualificationsInfo");
Object subForm = qualificationsInfo.get("subForm");
List<TzsUserQualifications> list = JSON.parseArray(JSON.toJSONString(subForm), TzsUserQualifications.class);
tzsUserInfo.setSequenceNbr(rowId);
tzsUserInfo.setRecDate(new Date());
tzsUserInfo.setPostName(tzsUserInfoServiceImpl.setPostName(tzsUserInfo.getPost()));
tzsUserInfoServiceImpl.updateById(tzsUserInfo);
if (!ObjectUtils.isEmpty(list)){
tzsUserInfoService.updateQualificationsMessage(String.valueOf(tzsUserInfo.getSequenceNbr()),list);
......@@ -113,10 +118,16 @@ public class TzsUserInfoController extends BaseController {
public ResponseModel<IPage<TzsUserInfoDto>> queryForPage(@RequestParam(value = "current") String current,
@RequestParam(value = "size") String size,
TzsUserInfoDto dto) {
List<CompanyModel> companyModels = FeignUtil.remoteCall(()->Privilege.companyClient.queryListByChild(RequestContext.getExeUserId()));
if(companyModels.isEmpty()){
throw new BadRequest("未指定人员归属单位信息");
}
dto.setUnitCode(companyModels.get(0).getCompanyCode());
Page<TzsUserInfoDto> page = new Page<>();
page.setCurrent(Long.parseLong(current));
page.setSize(Long.parseLong(size));
return ResponseHelper.buildResponse(tzsUserInfoService.page( dto,page));
return ResponseHelper.buildResponse(tzsUserInfoService.page(dto,page));
}
......
package com.yeejoin.amos.boot.module.tcm.biz.listener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.StartPlatformTokenService;
import com.yeejoin.amos.boot.module.tcm.biz.utils.DesUtil;
import com.yeejoin.amos.boot.module.tcm.biz.utils.RedisUtil;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqxListener;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.ApplicationModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqxListener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Description: mqtt监听服务
......@@ -33,78 +31,74 @@ import lombok.extern.slf4j.Slf4j;
@Component
@Slf4j
public class CarcylUnitInspectMqTtlListener extends EmqxListener {
@Value("${amos.secret.key}")
String secretKey;
@Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
String product;
@Value("${amos.secret.key}")
String secretKey;
@Value("${amos.system.user.app-key:AMOS_STUDIO}")
String appkey;
@Autowired
@Autowired
RedisUtil redisUtil;
@Value("${org.filter.group.seq}")
private Long groupSeq;
@Override
public void processMessage(String topic, MqttMessage message) throws Exception {
System.out.println(message);
JSONObject object = null;
try {
object = JSONObject.parseObject(message.toString());
} catch (Exception e) {
throw new Exception("公司同步消息解析失败");
}
RequestContext.setAppKey(appkey);
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
FeignClientResult<List<ApplicationModel>> aResult = Privilege.applicationClient.queryAgencyApplications();
List<ApplicationModel> aList = aResult.getResult();
List<String> appCodes = aList.stream().filter(i -> "监管端,企业端".indexOf(i.getAppName()) != -1)
.map(i -> i.getAppCode()).collect(Collectors.toList());
@Value("${org.filter.group.seq}")
private Long groupSeq;
@Autowired
StartPlatformTokenService platformTokenService;
@Override
public void processMessage(String topic, MqttMessage message) throws Exception {
System.out.println(message);
JSONObject object = null;
try {
object = JSONObject.parseObject(message.toString());
} catch (Exception e) {
throw new Exception("公司同步消息解析失败");
}
platformTokenService.setRequestContext();
FeignClientResult<List<ApplicationModel>> aResult = Privilege.applicationClient.queryAgencyApplications();
List<ApplicationModel> aList = aResult.getResult();
List<String> appCodes = aList.stream().filter(i -> "监管端,企业端".indexOf(i.getAppName()) != -1)
.map(i -> i.getAppCode()).collect(Collectors.toList());
String uuid = object.getString("id");
Long id = Long.valueOf(uuid.replaceAll("-","").hashCode());
FeignClientResult<CompanyModel> cResult = Privilege.companyClient.seleteOne(id);
if (cResult.getResult() == null) {
CompanyModel companyModel = new CompanyModel();
companyModel.setCompanyName(object.getString("inspect_unit_name"));
companyModel.setParentId(0L);
companyModel.setLevel("company");
companyModel.setSequenceNbr(id);
companyModel.setCompanyCode(object.getString("org_unit_name"));
companyModel.setCompanyType("检验单位");
Privilege.companyClient.create(companyModel);
}
Long id = Long.valueOf(uuid.replaceAll("-", "").hashCode());
FeignClientResult<CompanyModel> cResult = Privilege.companyClient.seleteOne(id);
if (cResult.getResult() == null) {
CompanyModel companyModel = new CompanyModel();
companyModel.setCompanyName(object.getString("inspect_unit_name"));
companyModel.setParentId(0L);
companyModel.setLevel("company");
companyModel.setSequenceNbr(id);
companyModel.setCompanyCode(object.getString("org_unit_name"));
companyModel.setCompanyType("检验单位");
Privilege.companyClient.create(companyModel);
}
String unitCode = object.getString("org_unit_name");
if (unitCode == null || unitCode.length() < 6) {
log.error("公司统一信用代码长度不够6位");
throw new Exception("公司统一信用代码长度不够6位");
}
String userName = unitCode.substring(unitCode.length() - 6, unitCode.length());
FeignClientResult<AgencyUserModel> uResult = Privilege.agencyUserClient.queryByUserName(userName);
if (uResult.getResult() == null) {
AgencyUserModel userModel = new AgencyUserModel();
userModel.setUserName(userName);
userModel.setRealName(userName);
userModel.setPassword(DesUtil.encode(userName, secretKey));
userModel.setRePassword(DesUtil.encode(userName, secretKey));
// userModel.setMobile(vo.getPhoneNo());
userModel.setLockStatus("UNLOCK");
FeignClientResult<List<RoleModel>> list = Privilege.roleClient.queryRoleList("检验单位", "admin");
Map<Long, List<Long>> orgRoles = new HashMap<>();
List<Long> roleIds = new ArrayList<>();
roleIds.add(list.getResult().get(0).getSequenceNbr());
orgRoles.put(id, roleIds);
userModel.setAppCodes(appCodes);
userModel.setOrgRoleSeqs(orgRoles);
FeignClientResult<AgencyUserModel> userResult =Privilege.agencyUserClient.create(userModel);
String[] userIds = {userResult.getResult().getUserId()};
String unitCode = object.getString("org_unit_name");
if (unitCode == null || unitCode.length() < 6) {
log.error("公司统一信用代码长度不够6位");
throw new Exception("公司统一信用代码长度不够6位");
}
String userName = unitCode.substring(unitCode.length() - 6, unitCode.length());
FeignClientResult<AgencyUserModel> uResult = Privilege.agencyUserClient.queryByUserName(userName);
if (uResult.getResult() == null) {
AgencyUserModel userModel = new AgencyUserModel();
userModel.setUserName(userName);
userModel.setRealName(userName);
userModel.setPassword(DesUtil.encode(userName, secretKey));
userModel.setRePassword(DesUtil.encode(userName, secretKey));
// userModel.setMobile(vo.getPhoneNo());
userModel.setLockStatus("UNLOCK");
FeignClientResult<List<RoleModel>> list = Privilege.roleClient.queryRoleList("检验单位", "admin");
Map<Long, List<Long>> orgRoles = new HashMap<>();
List<Long> roleIds = new ArrayList<>();
roleIds.add(list.getResult().get(0).getSequenceNbr());
orgRoles.put(id, roleIds);
userModel.setAppCodes(appCodes);
userModel.setOrgRoleSeqs(orgRoles);
FeignClientResult<AgencyUserModel> userResult = Privilege.agencyUserClient.create(userModel);
String[] userIds = {userResult.getResult().getUserId()};
// if (groupSeq != null) {
// Privilege.groupUserClient.create(groupSeq, Arrays.asList(userIds));
// }
}
}
}
}
}
......@@ -5,16 +5,15 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.tcm.api.service.IEquipmentCategoryService;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.StartPlatformTokenService;
import com.yeejoin.amos.boot.module.tcm.flc.api.service.IRegUnitInfoService;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.component.emq.EmqxListener;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
......@@ -39,23 +38,18 @@ public class PlatformUserTopicMessage extends EmqxListener {
@Autowired
RedisUtils redisUtil;
@Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
String product;
@Value("${amos.system.user.app-key:AMOS_STUDIO}")
String appKey;
@Autowired
IEquipmentCategoryService equipmentCategoryService;
@Autowired
IRegUnitInfoService regUnitInfoService;
@Autowired
StartPlatformTokenService platformTokenService;
@Override
public void processMessage(String topic, MqttMessage message) {
RequestContext.setAppKey(appKey);
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
platformTokenService.setRequestContext();
JSONObject jsonObject = JSON.parseObject(message.toString());
JSONObject result = jsonObject.getJSONObject("result");
JSONObject dataResult = result.getJSONObject("result");
......
......@@ -5,10 +5,10 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.StartPlatformTokenService;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.TzBaseEnterpriseInfoServiceImpl;
import com.yeejoin.amos.boot.module.tcm.biz.utils.RedisUtil;
import com.yeejoin.amos.boot.module.tcm.flc.api.feign.AccessFeignService;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import lombok.extern.slf4j.Slf4j;
......@@ -16,14 +16,16 @@ import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqxListener;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.Map;
@Component
@Slf4j
......@@ -40,11 +42,8 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
@Autowired
RedisUtil redisUtil;
@Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
String product;
@Value("${amos.system.user.app-key:AMOS_STUDIO}")
String appKey;
@Autowired
StartPlatformTokenService platformTokenService;
@Override
public void processMessage(String s, MqttMessage message) throws Exception {
......@@ -58,15 +57,13 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
} catch (Exception e) {
throw new Exception("公司同步消息解析失败");
}
RequestContext.setAppKey(appKey);
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
platformTokenService.setRequestContext();
//判断库中业务tz_base_enterprise_info是否存在
QueryWrapper<TzBaseEnterpriseInfo> queryWrapper = new QueryWrapper<TzBaseEnterpriseInfo>();
queryWrapper.eq("use_code",object.getString("unit_code"));
queryWrapper.eq("use_code", object.getString("unit_code"));
TzBaseEnterpriseInfo tzBaseEnterprisePrivilegeInfo = tzBaseEnterpriseInfoService.getOne(queryWrapper);
if(!ValidationUtil.isEmpty(tzBaseEnterprisePrivilegeInfo)){
if (!ValidationUtil.isEmpty(tzBaseEnterprisePrivilegeInfo)) {
accessFeignService.updateSyncCompanyState(object.getString("sequence_nbr"));
return;
}
......@@ -95,14 +92,14 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
//业务表更新条件构造器
UpdateWrapper<TzBaseEnterpriseInfo> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("use_code",object.getString("unit_code"));
updateWrapper.eq("use_code", object.getString("unit_code"));
String regCode = object.getString("reg_code");
CompanyModel supervisePrivilegeCompanyModel;
if (!ValidationUtil.isEmpty(regCode)) {
supervisePrivilegeCompanyModel = Privilege.companyClient.queryByCompanyCode(regCode).getResult();
if(ValidationUtil.isEmpty(supervisePrivilegeCompanyModel)){
if (ValidationUtil.isEmpty(supervisePrivilegeCompanyModel)) {
supervisePrivilegeCompanyModel = Privilege.companyClient.queryByCompanyCode("610000").getResult();
if (ValidationUtil.isEmpty(supervisePrivilegeCompanyModel)) {
......@@ -120,37 +117,37 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
tzBaseEnterpriseInfo.setSuperviseOrgCode(supervisePrivilegeCompanyModel.getOrgCode());
tzBaseEnterpriseInfo.setSuperviseOrgName(supervisePrivilegeCompanyModel.getCompanyName());
if(ValidationUtil.isEmpty(tzBaseEnterpriseInfo.getUnitType())){
if (ValidationUtil.isEmpty(tzBaseEnterpriseInfo.getUnitType())) {
tzBaseEnterpriseInfo.setUnitType("");
}
try {
if (tzBaseEnterprisePrivilegeInfo == null ) {
if (tzBaseEnterprisePrivilegeInfo == null) {
tzBaseEnterpriseInfoService.save(tzBaseEnterpriseInfo);
accessFeignService.updateSyncCompanyState(object.getString("sequence_nbr"));
return;
}
} catch(Exception e) {
} catch (Exception e) {
logger.error("【" + object.getString("unit_name") + "】许可信息同步【失败】:" + e.getMessage());
}
}
public Map<String, CompanyModel> getCompanyInfoMap(Collection companyModels,Map<String, CompanyModel> map){
if(companyModels == null){
public Map<String, CompanyModel> getCompanyInfoMap(Collection companyModels, Map<String, CompanyModel> map) {
if (companyModels == null) {
return map;
}
Iterator iter = companyModels.iterator();
while(iter.hasNext()){
while (iter.hasNext()) {
String json = JSON.toJSONString(iter.next());
CompanyModel companyModel = JSON.parseObject(json,CompanyModel.class);
CompanyModel companyModel = JSON.parseObject(json, CompanyModel.class);
String code = companyModel.getCompanyCode();
if(code.length() >=6){
if (code.length() >= 6) {
code = code.substring(0, 6);
}
map.put(code,companyModel);
getCompanyInfoMap(companyModel.getChildren(),map);
map.put(code, companyModel);
getCompanyInfoMap(companyModel.getChildren(), map);
}
return map;
}
......
......@@ -30,6 +30,7 @@ import com.yeejoin.amos.boot.module.tcm.flc.api.feign.AccessFeignService;
import com.yeejoin.amos.boot.module.tcm.flc.api.mapper.RegUnitInfoMapper;
import com.yeejoin.amos.boot.module.tcm.flc.biz.service.impl.RegUnitIcServiceImpl;
import com.yeejoin.amos.boot.module.tcm.flc.biz.service.impl.RegUnitInfoServiceImpl;
import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
......@@ -44,6 +45,7 @@ import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.text.ParseException;
import java.util.*;
......@@ -63,15 +65,6 @@ public class TzBaseEnterpriseInfoServiceImpl
@Autowired
RedisUtil redisUtil;
@Value("${admin.product}")
String product;
@Value("${admin.product.web}")
String webProduct;
@Value("${admin.appkey}")
String appkey;
@Autowired
private TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
......@@ -85,7 +78,7 @@ public class TzBaseEnterpriseInfoServiceImpl
RegUnitInfoServiceImpl regUnitInfoService;
@Autowired
private IBaseUnitLicenceService iBaseUnitLicenceService;
private StartPlatformTokenService platformTokenService;
@Autowired
private SpeUseUnitServiceImpl speUseUnitService;
......@@ -101,18 +94,6 @@ public class TzBaseEnterpriseInfoServiceImpl
@Autowired
RegUnitInfoMapper regUnitInfoMapper;
@Value("${tzs.admin.name:tzs_admin}")
private String tzsAdminName;
@Value("${tzs.admin.pwd:a1234567}")
private String tzsAdminPwd;
@Value("${redis.cache.failure.time}")
private Long redisRegionTimeSecond;
/**机器人用户token缓存key */
public static final String TZS_USER_TOKEN = "TZS_USER_TOKEN";
/**
* 企业管理员变更缓存key前缀
*/
......@@ -313,10 +294,7 @@ public class TzBaseEnterpriseInfoServiceImpl
@Override
public String syncEnterpriseInfo() {
RequestContext.setAppKey(appkey);
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
platformTokenService.setRequestContext();
List<TzBaseEnterpriseInfo> baseEnterpriseInfoList = new ArrayList<>();
//获取平台企业表企业名称及sequence_code,并装入map中
......@@ -536,54 +514,33 @@ public class TzBaseEnterpriseInfoServiceImpl
return String.join(",", res);
}
@Override
public Map<String, Object> adminInfoUpdate(Map<String, Object> map) {
//每一个企业只有一个管理员,所以当前登录用户即管理员用户
AgencyUserModel me = Privilege.agencyUserClient.getme().getResult();
RequestContext.setAppKey(appkey);
RequestContext.setProduct(webProduct);
//获取机器人的token,获取不到则去登录
if (ObjectUtils.isEmpty(redisUtil.get(TZS_USER_TOKEN))) {
loginCtiUser();
}
RequestContext.setToken(String.valueOf(redisUtil.get(TZS_USER_TOKEN)));
//自己不能修改自己 所以需要设置为机器人
platformTokenService.setRequestContext();
Map<String, Object> resultMap = new HashMap<>();
if (!ObjectUtils.isEmpty(me)) {
RegUnitInfo regUnitInfo = new RegUnitInfo();
String unitCode = String.valueOf(map.get("unitCode"));
regUnitInfo.setAdminName(String.valueOf(map.get("adminName")));
regUnitInfo.setAdminIdNumber(String.valueOf(map.get("adminIdNumber")));
regUnitInfo.setAdminIdCardPhoto(JSON.toJSONString(map.get("adminIdCardPhoto")));
regUnitInfo.setAdminTel(String.valueOf(map.get("adminTel")));
me.setMobile(String.valueOf(map.get("adminTel")));
me.setRealName(String.valueOf(map.get("adminName")));
FeignClientResult<AgencyUserModel> updateResult = Privilege.agencyUserClient.update(me, String.valueOf(map.get("adminUserId")));
if (200 == updateResult.getStatus()) {
regUnitInfoService.update(regUnitInfo, new QueryWrapper<RegUnitInfo>().eq("unit_code", unitCode));
resultMap.put("success", regUnitInfo);
redisUtil.del(adminChange + map.get("adminTel"));
} else {
resultMap.put("fail", "平台用户修改失败,请联系管理员");
}
} else {
resultMap.put("fail", "平台用户不存在");
RegUnitInfo regUnitInfo = new RegUnitInfo();
String unitCode = String.valueOf(map.get("unitCode"));
regUnitInfo.setAdminName(String.valueOf(map.get("adminName")));
regUnitInfo.setAdminIdNumber(String.valueOf(map.get("adminIdNumber")));
regUnitInfo.setAdminIdCardPhoto(JSON.toJSONString(map.get("adminIdCardPhoto")));
regUnitInfo.setAdminTel(String.valueOf(map.get("adminTel")));
me.setMobile(regUnitInfo.getAdminTel());
me.setRealName(String.valueOf(map.get("adminName")));
try {
Privilege.agencyUserClient.update(me, me.getUserId());
regUnitInfoService.update(regUnitInfo, new LambdaQueryWrapper<RegUnitInfo>().eq(RegUnitInfo::getUnitCode, unitCode));
} catch (Exception e) {
log.error(e.getMessage(),e);
throw new BadRequest(e.getMessage());
}
resultMap.put("success", regUnitInfo);
redisUtil.del(adminChange + map.get("adminTel"));
return resultMap;
}
//机器人用户登录
private void loginCtiUser() {
String passwd = DesUtil.encode(tzsAdminPwd, "qaz");
IdPasswordAuthModel loninData = new IdPasswordAuthModel();
loninData.setLoginId(tzsAdminName);
loninData.setPassword(passwd);
FeignClientResult loginResult = Privilege.authClient.idpassword(loninData);
if(loginResult.getStatus() == 200) {
HashMap resultMap = (HashMap) loginResult.getResult();
redisUtil.set(TZS_USER_TOKEN, resultMap.get("token").toString(), redisRegionTimeSecond);
}
}
public void setSpeUseUnitState(int state,SpeUseUnit speUseUnit){
speUseUnit.setSyncState(state);
speUseUnitService.updateById(speUseUnit);
......
......@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
......@@ -19,6 +18,7 @@ import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserInfoMapper;
import com.yeejoin.amos.boot.module.tcm.api.service.ITzsUserInfoService;
import com.yeejoin.amos.boot.module.tcm.api.vo.TzsUserInfoVo;
import com.yeejoin.amos.boot.module.tcm.api.vo.TzsUserQualificationsVo;
import com.yeejoin.amos.boot.module.tcm.flc.biz.service.impl.RegUnitInfoServiceImpl;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
......@@ -32,6 +32,7 @@ import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserInfo, TzsUserInfoMapper> implements ITzsUserInfoService {
......@@ -45,8 +46,11 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
@Autowired
private RedisUtils redisUtils;
@Autowired
private DataDictionaryMapper dataDictionaryMapper;
RegUnitInfoServiceImpl regUnitInfoService;
//企业人员角色
private final String USER_ROLE = "QYRYJS";
//企业人员用户组
......@@ -57,38 +61,37 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
@Autowired
private TzsUserQualificationsServiceImpl tzsUserQualificationsService;
@Override
public Page<TzsUserInfoDto> page(TzsUserInfoDto dto, Page<TzsUserInfoDto> page) {
Page<TzsUserInfoDto> tzsUserInfoDtoPage = tzsUserInfoMapper.selectPageMessage(page, dto);
tzsUserInfoDtoPage.getRecords().forEach(item ->{
if (!ObjectUtils.isEmpty(item.getProfile())){
tzsUserInfoDtoPage.getRecords().forEach(item -> {
if (!ObjectUtils.isEmpty(item.getProfile())) {
List<CommonFile> commonFiles = JSON.parseArray(item.getProfile(), CommonFile.class);
item.setProfile(commonFiles.get(0).getUrl());
}
if (!ObjectUtils.isEmpty(item.getBirthday())){
if (!ObjectUtils.isEmpty(item.getBirthday())) {
int age = getAge(item.getBirthday());
item.setAge(Math.max(age, 0));
}
if (!ObjectUtils.isEmpty(item.getPost())){
JSONArray objects = JSON.parseArray(item.getPost());
item.setPost(null);
LambdaQueryWrapper<DataDictionary> lambda = new QueryWrapper<DataDictionary>().lambda();
lambda.in(DataDictionary::getSequenceNbr, objects);
List<DataDictionary> dataDictionaries = dataDictionaryMapper.selectList(lambda);
dataDictionaries.forEach(post ->{
if (!ObjectUtils.isEmpty(item.getPost())){
item.setPost(item.getPost() + "," +post.getName());
}else {
item.setPost(post.getName());
}
});
}
});
return tzsUserInfoDtoPage;
}
public String setPostName(String postKey) {
JSONArray dictIds = JSON.parseArray(postKey);
if (dictIds == null || dictIds.isEmpty()) {
return "";
}
LambdaQueryWrapper<DataDictionary> lambda = new QueryWrapper<DataDictionary>().lambda();
lambda.in(DataDictionary::getSequenceNbr, dictIds);
List<DataDictionary> dataDictionaries = regUnitInfoService.initAllDataDictionaryList();
List<DataDictionary> postDataList = dataDictionaries.stream().filter(d -> dictIds.stream().anyMatch(id -> id.toString().equals(d.getSequenceNbr().toString()))).collect(Collectors.toList());
return postDataList.stream().map(DataDictionary::getName).collect(Collectors.joining(","));
}
public int getAge(Date birth) {
private int getAge(Date birth) {
Calendar cal = Calendar.getInstance();
int thisYear = cal.get(Calendar.YEAR);
int thisMonth = cal.get(Calendar.MONTH);
......@@ -151,8 +154,8 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
Map<String, Object> maps = new HashMap<>();
TzsUserInfo tzsUserInfo = tzsUserInfoMapper.selectById(id);
TzsUserInfoVo tzsUserInfoVo = new TzsUserInfoVo();
BeanUtils.copyProperties(tzsUserInfo, tzsUserInfoVo, "identification","profile","post");
if (!ObjectUtils.isEmpty(tzsUserInfo.getPost())){
BeanUtils.copyProperties(tzsUserInfo, tzsUserInfoVo, "identification", "profile", "post");
if (!ObjectUtils.isEmpty(tzsUserInfo.getPost())) {
tzsUserInfoVo.setPost(JSON.parseArray(tzsUserInfo.getPost()));
}
tzsUserInfoVo.setIdentification(ObjectUtils.isEmpty(tzsUserInfo.getIdentification()) ? new ArrayList() : JSON.parseArray(tzsUserInfo.getIdentification()));
......@@ -162,15 +165,15 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
lambda.eq(TzsUserQualifications::getUserInfoId, id);
ArrayList<TzsUserQualificationsVo> tzsUserQualificationsVos = new ArrayList<>();
List<TzsUserQualifications> list = tzsUserQualificationsService.getBaseMapper().selectList(lambda);
list.forEach(item ->{
list.forEach(item -> {
TzsUserQualificationsVo vo = new TzsUserQualificationsVo();
BeanUtils.copyProperties(item, vo,"file");
BeanUtils.copyProperties(item, vo, "file");
vo.setFile(ObjectUtils.isEmpty(item.getFile()) ? new ArrayList() : JSON.parseArray(item.getFile()));
tzsUserQualificationsVos.add(vo);
});
HashMap<String, Object> subForm = new HashMap<>();
subForm.put("subForm", tzsUserQualificationsVos);
maps.put("qualificationsInfo",subForm);
maps.put("qualificationsInfo", subForm);
return maps;
}
......@@ -262,7 +265,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
userResult = Privilege.agencyUserClient.unlockUsers(amosUserId);
lockStatus = 200 == userResult.getStatus() ? UNLOCK : LOCK;
}
if(!ObjectUtils.isEmpty(lockStatus)){
if (!ObjectUtils.isEmpty(lockStatus)) {
TzsUserInfo tzsUserInfo = new TzsUserInfo();
tzsUserInfo.setSequenceNbr(sequenceNbr);
tzsUserInfo.setLockStatus(lockStatus);
......
......@@ -115,7 +115,7 @@ public class RegUnitInfoController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "单位注册校验", notes = "单位注册校验")
public ResponseModel<RegUnitInfoDto> unitCheck(@PathVariable String unitCode,
@RequestParam String unitType,
@RequestParam String companyName) {
@RequestParam(required = false) String companyName) {
if (ValidationUtil.isEmpty(unitCode)) {
throw new BadRequest("单位编码不能为空");
}
......@@ -159,8 +159,6 @@ public class RegUnitInfoController extends BaseController {
return ResponseHelper.buildResponse(iRegUnitInfoService.getDictionaryWithTreeFillId(type));
}
// @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/management-unit/tree")
@ApiOperation(httpMethod = "GET", value = "管辖机构树", notes = "管辖机构树")
......
......@@ -374,6 +374,9 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
if (resultMap == null){
throw new BadRequest("工商信息接口查询失败,请稍后再试!");
}
if (ObjectUtils.isEmpty(resultMap)) {
throw new BadRequest("未查询到企业信息,请核对!");
}
if(!ValidationUtil.isEmpty(resultMap)){
// 2.2 工商信息组装
String area = String.valueOf(resultMap.get("area"));
......@@ -479,7 +482,7 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
"getName", "getParent", null, "getCode");
}
private List<DataDictionary> initAllDataDictionaryList() {
public List<DataDictionary> initAllDataDictionaryList() {
List<DataDictionary> dictionaries;
// 使用双重检查锁定
if (redisUtil.hasKey(BizCommonConstant.TCM_ALL_DATA_DICT_REDIS_KEY)) {
......
......@@ -14,7 +14,7 @@ eureka.instance.metadata-map.management.api-docs=http://172.16.3.34:${server.por
eureka.instance.ip-address=172.16.3.34
## ES properties:
elasticsearch.username=elastic
elasticsearch.password=a123456
elasticsearch.password=123456
spring.elasticsearch.rest.uris=http://172.16.10.230:9200
## unit(h)
alertcall.es.synchrony.time=48
......
......@@ -132,11 +132,7 @@ tzs.wechat.tempId.supervise=P5XGbszS2Pc6kynvGjzPpZ--ikAwDZo6O7WdJ2EUxtE
## \uFFFD\uFFFD\uFFFD\u06BA\u0172\uFFFD\uFFFD\uFFFD\uFFFD\u00FB\uFFFDid\uFFFD\uFFFD\u01BD\u0328userId\uFFFD\uFFFD
tzs.wechat.test.userId=3393279
admin.product=AMOS-SERVICE-ADMIN
admin.appkey=AMOS_ADMIN
admin.user=admin_tzs
admin.password=a1234560
admin.product.web=AMOS-WEB-ADMIN
amos.secret.key=qazknife4j.production=false
knife4j.production=false
......
......@@ -21,7 +21,7 @@ public class EsElevator {
/** 主键 */
@Id
private Long sequenceNbr;
private String sequenceNbr;
/**
* 注册编码
......
package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ymt.api.entity.EsElevator;
import com.yeejoin.amos.boot.module.ymt.api.entity.SuperviseInfo;
import org.apache.ibatis.annotations.Param;
......@@ -21,4 +22,6 @@ public interface SuperviseInfoMapper extends BaseMapper<SuperviseInfo> {
List<String> selectSuperviseCodeList(@Param("records") List<String> records);
void deleteDataAll(@Param("records") List<String> records);
EsElevator selectElevatorEsList(String record);
}
......@@ -101,29 +101,29 @@
</update>
<select id="checkCode" resultType="java.util.Map">
SELECT
<if test="equCode != null and equCode != ''">
(SELECT COUNT ( 1 ) FROM idx_biz_jg_register_info ibjri
SELECT 1
<if test="useOrgCode != null and useOrgCode != ''">
,(SELECT COUNT ( 1 ) FROM idx_biz_jg_register_info ibjri
LEFT JOIN idx_biz_jg_other_info ibjoi ON ibjoi."RECORD" = ibjri."RECORD"
WHERE ibjri."EQU_CODE" = #{equCode}
<if test="type != 'save' ">
and ibjri."RECORD" != #{record} and ibjoi."CLAIM_STATUS" = '已认领'
WHERE ibjri."USE_ORG_CODE" = #{useOrgCode} and ibjoi."CLAIM_STATUS" = '已认领'
<if test="type != 'save'">
and ibjri."RECORD" != #{record}
</if>
) AS equCode,
) AS useOrgCode
</if>
<if test="useOrgCode != null and useOrgCode != ''">
(SELECT COUNT ( 1 ) FROM idx_biz_jg_register_info ibjri
<if test="equCode != null and equCode != ''">
,(SELECT COUNT ( 1 ) FROM idx_biz_jg_register_info ibjri
LEFT JOIN idx_biz_jg_other_info ibjoi ON ibjoi."RECORD" = ibjri."RECORD"
WHERE ibjri."USE_ORG_CODE" = #{useOrgCode}
<if test="type != 'save'">
and ibjri."RECORD" != #{record} and ibjoi."CLAIM_STATUS" = '已认领'
WHERE ibjri."EQU_CODE" = #{equCode} and ibjoi."CLAIM_STATUS" = '已认领'
<if test="type != 'save' ">
and ibjri."RECORD" != #{record}
</if>
) AS useOrgCode,
) AS equCode
</if>
<if test="code96333 != null and code96333 != ''">
(SELECT COUNT ( 1 ) FROM idx_biz_jg_other_info ibjoi WHERE ibjoi."CODE96333" = #{code96333}
,(SELECT COUNT ( 1 ) FROM idx_biz_jg_other_info ibjoi WHERE ibjoi."CODE96333" = #{code96333} and ibjoi."CLAIM_STATUS" = '已认领'
<if test="type != 'save'">
and ibjoi."RECORD" != #{record} and ibjoi."CLAIM_STATUS" = '已认领'
and ibjoi."RECORD" != #{record}
</if>
) AS code
</if>
......
......@@ -108,4 +108,28 @@
#{record}
</foreach>
</delete>
<select id="selectElevatorEsList" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.EsElevator">
SELECT
jui.RECORD AS sequenceNbr,
ifnull ( jui.USE_INNER_CODE, null ) AS innerNum,
ifnull ( joi.CODE96333, null ) AS rescueCode,
ifnull ( joi.SUPERVISORY_CODE, null ) AS registerCode,
ifnull ( jui.ADDRESS, null ) AS address,
ifnull ( jui.PROVINCE_NAME, null ) AS province,
ifnull ( jui.CITY_NAME, null ) AS city,
ifnull ( jui.COUNTY_NAME, null ) AS district,
ifnull ( jui."LONGITUDE_LATITUDE"::json->> 'latitude', null ) AS latitude,
ifnull ( jui."LONGITUDE_LATITUDE"::json->> 'longitude', null ) AS longitude,
concat(jui.PROVINCE, '#',jui.CITY, '#',jui.COUNTY) AS regionCode
FROM
idx_biz_jg_use_info jui
LEFT JOIN idx_biz_jg_other_info joi ON jui.RECORD = joi.RECORD
LEFT JOIN idx_biz_jg_register_info jri ON jri.RECORD = jui.RECORD
WHERE jri.EQU_LIST = '3000'
AND joi.CLAIM_STATUS = '已认领'
AND jui.RECORD = #{record}
ORDER BY jui.REC_DATE
</select>
</mapper>
\ No newline at end of file
......@@ -5,6 +5,7 @@ import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
......@@ -13,39 +14,37 @@ import org.springframework.context.annotation.Configuration;
@Slf4j
public class RedissonManager {
//集群环境使用
// @Value("${spring.redis.cluster.nodes}")
// private String clusterNodes;
@Value("${spring.redis.cluster.nodes:default}")
private String clusterNodes;
//通用
@Value("${spring.redis.password}")
private String password;
//单机环境使用
@Value("${spring.redis.host}")
@Value("${spring.redis.host:default}")
private String host;
//单机环境使用
@Value("${spring.redis.port}")
@Value("${spring.redis.port:default}")
private String port;
@Bean
@ConditionalOnProperty(name = "spring.redis.mode", havingValue = "cluster")
public RedissonClient redissonClient() {
Config config = new Config();
config.useClusterServers()
.addNodeAddress(clusterNodes.split(","))
.setPassword(password);
return Redisson.create(config);
}
@Bean
public RedissonClient redissonClient() {
//集群环境使用
// log.info("clusterNodes{}",clusterNodes);
// log.info("password{}",password);
//
// Config config = new Config();
// config.useClusterServers()
// .addNodeAddress(clusterNodes.split(","))
// .setPassword(password);
// return Redisson.create(config);
//单机打包使用
@ConditionalOnProperty(name = "spring.redis.mode", havingValue = "singleton", matchIfMissing = true)
public RedissonClient redissonSingletonClient() {
// 单机打包使用
Config config = new Config();
config.useSingleServer().setAddress(host + ":" + port).setPassword(password);
return Redisson.create(config);
......
......@@ -422,7 +422,7 @@ public class ElevatorController extends BaseController {
elevatorPage = elevatorService.page(elevatorPage);
for (Elevator el:elevatorPage.getRecords()
) {
esElevatorService.saveEsElevatorToES(el);
// esElevatorService.saveEsElevatorToES(el);
}
}
}
......
......@@ -400,27 +400,22 @@ public class EquipmentCategoryController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/exportImageZip")
@ApiOperation(httpMethod = "GET", value = "设备监管码、电梯码批量导出压缩包", notes = "设备监管码、电梯码批量导出压缩包")
public void exportImageZip(HttpServletResponse response, EquipExportDto dto, @RequestParam("type") String type, @RequestParam("pageNum") Long pageNum, @RequestParam("size") Long size) throws IOException {
public void exportImageZip(HttpServletResponse response, @RequestParam Map<String, Object> map) throws IOException {
String type = String.valueOf(map.get("type"));
ImageSizeEnums imageSizeEnums = ImageSizeEnums.getEnumByCode(type);
//创建list 存放图片
List<File> fileList = new ArrayList<>();
if (!ObjectUtils.isEmpty(dto.getUSE_PLACE())) {
String address = dto.getUSE_PLACE().substring(1, dto.getUSE_PLACE().length() - 1);
address = address.replace(", ", "/");
dto.setUSE_PLACE(address);
}
List<EquipExportVo> equipExportData = equipmentCategoryServiceImpl.exportImageZip(dto, pageNum, size);
List<EquipExportVo> unique = equipExportData.stream().filter(item -> !ObjectUtils.isEmpty(item.getSupervisoryCode())).collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(EquipExportVo::getSupervisoryCode))), ArrayList::new)
);
if (ImageSizeEnums.DT.getCode().equals(type)){
unique = unique.stream().filter(item -> !ObjectUtils.isEmpty(item.getCode96333())).collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(EquipExportVo::getCode96333))), ArrayList::new)
);
JSONObject jsonObject = new JSONObject(map);
Page<JSONObject> pageList = equipmentCategoryServiceImpl.queryByKeys(jsonObject);
List<JSONObject> equipExportData;
if (map.containsKey("ids") && !ObjectUtils.isEmpty(map.get("ids"))) {
List<String> strings = Arrays.asList(String.valueOf(map.get("ids")).split(","));
equipExportData = pageList.getRecords().stream().filter(item -> strings.contains(String.valueOf(item.get("SEQUENCE_NBR")))).collect(Collectors.toList());
} else {
equipExportData = pageList.getRecords();
}
if (ObjectUtils.isEmpty(unique)){
if (ObjectUtils.isEmpty(equipExportData)) {
File zipFile = File.createTempFile("设备码信息", ".zip");
File nullFile = File.createTempFile("当前导出数据为空+", ".txt");
fileList.add(nullFile);
......@@ -429,18 +424,22 @@ public class EquipmentCategoryController extends BaseController {
ImageUtils.downloadResourceZip("设备码信息.zip", zipFile.getAbsolutePath(), response);
zipFile.delete();
}
for (EquipExportVo equipExportDatum : unique) {
InputStream bgImgFile = getClass().getClassLoader().getResourceAsStream("temp/" + imageSizeEnums.getBgPath());
if (ImageSizeEnums.DT.getCode().equals(type) && !ObjectUtils.isEmpty(equipExportDatum.getCode96333()) && !ObjectUtils.isEmpty(equipExportDatum.getSupervisoryCode())) {
File QrCodeFile = File.createTempFile(equipExportDatum.getCode96333() + "+", ".png");
ImageUtils.creatQRCode(QrCodeFile, bgImgFile, imageSizeEnums.getWith(), imageSizeEnums.getHeight(), REGULATORY_CODE_PREFIX + equipExportDatum.getSupervisoryCode(), "", equipExportDatum.getCode96333(), imageSizeEnums.getSize(), imageSizeEnums.getImagesX(), imageSizeEnums.getImagesY(), imageSizeEnums.getText1X(), imageSizeEnums.getText1Y(), imageSizeEnums.getText2X(), imageSizeEnums.getText2Y());
if (ImageSizeEnums.DT.getCode().equals(type)) {
for (JSONObject equipExportDatum : equipExportData.stream().filter(item -> !ObjectUtils.isEmpty(item.get("CODE96333"))).collect(Collectors.toList())) {
InputStream bgImgFile = getClass().getClassLoader().getResourceAsStream("temp/" + imageSizeEnums.getBgPath());
File QrCodeFile = File.createTempFile(equipExportDatum.get("CODE96333") + "+", ".png");
ImageUtils.creatQRCode(QrCodeFile, bgImgFile, imageSizeEnums.getWith(), imageSizeEnums.getHeight(), REGULATORY_CODE_PREFIX + equipExportDatum.get("SUPERVISORY_CODE"), "", String.valueOf(equipExportDatum.get("CODE96333")), imageSizeEnums.getSize(), imageSizeEnums.getImagesX(), imageSizeEnums.getImagesY(), imageSizeEnums.getText1X(), imageSizeEnums.getText1Y(), imageSizeEnums.getText2X(), imageSizeEnums.getText2Y());
fileList.add(new File(QrCodeFile.getAbsolutePath()));
} else if (!ObjectUtils.isEmpty(equipExportDatum.getSupervisoryCode())) {
File QrCodeFile = File.createTempFile(equipExportDatum.getSupervisoryCode() + "+", ".png");
ImageUtils.creatQRCode(QrCodeFile, bgImgFile, imageSizeEnums.getWith(), imageSizeEnums.getHeight(), REGULATORY_CODE_PREFIX + equipExportDatum.getSupervisoryCode(), "", equipExportDatum.getSupervisoryCode(), imageSizeEnums.getSize(), imageSizeEnums.getImagesX(), imageSizeEnums.getImagesY(), imageSizeEnums.getText1X(), imageSizeEnums.getText1Y(), imageSizeEnums.getText2X(), imageSizeEnums.getText2Y());
bgImgFile.close();
}
} else {
for (JSONObject equipExportDatum : equipExportData.stream().filter(item -> !ObjectUtils.isEmpty(item.get("SUPERVISORY_CODE"))).collect(Collectors.toList())) {
InputStream bgImgFile = getClass().getClassLoader().getResourceAsStream("temp/" + imageSizeEnums.getBgPath());
File QrCodeFile = File.createTempFile(equipExportDatum.get("SUPERVISORY_CODE") + "+", ".png");
ImageUtils.creatQRCode(QrCodeFile, bgImgFile, imageSizeEnums.getWith(), imageSizeEnums.getHeight(), REGULATORY_CODE_PREFIX + equipExportDatum.get("SUPERVISORY_CODE"), "", String.valueOf(equipExportDatum.get("SUPERVISORY_CODE")), imageSizeEnums.getSize(), imageSizeEnums.getImagesX(), imageSizeEnums.getImagesY(), imageSizeEnums.getText1X(), imageSizeEnums.getText1Y(), imageSizeEnums.getText2X(), imageSizeEnums.getText2Y());
fileList.add(new File(QrCodeFile.getAbsolutePath()));
bgImgFile.close();
}
bgImgFile.close();
}
File zipFile = File.createTempFile("设备码信息", ".zip");
// 调用压缩方法
......@@ -451,4 +450,5 @@ public class EquipmentCategoryController extends BaseController {
}
}
......@@ -11,6 +11,7 @@ import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import com.yeejoin.amos.boot.module.ymt.biz.service.impl.StartPlatformTokenService;
import com.yeejoin.amos.boot.module.ymt.biz.utils.DesUtil;
import com.yeejoin.amos.boot.module.ymt.biz.utils.RedisUtil;
import org.eclipse.paho.client.mqttv3.MqttMessage;
......@@ -44,11 +45,6 @@ public class BaseEnterpriseMqTtlListener extends EmqxListener {
@Value("${amos.secret.key}")
String secretKey;
@Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
String product;
@Value("${amos.system.user.app-key:AMOS_STUDIO}")
String appkey;
@Autowired
RedisUtil redisUtil;
......@@ -58,6 +54,9 @@ public class BaseEnterpriseMqTtlListener extends EmqxListener {
@Value("${org.filter.group.seq}")
private Long groupSeq;
@Autowired
StartPlatformTokenService platformTokenService;
@Override
public void processMessage(String topic, MqttMessage message) throws Exception {
System.out.println(message);
......@@ -67,9 +66,7 @@ public class BaseEnterpriseMqTtlListener extends EmqxListener {
} catch (Exception e) {
throw new Exception("公司同步消息解析失败");
}
RequestContext.setAppKey(appkey);
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
platformTokenService.getToken();
FeignClientResult<List<ApplicationModel>> aResult = Privilege.applicationClient.queryAgencyApplications();
List<ApplicationModel> aList = aResult.getResult();
// List<String> appCodes = aList.stream().filter(i -> "监管端,企业端".indexOf(i.getAppName()) != -1)
......
package com.yeejoin.amos.boot.module.ymt.biz.listener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.ymt.biz.service.impl.StartPlatformTokenService;
import com.yeejoin.amos.boot.module.ymt.biz.utils.DesUtil;
import com.yeejoin.amos.boot.module.ymt.biz.utils.RedisUtil;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqxListener;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.ApplicationModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqxListener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Description: mqtt监听服务
......@@ -33,78 +31,74 @@ import lombok.extern.slf4j.Slf4j;
@Component
@Slf4j
public class CarcylUnitInspectMqTtlListener extends EmqxListener {
@Value("${amos.secret.key}")
String secretKey;
@Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
String product;
@Value("${amos.secret.key}")
String secretKey;
@Value("${amos.system.user.app-key:AMOS_STUDIO}")
String appkey;
@Autowired
@Autowired
RedisUtil redisUtil;
@Value("${org.filter.group.seq}")
private Long groupSeq;
@Override
public void processMessage(String topic, MqttMessage message) throws Exception {
System.out.println(message);
JSONObject object = null;
try {
object = JSONObject.parseObject(message.toString());
} catch (Exception e) {
throw new Exception("公司同步消息解析失败");
}
RequestContext.setAppKey(appkey);
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
FeignClientResult<List<ApplicationModel>> aResult = Privilege.applicationClient.queryAgencyApplications();
List<ApplicationModel> aList = aResult.getResult();
List<String> appCodes = aList.stream().filter(i -> "监管端,企业端".indexOf(i.getAppName()) != -1)
.map(i -> i.getAppCode()).collect(Collectors.toList());
@Value("${org.filter.group.seq}")
private Long groupSeq;
@Autowired
StartPlatformTokenService platformTokenService;
@Override
public void processMessage(String topic, MqttMessage message) throws Exception {
System.out.println(message);
JSONObject object = null;
try {
object = JSONObject.parseObject(message.toString());
} catch (Exception e) {
throw new Exception("公司同步消息解析失败");
}
platformTokenService.getToken();
FeignClientResult<List<ApplicationModel>> aResult = Privilege.applicationClient.queryAgencyApplications();
List<ApplicationModel> aList = aResult.getResult();
List<String> appCodes = aList.stream().filter(i -> "监管端,企业端".indexOf(i.getAppName()) != -1)
.map(i -> i.getAppCode()).collect(Collectors.toList());
String uuid = object.getString("id");
Long id = Long.valueOf(uuid.replaceAll("-","").hashCode());
FeignClientResult<CompanyModel> cResult = Privilege.companyClient.seleteOne(id);
if (cResult.getResult() == null) {
CompanyModel companyModel = new CompanyModel();
companyModel.setCompanyName(object.getString("inspect_unit_name"));
companyModel.setParentId(0L);
companyModel.setLevel("company");
companyModel.setSequenceNbr(id);
companyModel.setCompanyCode(object.getString("org_unit_name"));
companyModel.setCompanyType("检验单位");
Privilege.companyClient.create(companyModel);
}
Long id = Long.valueOf(uuid.replaceAll("-", "").hashCode());
FeignClientResult<CompanyModel> cResult = Privilege.companyClient.seleteOne(id);
if (cResult.getResult() == null) {
CompanyModel companyModel = new CompanyModel();
companyModel.setCompanyName(object.getString("inspect_unit_name"));
companyModel.setParentId(0L);
companyModel.setLevel("company");
companyModel.setSequenceNbr(id);
companyModel.setCompanyCode(object.getString("org_unit_name"));
companyModel.setCompanyType("检验单位");
Privilege.companyClient.create(companyModel);
}
String unitCode = object.getString("org_unit_name");
if (unitCode == null || unitCode.length() < 6) {
log.error("公司统一信用代码长度不够6位");
throw new Exception("公司统一信用代码长度不够6位");
}
String userName = unitCode.substring(unitCode.length() - 6, unitCode.length());
FeignClientResult<AgencyUserModel> uResult = Privilege.agencyUserClient.queryByUserName(userName);
if (uResult.getResult() == null) {
AgencyUserModel userModel = new AgencyUserModel();
userModel.setUserName(userName);
userModel.setRealName(userName);
userModel.setPassword(DesUtil.encode(userName, secretKey));
userModel.setRePassword(DesUtil.encode(userName, secretKey));
// userModel.setMobile(vo.getPhoneNo());
userModel.setLockStatus("UNLOCK");
FeignClientResult<List<RoleModel>> list = Privilege.roleClient.queryRoleList("检验单位", "admin");
Map<Long, List<Long>> orgRoles = new HashMap<>();
List<Long> roleIds = new ArrayList<>();
roleIds.add(list.getResult().get(0).getSequenceNbr());
orgRoles.put(id, roleIds);
userModel.setAppCodes(appCodes);
userModel.setOrgRoleSeqs(orgRoles);
FeignClientResult<AgencyUserModel> userResult =Privilege.agencyUserClient.create(userModel);
String[] userIds = {userResult.getResult().getUserId()};
String unitCode = object.getString("org_unit_name");
if (unitCode == null || unitCode.length() < 6) {
log.error("公司统一信用代码长度不够6位");
throw new Exception("公司统一信用代码长度不够6位");
}
String userName = unitCode.substring(unitCode.length() - 6, unitCode.length());
FeignClientResult<AgencyUserModel> uResult = Privilege.agencyUserClient.queryByUserName(userName);
if (uResult.getResult() == null) {
AgencyUserModel userModel = new AgencyUserModel();
userModel.setUserName(userName);
userModel.setRealName(userName);
userModel.setPassword(DesUtil.encode(userName, secretKey));
userModel.setRePassword(DesUtil.encode(userName, secretKey));
// userModel.setMobile(vo.getPhoneNo());
userModel.setLockStatus("UNLOCK");
FeignClientResult<List<RoleModel>> list = Privilege.roleClient.queryRoleList("检验单位", "admin");
Map<Long, List<Long>> orgRoles = new HashMap<>();
List<Long> roleIds = new ArrayList<>();
roleIds.add(list.getResult().get(0).getSequenceNbr());
orgRoles.put(id, roleIds);
userModel.setAppCodes(appCodes);
userModel.setOrgRoleSeqs(orgRoles);
FeignClientResult<AgencyUserModel> userResult = Privilege.agencyUserClient.create(userModel);
String[] userIds = {userResult.getResult().getUserId()};
// if (groupSeq != null) {
// Privilege.groupUserClient.create(groupSeq, Arrays.asList(userIds));
// }
}
}
}
}
}
......@@ -5,16 +5,15 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.ymt.api.service.IEquipmentCategoryService;
import com.yeejoin.amos.boot.module.ymt.biz.service.impl.StartPlatformTokenService;
import com.yeejoin.amos.boot.module.ymt.flc.api.service.IRegUnitInfoService;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.component.emq.EmqxListener;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
......@@ -39,23 +38,18 @@ public class PlatformUserTopicMessage extends EmqxListener {
@Autowired
RedisUtils redisUtil;
@Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
String product;
@Value("${amos.system.user.app-key:AMOS_STUDIO}")
String appKey;
@Autowired
IEquipmentCategoryService equipmentCategoryService;
@Autowired
IRegUnitInfoService regUnitInfoService;
@Autowired
StartPlatformTokenService platformTokenService;
@Override
public void processMessage(String topic, MqttMessage message) {
RequestContext.setAppKey(appKey);
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
platformTokenService.getToken();
JSONObject jsonObject = JSON.parseObject(message.toString());
JSONObject result = jsonObject.getJSONObject("result");
JSONObject dataResult = result.getJSONObject("result");
......
......@@ -5,10 +5,10 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.biz.service.impl.StartPlatformTokenService;
import com.yeejoin.amos.boot.module.ymt.biz.service.impl.TzBaseEnterpriseInfoServiceImpl;
import com.yeejoin.amos.boot.module.ymt.biz.utils.RedisUtil;
import com.yeejoin.amos.boot.module.ymt.flc.api.feign.AccessFeignService;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import lombok.extern.slf4j.Slf4j;
......@@ -16,14 +16,15 @@ import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqxListener;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.Map;
@Component
@Slf4j
......@@ -40,11 +41,8 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
@Autowired
RedisUtil redisUtil;
@Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
String product;
@Value("${amos.system.user.app-key:AMOS_STUDIO}")
String appKey;
@Autowired
StartPlatformTokenService platformTokenService;
@Override
public void processMessage(String s, MqttMessage message) throws Exception {
......@@ -58,15 +56,13 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
} catch (Exception e) {
throw new Exception("公司同步消息解析失败");
}
RequestContext.setAppKey(appKey);
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
platformTokenService.getToken();
//判断库中业务tz_base_enterprise_info是否存在
QueryWrapper<TzBaseEnterpriseInfo> queryWrapper = new QueryWrapper<TzBaseEnterpriseInfo>();
queryWrapper.eq("use_code",object.getString("unit_code"));
queryWrapper.eq("use_code", object.getString("unit_code"));
TzBaseEnterpriseInfo tzBaseEnterprisePrivilegeInfo = tzBaseEnterpriseInfoService.getOne(queryWrapper);
if(!ValidationUtil.isEmpty(tzBaseEnterprisePrivilegeInfo)){
if (!ValidationUtil.isEmpty(tzBaseEnterprisePrivilegeInfo)) {
accessFeignService.updateSyncCompanyState(object.getString("sequence_nbr"));
return;
}
......@@ -95,14 +91,14 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
//业务表更新条件构造器
UpdateWrapper<TzBaseEnterpriseInfo> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("use_code",object.getString("unit_code"));
updateWrapper.eq("use_code", object.getString("unit_code"));
String regCode = object.getString("reg_code");
CompanyModel supervisePrivilegeCompanyModel;
if (!ValidationUtil.isEmpty(regCode)) {
supervisePrivilegeCompanyModel = Privilege.companyClient.queryByCompanyCode(regCode).getResult();
if(ValidationUtil.isEmpty(supervisePrivilegeCompanyModel)){
if (ValidationUtil.isEmpty(supervisePrivilegeCompanyModel)) {
supervisePrivilegeCompanyModel = Privilege.companyClient.queryByCompanyCode("610000").getResult();
if (ValidationUtil.isEmpty(supervisePrivilegeCompanyModel)) {
......@@ -120,37 +116,37 @@ public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
tzBaseEnterpriseInfo.setSuperviseOrgCode(supervisePrivilegeCompanyModel.getOrgCode());
tzBaseEnterpriseInfo.setSuperviseOrgName(supervisePrivilegeCompanyModel.getCompanyName());
if(ValidationUtil.isEmpty(tzBaseEnterpriseInfo.getUnitType())){
if (ValidationUtil.isEmpty(tzBaseEnterpriseInfo.getUnitType())) {
tzBaseEnterpriseInfo.setUnitType("");
}
try {
if (tzBaseEnterprisePrivilegeInfo == null ) {
if (tzBaseEnterprisePrivilegeInfo == null) {
tzBaseEnterpriseInfoService.save(tzBaseEnterpriseInfo);
accessFeignService.updateSyncCompanyState(object.getString("sequence_nbr"));
return;
}
} catch(Exception e) {
} catch (Exception e) {
logger.error("【" + object.getString("unit_name") + "】许可信息同步【失败】:" + e.getMessage());
}
}
public Map<String, CompanyModel> getCompanyInfoMap(Collection companyModels,Map<String, CompanyModel> map){
if(companyModels == null){
public Map<String, CompanyModel> getCompanyInfoMap(Collection companyModels, Map<String, CompanyModel> map) {
if (companyModels == null) {
return map;
}
Iterator iter = companyModels.iterator();
while(iter.hasNext()){
while (iter.hasNext()) {
String json = JSON.toJSONString(iter.next());
CompanyModel companyModel = JSON.parseObject(json,CompanyModel.class);
CompanyModel companyModel = JSON.parseObject(json, CompanyModel.class);
String code = companyModel.getCompanyCode();
if(code.length() >=6){
if (code.length() >= 6) {
code = code.substring(0, 6);
}
map.put(code,companyModel);
getCompanyInfoMap(companyModel.getChildren(),map);
map.put(code, companyModel);
getCompanyInfoMap(companyModel.getChildren(), map);
}
return map;
}
......
......@@ -92,32 +92,32 @@ public class ESElevatorServiceImpl {
*
* @param elevator 电梯信息
*/
public EsElevator saveEsElevatorToES(Elevator elevator)
{
EsElevator esElevator = new EsElevator();
if(StringUtils.isNotEmpty(elevator.getLongitude())) {
esElevator.setLongitude(Double.parseDouble(elevator.getLongitude()));
}
if(StringUtils.isNotEmpty(elevator.getLatitude())) {
esElevator.setLatitude(Double.parseDouble(elevator.getLatitude()));
}
esElevator.setAddress(elevator.getAddress());
esElevator.setCity(elevator.getCity());
esElevator.setDistrict(elevator.getDistrict());
esElevator.setProvince(elevator.getProvince());
esElevator.setRegionCode(elevator.getRegionCode());
esElevator.setRescueCode(elevator.getRescueCode().toString());
esElevator.setRegisterCode(elevator.getRegisterCode());
esElevator.setSequenceNbr(elevator.getSequenceNbr());
esElevator.setInnerNum(elevator.getInnerNum());
if(StringUtils.isNotBlank(elevator.getLatitude()) && StringUtils.isNotBlank(elevator.getLongitude())) {
Double lat = Double.parseDouble(elevator.getLatitude());
Double lon = Double.parseDouble(elevator.getLongitude());
esElevator.setLocation(new GeoPoint(lat,lon));
}
esElavtorRepository.save(esElevator);
return esElevator;
}
// public EsElevator saveEsElevatorToES(Elevator elevator)
// {
// EsElevator esElevator = new EsElevator();
// if(StringUtils.isNotEmpty(elevator.getLongitude())) {
// esElevator.setLongitude(Double.parseDouble(elevator.getLongitude()));
// }
// if(StringUtils.isNotEmpty(elevator.getLatitude())) {
// esElevator.setLatitude(Double.parseDouble(elevator.getLatitude()));
// }
// esElevator.setAddress(elevator.getAddress());
// esElevator.setCity(elevator.getCity());
// esElevator.setDistrict(elevator.getDistrict());
// esElevator.setProvince(elevator.getProvince());
// esElevator.setRegionCode(elevator.getRegionCode());
// esElevator.setRescueCode(elevator.getRescueCode().toString());
// esElevator.setRegisterCode(elevator.getRegisterCode());
// esElevator.setSequenceNbr(elevator.getSequenceNbr());
// esElevator.setInnerNum(elevator.getInnerNum());
// if(StringUtils.isNotBlank(elevator.getLatitude()) && StringUtils.isNotBlank(elevator.getLongitude())) {
// Double lat = Double.parseDouble(elevator.getLatitude());
// Double lon = Double.parseDouble(elevator.getLongitude());
// esElevator.setLocation(new GeoPoint(lat,lon));
// }
// esElavtorRepository.save(esElevator);
// return esElevator;
// }
/**
......
package com.yeejoin.amos.boot.module.ymt.biz.service.impl;
import com.yeejoin.amos.boot.module.ymt.biz.utils.RedisUtil;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import com.yeejoin.amos.component.robot.AmosRequestContext;
@Service
public class StartPlatformTokenService {
@Value("${admin.product}")
String product;
@Value("${admin.appkey}")
String appkey;
@Value("${admin.user}")
String user;
@Value("${admin.password}")
String password;
@Autowired
RedisUtil redisUtil;
@Value("${amos.secret.key}")
String secretKey;
@Autowired
AmosRequestContext amosRequestContext;
@Autowired
RedisUtil redisUtil;
@Autowired
AmosRequestContext amosRequestContext;
public void getToken() {
RequestContext.setProduct(product);
RequestContext.setAppKey(appkey);
String token = amosRequestContext.getToken();
System.out.println("token:" + token);
RequestContext.setToken(token);
redisUtil.set("platform_token", token);
}
public void getToken() {
RequestContext.setProduct(amosRequestContext.getProduct());
RequestContext.setAppKey(amosRequestContext.getAppKey());
RequestContext.setToken(amosRequestContext.getToken());
}
}
......@@ -41,7 +41,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
......@@ -63,15 +62,6 @@ public class TzBaseEnterpriseInfoServiceImpl
@Autowired
RedisUtil redisUtil;
@Value("${admin.product}")
String product;
@Value("${admin.product.web}")
String webProduct;
@Value("${admin.appkey}")
String appkey;
@Autowired
private TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
......@@ -84,8 +74,6 @@ public class TzBaseEnterpriseInfoServiceImpl
@Autowired
RegUnitInfoServiceImpl regUnitInfoService;
@Autowired
private IBaseUnitLicenceService iBaseUnitLicenceService;
@Autowired
private SpeUseUnitServiceImpl speUseUnitService;
......@@ -94,29 +82,23 @@ public class TzBaseEnterpriseInfoServiceImpl
private AccessFeignService accessFeignService;
@Autowired
private ITzBaseEnterpriseInfoService tzBaseEnterpriseInfoService;
@Autowired
DataDictionaryServiceImpl iDataDictionaryService;
@Autowired
RegUnitInfoMapper regUnitInfoMapper;
@Value("${tzs.admin.name:tzs_admin}")
private String tzsAdminName;
@Value("${tzs.admin.pwd:a1234567}")
private String tzsAdminPwd;
@Autowired
StartPlatformTokenService platformTokenService;
@Value("${redis.cache.failure.time}")
private Long redisRegionTimeSecond;
/**机器人用户token缓存key */
public static final String TZS_USER_TOKEN = "TZS_USER_TOKEN";
/**
* 企业管理员变更缓存key前缀
*/
private final String adminChange = "ADMIN_CHANGE_";
@Autowired
private EquipmentCategoryServiceImpl equipmentCategoryService;
......@@ -313,9 +295,7 @@ public class TzBaseEnterpriseInfoServiceImpl
@Override
public String syncEnterpriseInfo() {
RequestContext.setAppKey(appkey);
RequestContext.setProduct(product);
RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
platformTokenService.getToken();
List<TzBaseEnterpriseInfo> baseEnterpriseInfoList = new ArrayList<>();
......@@ -538,16 +518,11 @@ public class TzBaseEnterpriseInfoServiceImpl
return String.join(",", res);
}
@Override
public Map<String, Object> adminInfoUpdate(Map<String, Object> map) {
//每一个企业只有一个管理员,所以当前登录用户即管理员用户
AgencyUserModel me = Privilege.agencyUserClient.getme().getResult();
RequestContext.setAppKey(appkey);
RequestContext.setProduct(webProduct);
//获取机器人的token,获取不到则去登录
if (ObjectUtils.isEmpty(redisUtil.get(TZS_USER_TOKEN))) {
loginCtiUser();
}
RequestContext.setToken(String.valueOf(redisUtil.get(TZS_USER_TOKEN)));
platformTokenService.getToken();
Map<String, Object> resultMap = new HashMap<>();
if (!ObjectUtils.isEmpty(me)) {
RegUnitInfo regUnitInfo = new RegUnitInfo();
......@@ -572,18 +547,6 @@ public class TzBaseEnterpriseInfoServiceImpl
return resultMap;
}
//机器人用户登录
private void loginCtiUser() {
String passwd = DesUtil.encode(tzsAdminPwd, "qaz");
IdPasswordAuthModel loninData = new IdPasswordAuthModel();
loninData.setLoginId(tzsAdminName);
loninData.setPassword(passwd);
FeignClientResult loginResult = Privilege.authClient.idpassword(loninData);
if(loginResult.getStatus() == 200) {
HashMap resultMap = (HashMap) loginResult.getResult();
redisUtil.set(TZS_USER_TOKEN, resultMap.get("token").toString(), redisRegionTimeSecond);
}
}
public void setSpeUseUnitState(int state,SpeUseUnit speUseUnit){
......
......@@ -19,6 +19,7 @@ spring.elasticsearch.rest.uris=http://172.16.10.230:9200
## unit(h)
alertcall.es.synchrony.time=48
#redis properties:
spring.redis.mode=singleton
spring.redis.database=1
spring.redis.host=172.16.10.230
spring.redis.port=16379
......
......@@ -122,11 +122,7 @@ tzs.wechat.tempId.supervise=P5XGbszS2Pc6kynvGjzPpZ--ikAwDZo6O7WdJ2EUxtE
## \uFFFD\uFFFD\uFFFD\u06BA\u0172\uFFFD\uFFFD\uFFFD\uFFFD\u00FB\uFFFDid\uFFFD\uFFFD\u01BD\u0328userId\uFFFD\uFFFD
tzs.wechat.test.userId=3393279
admin.product=AMOS-SERVICE-ADMIN
admin.appkey=AMOS_ADMIN
admin.user=admin_tzs
admin.password=a1234560
admin.product.web=AMOS-WEB-ADMIN
amos.secret.key=qazknife4j.production=false
knife4j.production=false
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment