Browse Source

Merge branch 'develop' of http://git.elinkit.com.cn:7070/r/epmet-cloud into 主线测试

master
jianjun 4 years ago
parent
commit
62fdf26af7
  1. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java
  2. 9
      epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java
  3. 16
      epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java
  4. 10
      epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/WorkDayScheduleTask.java
  5. 5
      epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/ShowApiUtil.java
  6. 6
      epmet-module/epmet-job/epmet-job-server/pom.xml
  7. 17
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/WorkDayInitService.java
  8. 24
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/WorkDayInitServiceImpl.java
  9. 39
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/WorkDayInitTask.java
  10. 1
      epmet-module/epmet-job/epmet-job-server/src/main/resources/db/migration/V0.0.2__add_workdayinit_job.sql
  11. 8
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java
  12. 12
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java
  13. 25
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java
  14. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java
  15. 21
      epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.37__ic_epidemic_special_attention.sql

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java

@ -49,7 +49,7 @@ public class EpmetRequestHolder {
public static String getHeader(String headerName) {
Map<String, String> stringStringMap = requestHeaderTtl.get();
if (stringStringMap == null){
return StrConstant.EPMETY_STR;
return null;
}
return stringStringMap.get(headerName.toLowerCase());
}

9
epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java

@ -7,6 +7,7 @@ import com.epmet.dto.result.*;
import com.epmet.feign.fallback.EpmetCommonServiceOpenFeignClientFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
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;
@ -140,4 +141,12 @@ public interface EpmetCommonServiceOpenFeignClient {
*/
@RequestMapping("/commonservice/import-task/finish")
Result finishImportTask(@RequestBody ImportTaskCommonFormDTO input);
/**
* desc:初始化工作日
* @param dimDateId
* @return
*/
@PostMapping("/commonservice/holiday/initWorkDay/{day}")
Result workDayInit(@PathVariable("day") String dimDateId);
}

16
epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java

@ -3,20 +3,9 @@ package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.CostDayFormDTO;
import com.epmet.dto.form.ExternalAppAuthFormDTO;
import com.epmet.dto.form.GetJwtAccessTokenFormDTO;
import com.epmet.dto.form.WorkDayFormDTO;
import com.epmet.dto.result.AppIdInfoResultDTO;
import com.epmet.dto.form.WorkMinuteFormDTO;
import com.epmet.dto.result.CostDayResultDTO;
import com.epmet.dto.result.AppIdInfoResultDTO;
import com.epmet.dto.result.ExternalAppAuthResultDTO;
import com.epmet.dto.result.WorkDayResultDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
@ -121,4 +110,9 @@ public class EpmetCommonServiceOpenFeignClientFallback implements EpmetCommonSer
public Result finishImportTask(ImportTaskCommonFormDTO input) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "finishImportTask", input);
}
@Override
public Result workDayInit(String dimDateId) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "workDayInit", dimDateId);
}
}

10
epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/WorkDayScheduleTask.java

@ -1,10 +1,10 @@
package com.epmet.task;
import com.epmet.service.ShowApiService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
@ -15,19 +15,21 @@ import java.util.Date;
* @Author yinzuomei
* @Date 2020/5/12 0:01
*/
@Slf4j
@Configuration //1.主要用于标记配置类,兼备Component的效果。
@EnableScheduling // 2.开启定时任务
@EnableScheduling// 2.开启定时任务
@Deprecated //由job统一调度
public class WorkDayScheduleTask {
@Autowired
private ShowApiService showApiService;
//每天晚上00:00:01执行{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}
@Scheduled(cron = "1 0 0 * * ?")
//@Scheduled(cron = "1 0 0 * * ?")
private void configureTasks() {
Date nowDate = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
showApiService.initWorkDay(format.format(nowDate));
System.err.println("执行静态定时任务时间: " + LocalDateTime.now());
log.info("执行静态定时任务时间: " + LocalDateTime.now());
}
}

5
epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/ShowApiUtil.java

@ -97,8 +97,9 @@ public class ShowApiUtil {
}
public static void main(String[] args) {
try {
// queryHolidayV2020("20200503");
holidayList("2020");
DayDetailResultDTO dayDetailResultDTO = queryHolidayV2020("20220407");
System.out.println(dayDetailResultDTO);
//holidayList("2020");
} catch (Exception e) {
e.printStackTrace();
}

6
epmet-module/epmet-job/epmet-job-server/pom.xml

@ -108,6 +108,12 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>common-service-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

17
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/WorkDayInitService.java

@ -0,0 +1,17 @@
package com.epmet.service;
import com.epmet.commons.tools.utils.Result;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/12/29 17:45
*/
public interface WorkDayInitService {
/**
* desc:初始化工作日 日历
* @param dimDateId
* @return
*/
Result workDayInit(String dimDateId);
}

24
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/WorkDayInitServiceImpl.java

@ -0,0 +1,24 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.service.WorkDayInitService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/12/29 17:46
*/
@Service
public class WorkDayInitServiceImpl implements WorkDayInitService {
@Autowired
private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient;
@Override
public Result workDayInit(String dimDateId) {
return epmetCommonServiceOpenFeignClient.workDayInit(dimDateId);
}
}

39
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/WorkDayInitTask.java

@ -0,0 +1,39 @@
package com.epmet.task;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.service.WorkDayInitService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* desc:工作日日历定时任务
* @author zhaoqifeng
* @dscription
* @date 2020/12/29 17:43
*/
@Slf4j
@Component("workDayInitTask")
public class WorkDayInitTask implements ITask {
@Autowired
private WorkDayInitService workDayInitService;
@Override
public void run(String params) {
log.info("WorkDayInitTask定时任务正在执行,参数为:{}", params);
if (StringUtils.isBlank(params)){
params = DateUtils.format(new Date(),DateUtils.DATE_PATTERN_YYYYMMDD);
}
Result result = workDayInitService.workDayInit(params);
if (result.success()) {
log.info("{}定时任务执行成功,{}", getClass().getSimpleName(),params);
} else {
log.error("{}定时任务执行失败:{},param:{}" ,getClass().getSimpleName(), result.getMsg(), params);
}
}
}

1
epmet-module/epmet-job/epmet-job-server/src/main/resources/db/migration/V0.0.2__add_workdayinit_job.sql

@ -0,0 +1 @@
INSERT INTO `epmet_job`.`schedule_job` (`id`, `bean_name`, `params`, `cron_expression`, `status`, `remark`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1511526737639378945, 'workDayInitTask', '', '3 0 0 * * ?', 1, '调用第三方api初始化工作日(有调用限制)参数:20220406', NULL, '2022-04-06 10:10:32', 0, '2022-04-06 10:11:04');

8
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java

@ -1,7 +1,9 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
@ -32,11 +34,13 @@ public class PageTripReportFormDTO extends PageFormDTO implements Serializable {
* 来源地区名称
*/
private String sourceAddress;
/**
* 来到本地时间
*/
private Date startDate;
private Date endDate;
private String startDate;
private String endDate;
/**
* token里设置

12
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SendNoticeFormDTO.java

@ -4,7 +4,8 @@ import com.epmet.commons.tools.validator.group.DefaultGroup;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;
@ -22,22 +23,23 @@ public class SendNoticeFormDTO implements Serializable {
/**
* 用户列表
*/
@NotNull(message = "用户列表不能为空", groups = DefaultGroup.class)
@NotEmpty(message = "用户列表不能为空", groups = DefaultGroup.class)
private List<UserListBean> userList;
/**
* 通知渠道通知渠道 0小程序通知1短信通知
*/
@NotNull(message = "通知渠道不能为空", groups = DefaultGroup.class)
@NotEmpty(message = "请选择通知渠道", groups = DefaultGroup.class)
private List<String> channel;
/**
* 通知来源 0 行程上报1 疫苗接种2 核酸检测
*/
@NotNull(message = "通知来源不能为空", groups = DefaultGroup.class)
@NotEmpty(message = "通知来源不能为空", groups = DefaultGroup.class)
private String origin;
/**
* 通知内容
*/
@NotNull(message = "通知内容不能为空", groups = DefaultGroup.class)
@NotEmpty(message = "通知内容不能为空", groups = DefaultGroup.class)
@Size(max = 500, message = "通知内容不超过500字")
private String content;
/**
* 组织名

25
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java

@ -478,6 +478,8 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
@Transactional(rollbackFor = Exception.class)
public void persisNat(IcNatEntity e, String customerId, String currentUserId, IcNatExcelImportListener listener) {
List<IcNatImportExcelData.RowRemarkMessage> otherRows = listener.getOtherRows();
String agencyPids = listener.getCurrentAgencyPids();
String agencyId = listener.getCurrentAgencyId();
Date natTime = e.getNatTime();
String idCard = e.getIdCard();
@ -545,43 +547,50 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
resiNat.setUpdatedBy(currentUserId);
resiNat.setUpdatedTime(new Date());
IcResiUserEntity resi = getResi(customerId, idCard);
IcResiUserEntity resi = getResi(customerId, idCard, null);
resiNat.setIsResiUser(resi != null ? "1" : "0");
resiNat.setUserId(resi != null ? resi.getId() : "");
baseDao.updateById(resiNat);
}
// 还要创建关系
createNatRelation(resiNat.getId(), listener.getCurrentAgencyId(), listener.getCurrentAgencyPids());
// 还要创建关系。只有本辖区及下级居民,才建立关系
if (getResi(customerId, idCard, String.join(":", Arrays.asList(agencyPids, agencyId))) != null) {
createNatRelation(resiNat.getId(), listener.getCurrentAgencyId(), listener.getCurrentAgencyPids());
}
return;
}
// 执行新增操作
IcResiUserEntity resi = getResi(customerId, idCard);
IcResiUserEntity resi = getResi(customerId, idCard, null);
e.setIsResiUser(resi != null ? "1" : "0");
e.setUserId(resi != null ? resi.getId() : "");
e.setUserType("import");
baseDao.insert(e);
// 还要创建关系
createNatRelation(e.getId(), listener.getCurrentAgencyId(), listener.getCurrentAgencyPids());
// 还要创建关系。只有本辖区及下级居民,才建立关系
if (getResi(customerId, idCard, String.join(":", Arrays.asList(agencyPids, agencyId))) != null) {
createNatRelation(e.getId(), listener.getCurrentAgencyId(), listener.getCurrentAgencyPids());
}
}
/**
* 是否是客户下的居民
* 是否是指定条件下的居民
* 0
* 1
* @param customerId
* @param idCard
* @return
*/
public IcResiUserEntity getResi(String customerId, String idCard) {
public IcResiUserEntity getResi(String customerId, String idCard, String pids) {
LambdaQueryWrapper<IcResiUserEntity> query = new LambdaQueryWrapper();
query.eq(IcResiUserEntity::getCustomerId, customerId);
query.eq(IcResiUserEntity::getIdCard, idCard);
if (StringUtils.isNotBlank(pids)) {
query.likeRight(IcResiUserEntity::getPids, pids);
}
return icResiUserDao.selectOne(query);
}

5
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java

@ -137,7 +137,10 @@ public class IcNoticeServiceImpl extends BaseServiceImpl<IcNoticeDao, IcNoticeEn
//保存消息
String channel = StringUtils.join(formDTO.getChannel(), StrConstant.COMMA);
String finalOrgName = orgName;
List<IcNoticeEntity> entityList = formDTO.getUserList().stream().map(item -> {
List<SendNoticeFormDTO.UserListBean> userBeanList = formDTO.getUserList().stream().collect(Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(
Comparator.comparing( SendNoticeFormDTO.UserListBean::getIdCard))), ArrayList::new));
List<IcNoticeEntity> entityList = userBeanList.stream().map(item -> {
IcNoticeEntity entity = new IcNoticeEntity();
entity.setCustomerId(formDTO.getCustomerId());
entity.setChannel(channel);

21
epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.37__ic_epidemic_special_attention.sql

@ -0,0 +1,21 @@
CREATE TABLE `ic_epidemic_special_attention` (
`ID` varchar(64) NOT NULL COMMENT 'ID',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
`ORG_ID` varchar(64) NOT NULL COMMENT '当前工作人员所属组织ID',
`PID` varchar(64) NOT NULL COMMENT '组织ID上级',
`PIDS` varchar(255) NOT NULL COMMENT '组织ID所有上级',
`IS_ATTENTION` tinyint(1) NOT NULL COMMENT '是否关注 1:关注,0:取消关注',
`ATTENTION_TYPE` tinyint(1) NOT NULL COMMENT '关注类型,核酸检测:2,疫苗接种:1,行程上报:0',
`NAME` varchar(64) NOT NULL COMMENT '姓名',
`MOBILE` varchar(11) NOT NULL COMMENT '手机号',
`ID_CARD` varchar(18) NOT NULL COMMENT '身份证号',
`REASON` varchar(1000) DEFAULT NULL COMMENT '原因',
`REMARK` varchar(1000) DEFAULT NULL COMMENT '备注',
`DEL_FLAG` int(11) NOT NULL,
`REVISION` int(11) NOT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='疫情特别关注';
Loading…
Cancel
Save