Browse Source

Merge branch 'yanyuan' of dd.tall.wiki:ccsens_wiki/ccsenscloud into yanyuan

yanyuan
zhizhi wu 4 years ago
parent
commit
8a2eeb2a7d
  1. 15
      cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/HolidaysDto.java
  2. 18
      cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/HolidaysVo.java
  3. 12
      cloudutil/src/main/java/com/ccsens/cloudutil/feign/Tall3FeignClient.java
  4. 37
      signin/src/main/java/com/ccsens/signin/api/HolidaysController.java
  5. 17
      signin/src/main/java/com/ccsens/signin/bean/dto/HolidaysDto.java
  6. 106
      signin/src/main/java/com/ccsens/signin/bean/po/SysHolidays.java
  7. 711
      signin/src/main/java/com/ccsens/signin/bean/po/SysHolidaysExample.java
  8. 17
      signin/src/main/java/com/ccsens/signin/bean/vo/HolidaysVo.java
  9. 30
      signin/src/main/java/com/ccsens/signin/persist/mapper/SysHolidaysMapper.java
  10. 113
      signin/src/main/java/com/ccsens/signin/service/HolidaysService.java
  11. 13
      signin/src/main/java/com/ccsens/signin/service/IHolidaysService.java
  12. 2
      signin/src/main/java/com/ccsens/signin/service/RelevanceUserService.java
  13. 2
      signin/src/main/java/com/ccsens/signin/service/UserService.java
  14. 6
      signin/src/main/resources/mapper_dao/ProjectDap.xml
  15. 258
      signin/src/main/resources/mapper_raw/SysHolidaysMapper.xml
  16. 118
      util/src/main/java/com/ccsens/util/DesensitizedUtils.java
  17. 125
      util/src/test/java/com/ccsens/util/OtherTest.java

15
cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/HolidaysDto.java

@ -0,0 +1,15 @@
package com.ccsens.cloudutil.bean.tall.dto;
import lombok.Data;
/**
* @author
*/
@Data
public class HolidaysDto {
@Data
public static class GetHolidays{
private Long startTime;
private Long endTime;
}
}

18
cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/HolidaysVo.java

@ -0,0 +1,18 @@
package com.ccsens.cloudutil.bean.tall.vo;
import lombok.Data;
import java.util.List;
/**
* @author
*/
@Data
public class HolidaysVo {
@Data
public static class Holidays{
private List<String> workday;
private List<String> nonWorkday;
}
}

12
cloudutil/src/main/java/com/ccsens/cloudutil/feign/Tall3FeignClient.java

@ -1,7 +1,9 @@
package com.ccsens.cloudutil.feign;
import com.ccsens.cloudutil.bean.tall.dto.HolidaysDto;
import com.ccsens.cloudutil.bean.tall.dto.LogDto;
import com.ccsens.cloudutil.bean.tall.dto.ProjectDto;
import com.ccsens.cloudutil.bean.tall.vo.HolidaysVo;
import com.ccsens.cloudutil.config.FeignTokenConfig;
import com.ccsens.util.JsonResponse;
import feign.hystrix.FallbackFactory;
@ -46,6 +48,12 @@ public interface Tall3FeignClient {
*/
@RequestMapping("project/saveUserProject")
JsonResponse saveUserProject(ProjectDto.SaveUserProject projectDto);
/**
* tall3内保存用户项目列表
*/
@RequestMapping("holidays")
JsonResponse<HolidaysVo.Holidays> getHolidays(HolidaysDto.GetHolidays getHolidays);
}
@Slf4j
@ -75,6 +83,10 @@ class Tall3FeignClientFallBack implements FallbackFactory<Tall3FeignClient> {
return null;
}
@Override
public JsonResponse<HolidaysVo.Holidays> getHolidays(HolidaysDto.GetHolidays getHolidays) {
return JsonResponse.newInstance().fail();
}
};
}

37
signin/src/main/java/com/ccsens/signin/api/HolidaysController.java

@ -0,0 +1,37 @@
package com.ccsens.signin.api;
import com.ccsens.signin.bean.dto.HolidaysDto;
import com.ccsens.signin.bean.dto.ProjectDto;
import com.ccsens.signin.bean.vo.HolidaysVo;
import com.ccsens.signin.service.IHolidaysService;
import com.ccsens.util.JsonResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
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.RestController;
import javax.annotation.Resource;
/**
* @author
*/
@Slf4j
@Api(tags = "工作日", description = "")
@RestController
@RequestMapping("/holidays")
public class HolidaysController {
@Resource
private IHolidaysService holidaysService;
@ApiOperation(value = "查询工作日和非工作日", notes = "")
@RequestMapping(value = "", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<HolidaysVo.Holidays> getHolidays(@ApiParam @Validated @RequestBody HolidaysDto.GetHolidays getHolidays) throws Exception{
HolidaysVo.Holidays holidays = holidaysService.getHolidaysByTime(getHolidays);
return JsonResponse.newInstance().ok(holidays);
}
}

17
signin/src/main/java/com/ccsens/signin/bean/dto/HolidaysDto.java

@ -0,0 +1,17 @@
package com.ccsens.signin.bean.dto;
import lombok.Data;
import java.util.List;
/**
* @author
*/
@Data
public class HolidaysDto {
@Data
public static class GetHolidays{
private Long startTime;
private Long endTime;
}
}

106
signin/src/main/java/com/ccsens/signin/bean/po/SysHolidays.java

@ -0,0 +1,106 @@
package com.ccsens.signin.bean.po;
import java.io.Serializable;
import java.util.Date;
public class SysHolidays implements Serializable {
private Long id;
private String year;
private String holiday;
private String workday;
private Long operator;
private Date createdAt;
private Date updatedAt;
private Byte recStatus;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year == null ? null : year.trim();
}
public String getHoliday() {
return holiday;
}
public void setHoliday(String holiday) {
this.holiday = holiday == null ? null : holiday.trim();
}
public String getWorkday() {
return workday;
}
public void setWorkday(String workday) {
this.workday = workday == null ? null : workday.trim();
}
public Long getOperator() {
return operator;
}
public void setOperator(Long operator) {
this.operator = operator;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
public Byte getRecStatus() {
return recStatus;
}
public void setRecStatus(Byte recStatus) {
this.recStatus = recStatus;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", year=").append(year);
sb.append(", holiday=").append(holiday);
sb.append(", workday=").append(workday);
sb.append(", operator=").append(operator);
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);
sb.append("]");
return sb.toString();
}
}

711
signin/src/main/java/com/ccsens/signin/bean/po/SysHolidaysExample.java

@ -0,0 +1,711 @@
package com.ccsens.signin.bean.po;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class SysHolidaysExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public SysHolidaysExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andYearIsNull() {
addCriterion("year is null");
return (Criteria) this;
}
public Criteria andYearIsNotNull() {
addCriterion("year is not null");
return (Criteria) this;
}
public Criteria andYearEqualTo(String value) {
addCriterion("year =", value, "year");
return (Criteria) this;
}
public Criteria andYearNotEqualTo(String value) {
addCriterion("year <>", value, "year");
return (Criteria) this;
}
public Criteria andYearGreaterThan(String value) {
addCriterion("year >", value, "year");
return (Criteria) this;
}
public Criteria andYearGreaterThanOrEqualTo(String value) {
addCriterion("year >=", value, "year");
return (Criteria) this;
}
public Criteria andYearLessThan(String value) {
addCriterion("year <", value, "year");
return (Criteria) this;
}
public Criteria andYearLessThanOrEqualTo(String value) {
addCriterion("year <=", value, "year");
return (Criteria) this;
}
public Criteria andYearLike(String value) {
addCriterion("year like", value, "year");
return (Criteria) this;
}
public Criteria andYearNotLike(String value) {
addCriterion("year not like", value, "year");
return (Criteria) this;
}
public Criteria andYearIn(List<String> values) {
addCriterion("year in", values, "year");
return (Criteria) this;
}
public Criteria andYearNotIn(List<String> values) {
addCriterion("year not in", values, "year");
return (Criteria) this;
}
public Criteria andYearBetween(String value1, String value2) {
addCriterion("year between", value1, value2, "year");
return (Criteria) this;
}
public Criteria andYearNotBetween(String value1, String value2) {
addCriterion("year not between", value1, value2, "year");
return (Criteria) this;
}
public Criteria andHolidayIsNull() {
addCriterion("holiday is null");
return (Criteria) this;
}
public Criteria andHolidayIsNotNull() {
addCriterion("holiday is not null");
return (Criteria) this;
}
public Criteria andHolidayEqualTo(String value) {
addCriterion("holiday =", value, "holiday");
return (Criteria) this;
}
public Criteria andHolidayNotEqualTo(String value) {
addCriterion("holiday <>", value, "holiday");
return (Criteria) this;
}
public Criteria andHolidayGreaterThan(String value) {
addCriterion("holiday >", value, "holiday");
return (Criteria) this;
}
public Criteria andHolidayGreaterThanOrEqualTo(String value) {
addCriterion("holiday >=", value, "holiday");
return (Criteria) this;
}
public Criteria andHolidayLessThan(String value) {
addCriterion("holiday <", value, "holiday");
return (Criteria) this;
}
public Criteria andHolidayLessThanOrEqualTo(String value) {
addCriterion("holiday <=", value, "holiday");
return (Criteria) this;
}
public Criteria andHolidayLike(String value) {
addCriterion("holiday like", value, "holiday");
return (Criteria) this;
}
public Criteria andHolidayNotLike(String value) {
addCriterion("holiday not like", value, "holiday");
return (Criteria) this;
}
public Criteria andHolidayIn(List<String> values) {
addCriterion("holiday in", values, "holiday");
return (Criteria) this;
}
public Criteria andHolidayNotIn(List<String> values) {
addCriterion("holiday not in", values, "holiday");
return (Criteria) this;
}
public Criteria andHolidayBetween(String value1, String value2) {
addCriterion("holiday between", value1, value2, "holiday");
return (Criteria) this;
}
public Criteria andHolidayNotBetween(String value1, String value2) {
addCriterion("holiday not between", value1, value2, "holiday");
return (Criteria) this;
}
public Criteria andWorkdayIsNull() {
addCriterion("workday is null");
return (Criteria) this;
}
public Criteria andWorkdayIsNotNull() {
addCriterion("workday is not null");
return (Criteria) this;
}
public Criteria andWorkdayEqualTo(String value) {
addCriterion("workday =", value, "workday");
return (Criteria) this;
}
public Criteria andWorkdayNotEqualTo(String value) {
addCriterion("workday <>", value, "workday");
return (Criteria) this;
}
public Criteria andWorkdayGreaterThan(String value) {
addCriterion("workday >", value, "workday");
return (Criteria) this;
}
public Criteria andWorkdayGreaterThanOrEqualTo(String value) {
addCriterion("workday >=", value, "workday");
return (Criteria) this;
}
public Criteria andWorkdayLessThan(String value) {
addCriterion("workday <", value, "workday");
return (Criteria) this;
}
public Criteria andWorkdayLessThanOrEqualTo(String value) {
addCriterion("workday <=", value, "workday");
return (Criteria) this;
}
public Criteria andWorkdayLike(String value) {
addCriterion("workday like", value, "workday");
return (Criteria) this;
}
public Criteria andWorkdayNotLike(String value) {
addCriterion("workday not like", value, "workday");
return (Criteria) this;
}
public Criteria andWorkdayIn(List<String> values) {
addCriterion("workday in", values, "workday");
return (Criteria) this;
}
public Criteria andWorkdayNotIn(List<String> values) {
addCriterion("workday not in", values, "workday");
return (Criteria) this;
}
public Criteria andWorkdayBetween(String value1, String value2) {
addCriterion("workday between", value1, value2, "workday");
return (Criteria) this;
}
public Criteria andWorkdayNotBetween(String value1, String value2) {
addCriterion("workday not between", value1, value2, "workday");
return (Criteria) this;
}
public Criteria andOperatorIsNull() {
addCriterion("operator is null");
return (Criteria) this;
}
public Criteria andOperatorIsNotNull() {
addCriterion("operator is not null");
return (Criteria) this;
}
public Criteria andOperatorEqualTo(Long value) {
addCriterion("operator =", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorNotEqualTo(Long value) {
addCriterion("operator <>", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorGreaterThan(Long value) {
addCriterion("operator >", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorGreaterThanOrEqualTo(Long value) {
addCriterion("operator >=", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorLessThan(Long value) {
addCriterion("operator <", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorLessThanOrEqualTo(Long value) {
addCriterion("operator <=", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorIn(List<Long> values) {
addCriterion("operator in", values, "operator");
return (Criteria) this;
}
public Criteria andOperatorNotIn(List<Long> values) {
addCriterion("operator not in", values, "operator");
return (Criteria) this;
}
public Criteria andOperatorBetween(Long value1, Long value2) {
addCriterion("operator between", value1, value2, "operator");
return (Criteria) this;
}
public Criteria andOperatorNotBetween(Long value1, Long value2) {
addCriterion("operator not between", value1, value2, "operator");
return (Criteria) this;
}
public Criteria andCreatedAtIsNull() {
addCriterion("created_at is null");
return (Criteria) this;
}
public Criteria andCreatedAtIsNotNull() {
addCriterion("created_at is not null");
return (Criteria) this;
}
public Criteria andCreatedAtEqualTo(Date value) {
addCriterion("created_at =", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotEqualTo(Date value) {
addCriterion("created_at <>", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThan(Date value) {
addCriterion("created_at >", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("created_at >=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThan(Date value) {
addCriterion("created_at <", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
addCriterion("created_at <=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtIn(List<Date> values) {
addCriterion("created_at in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotIn(List<Date> values) {
addCriterion("created_at not in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtBetween(Date value1, Date value2) {
addCriterion("created_at between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
addCriterion("created_at not between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNull() {
addCriterion("updated_at is null");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNotNull() {
addCriterion("updated_at is not null");
return (Criteria) this;
}
public Criteria andUpdatedAtEqualTo(Date value) {
addCriterion("updated_at =", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotEqualTo(Date value) {
addCriterion("updated_at <>", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThan(Date value) {
addCriterion("updated_at >", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("updated_at >=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThan(Date value) {
addCriterion("updated_at <", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
addCriterion("updated_at <=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIn(List<Date> values) {
addCriterion("updated_at in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotIn(List<Date> values) {
addCriterion("updated_at not in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtBetween(Date value1, Date value2) {
addCriterion("updated_at between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
addCriterion("updated_at not between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andRecStatusIsNull() {
addCriterion("rec_status is null");
return (Criteria) this;
}
public Criteria andRecStatusIsNotNull() {
addCriterion("rec_status is not null");
return (Criteria) this;
}
public Criteria andRecStatusEqualTo(Byte value) {
addCriterion("rec_status =", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotEqualTo(Byte value) {
addCriterion("rec_status <>", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThan(Byte value) {
addCriterion("rec_status >", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
addCriterion("rec_status >=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThan(Byte value) {
addCriterion("rec_status <", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
addCriterion("rec_status <=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusIn(List<Byte> values) {
addCriterion("rec_status in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotIn(List<Byte> values) {
addCriterion("rec_status not in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusBetween(Byte value1, Byte value2) {
addCriterion("rec_status between", value1, value2, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
addCriterion("rec_status not between", value1, value2, "recStatus");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

17
signin/src/main/java/com/ccsens/signin/bean/vo/HolidaysVo.java

@ -0,0 +1,17 @@
package com.ccsens.signin.bean.vo;
import lombok.Data;
import java.util.List;
/**
* @author
*/
@Data
public class HolidaysVo {
@Data
public static class Holidays{
private List<String> workday;
private List<String> nonWorkday;
}
}

30
signin/src/main/java/com/ccsens/signin/persist/mapper/SysHolidaysMapper.java

@ -0,0 +1,30 @@
package com.ccsens.signin.persist.mapper;
import com.ccsens.signin.bean.po.SysHolidays;
import com.ccsens.signin.bean.po.SysHolidaysExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface SysHolidaysMapper {
long countByExample(SysHolidaysExample example);
int deleteByExample(SysHolidaysExample example);
int deleteByPrimaryKey(Long id);
int insert(SysHolidays record);
int insertSelective(SysHolidays record);
List<SysHolidays> selectByExample(SysHolidaysExample example);
SysHolidays selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") SysHolidays record, @Param("example") SysHolidaysExample example);
int updateByExample(@Param("record") SysHolidays record, @Param("example") SysHolidaysExample example);
int updateByPrimaryKeySelective(SysHolidays record);
int updateByPrimaryKey(SysHolidays record);
}

113
signin/src/main/java/com/ccsens/signin/service/HolidaysService.java

@ -0,0 +1,113 @@
package com.ccsens.signin.service;
import cn.hutool.core.collection.CollectionUtil;
import com.ccsens.signin.bean.dto.HolidaysDto;
import com.ccsens.signin.bean.po.SysHolidays;
import com.ccsens.signin.bean.po.SysHolidaysExample;
import com.ccsens.signin.bean.vo.HolidaysVo;
import com.ccsens.signin.persist.mapper.SysHolidaysMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* @author
*/
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class HolidaysService implements IHolidaysService{
@Resource
private SysHolidaysMapper holidaysMapper;
@Override
public HolidaysVo.Holidays getHolidaysByTime(HolidaysDto.GetHolidays getHolidays) {
HolidaysVo.Holidays holidays = new HolidaysVo.Holidays();
//工作日
List<String> workday = new ArrayList<>();
//非工作日
List<String> nonWorkday = new ArrayList<>();
//开始时间
Calendar min = Calendar.getInstance();
min.setTime(new Date(getHolidays.getStartTime()));
min.set(Calendar.HOUR_OF_DAY, 0);
min.set(Calendar.MINUTE, 0);
min.set(Calendar.SECOND, 0);
min.set(Calendar.MILLISECOND, 0);
//结束时间
Calendar max = Calendar.getInstance();
max.setTime(new Date(getHolidays.getEndTime()));
max.set(Calendar.HOUR_OF_DAY, 0);
max.set(Calendar.MINUTE, 0);
max.set(Calendar.SECOND, 0);
max.set(Calendar.MILLISECOND, 0);
//获取开始时间所在年份的最后一天
int currentYear1 =min.get(Calendar.YEAR);
Calendar year = Calendar.getInstance();
year.clear();
year.set(Calendar.YEAR, currentYear1);
year.roll(Calendar.DAY_OF_YEAR, -1);
//分段的时间
List<Date> dateList = new ArrayList<>();
//将开始时间放到第一个
dateList.add(min.getTime());
while (max.after(year)){
dateList.add(year.getTime());
//如果结束时间大于当前年份的最后一天
Calendar x = Calendar.getInstance();
x.setTime(year.getTime());
x.add(Calendar.DAY_OF_YEAR,1);
dateList.add(x.getTime());
year.add(Calendar.YEAR, 1);
}
dateList.add(max.getTime());
//循环获取每年的工作日
for (int i = 0; i < dateList.size() - 1; i += 2) {
//获取开始结束时间
Calendar startTime = Calendar.getInstance();
Calendar endTime = Calendar.getInstance();
startTime.setTime(dateList.get(i));
endTime.setTime(dateList.get(i+1));
//根据开始时间获取是哪一年
int theYear = startTime.get(Calendar.YEAR);
DateFormat df = new SimpleDateFormat("MM-dd");
String isHoliday = "";
String overDay = "";
//获取假日调休信息
SysHolidaysExample holidaysExample = new SysHolidaysExample();
holidaysExample.createCriteria().andYearEqualTo(theYear + "");
List<SysHolidays> sysHolidays = holidaysMapper.selectByExample(holidaysExample);
if (CollectionUtil.isNotEmpty(sysHolidays)) {
isHoliday = sysHolidays.get(0).getHoliday();
overDay = sysHolidays.get(0).getWorkday();
}
while (endTime.getTimeInMillis() >= startTime.getTimeInMillis()) {
int a = startTime.get(Calendar.DAY_OF_WEEK);
//是调休 || (不是周末 && 不是节假日)
if (overDay.contains(df.format(startTime.getTime())) || ((a != 1 && a != 7) && !isHoliday.contains(df.format(startTime.getTime())))) {
workday.add(new SimpleDateFormat("yyyy-MM-dd").format(startTime.getTime()));
}else {
nonWorkday.add(new SimpleDateFormat("yyyy-MM-dd").format(startTime.getTime()));
}
startTime.add(Calendar.DATE, 1);
}
}
holidays.setWorkday(workday);
holidays.setNonWorkday(nonWorkday);
return holidays;
}
}

13
signin/src/main/java/com/ccsens/signin/service/IHolidaysService.java

@ -0,0 +1,13 @@
package com.ccsens.signin.service;
import com.ccsens.signin.bean.dto.HolidaysDto;
import com.ccsens.signin.bean.vo.HolidaysVo;
public interface IHolidaysService {
/**
* 通过开始结束时间查询时间段内的工作日和非工作日
* @param getHolidays 开始结束时间
* @return 时间段内的工作日和非工作日
*/
HolidaysVo.Holidays getHolidaysByTime(HolidaysDto.GetHolidays getHolidays);
}

2
signin/src/main/java/com/ccsens/signin/service/RelevanceUserService.java

@ -42,6 +42,7 @@ public class RelevanceUserService implements IRelevanceUserService {
UserDto.PhoneAndUserId phoneAndUserId = new UserDto.PhoneAndUserId(phone, userId);
log.info("调用业务系统的接口关联成员:{}--{}",url,phoneAndUserId);
RestTemplateUtil.postBody(url, phoneAndUserId);
//TODO 异常处理
}catch (Exception e){
log.error("接口调用异常",e);
}
@ -63,6 +64,7 @@ public class RelevanceUserService implements IRelevanceUserService {
UserDto.MergeUser mergeUser = new UserDto.MergeUser(oldUserId, newUserId);
log.info("调用业务系统的接口合并用户:{}--{}",url,mergeUser);
RestTemplateUtil.postBody(url, mergeUser);
//TODO 异常处理
}catch (Exception e){
log.error("接口调用异常",e);
}

2
signin/src/main/java/com/ccsens/signin/service/UserService.java

@ -859,7 +859,7 @@ public class UserService implements IUserService {
authDao.insertSelective(auth);
//TODO 给所有手机号一样的角色添加userId
// relevanceUserService.relevancePhone(phone, currentUserId);
relevanceUserService.relevancePhone(phone, currentUserId);
//返回值
userSignVo = new UserVo.UserSign();
userSignVo.setAuthId(auth.getId());

6
signin/src/main/resources/mapper_dao/ProjectDap.xml

@ -29,7 +29,11 @@
p.rec_status = 0
AND u.user_id = #{userId}
and p.project_start_time &lt;= #{endTime}
and p.project_end_time &gt;= #{startTime}
and (
p.project_end_time &gt;= #{startTime}
or
p.project_end_time = 0
)
AND p.project_id NOT IN (
SELECT
sp.project_id

258
signin/src/main/resources/mapper_raw/SysHolidaysMapper.xml

@ -0,0 +1,258 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.signin.persist.mapper.SysHolidaysMapper">
<resultMap id="BaseResultMap" type="com.ccsens.signin.bean.po.SysHolidays">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="year" jdbcType="VARCHAR" property="year" />
<result column="holiday" jdbcType="VARCHAR" property="holiday" />
<result column="workday" jdbcType="VARCHAR" property="workday" />
<result column="operator" jdbcType="BIGINT" property="operator" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, year, holiday, workday, operator, created_at, updated_at, rec_status
</sql>
<select id="selectByExample" parameterType="com.ccsens.signin.bean.po.SysHolidaysExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from t_sys_holidays
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from t_sys_holidays
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from t_sys_holidays
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="com.ccsens.signin.bean.po.SysHolidaysExample">
delete from t_sys_holidays
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.ccsens.signin.bean.po.SysHolidays">
insert into t_sys_holidays (id, year, holiday,
workday, operator, created_at,
updated_at, rec_status)
values (#{id,jdbcType=BIGINT}, #{year,jdbcType=VARCHAR}, #{holiday,jdbcType=VARCHAR},
#{workday,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP},
#{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT})
</insert>
<insert id="insertSelective" parameterType="com.ccsens.signin.bean.po.SysHolidays">
insert into t_sys_holidays
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="year != null">
year,
</if>
<if test="holiday != null">
holiday,
</if>
<if test="workday != null">
workday,
</if>
<if test="operator != null">
operator,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="recStatus != null">
rec_status,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="year != null">
#{year,jdbcType=VARCHAR},
</if>
<if test="holiday != null">
#{holiday,jdbcType=VARCHAR},
</if>
<if test="workday != null">
#{workday,jdbcType=VARCHAR},
</if>
<if test="operator != null">
#{operator,jdbcType=BIGINT},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.signin.bean.po.SysHolidaysExample" resultType="java.lang.Long">
select count(*) from t_sys_holidays
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update t_sys_holidays
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.year != null">
year = #{record.year,jdbcType=VARCHAR},
</if>
<if test="record.holiday != null">
holiday = #{record.holiday,jdbcType=VARCHAR},
</if>
<if test="record.workday != null">
workday = #{record.workday,jdbcType=VARCHAR},
</if>
<if test="record.operator != null">
operator = #{record.operator,jdbcType=BIGINT},
</if>
<if test="record.createdAt != null">
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
</if>
<if test="record.updatedAt != null">
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update t_sys_holidays
set id = #{record.id,jdbcType=BIGINT},
year = #{record.year,jdbcType=VARCHAR},
holiday = #{record.holiday,jdbcType=VARCHAR},
workday = #{record.workday,jdbcType=VARCHAR},
operator = #{record.operator,jdbcType=BIGINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.signin.bean.po.SysHolidays">
update t_sys_holidays
<set>
<if test="year != null">
year = #{year,jdbcType=VARCHAR},
</if>
<if test="holiday != null">
holiday = #{holiday,jdbcType=VARCHAR},
</if>
<if test="workday != null">
workday = #{workday,jdbcType=VARCHAR},
</if>
<if test="operator != null">
operator = #{operator,jdbcType=BIGINT},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.ccsens.signin.bean.po.SysHolidays">
update t_sys_holidays
set year = #{year,jdbcType=VARCHAR},
holiday = #{holiday,jdbcType=VARCHAR},
workday = #{workday,jdbcType=VARCHAR},
operator = #{operator,jdbcType=BIGINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

118
util/src/main/java/com/ccsens/util/DesensitizedUtils.java

@ -0,0 +1,118 @@
package com.ccsens.util;
import org.apache.commons.lang3.StringUtils;
/**
* 数据脱敏工具类
*
* @author ma
* @date 2017/10/25
*/
public class DesensitizedUtils {
/**
* 中文姓名只显示第一个汉字其他隐藏为2个星号比如**
*
* @param fullName
* @return
*/
public static String chineseName(String fullName) {
if (StringUtils.isBlank(fullName)) {
return "";
}
String name = StringUtils.left(fullName, 1);
return StringUtils.rightPad(name, StringUtils.length(fullName), "*");
}
/**
* 身份证号显示最后四位其他隐藏共计18位或者15位比如*************1234
*
* @param id
* @return
*/
public static String idCardNum(String id) {
if (StringUtils.isBlank(id)) {
return "";
}
String num = StringUtils.right(id, 4);
return StringUtils.leftPad(num, StringUtils.length(id), "*");
}
/**
* 固定电话 显示后四位其他隐藏比如*******3241
*
* @param num
* @return
*/
public static String fixedPhone(String num) {
if (StringUtils.isBlank(num)) {
return "";
}
return StringUtils.leftPad(StringUtils.right(num, 4), StringUtils.length(num), "*");
}
/**
* 手机号码前三位后四位其他隐藏比如135****6810
*
* @param num
* @return
*/
public static String mobilePhone(String num) {
if (StringUtils.isBlank(num)) {
return "";
}
return StringUtils.left(num, 3).concat(StringUtils.removeStart(StringUtils.leftPad(StringUtils.right(num, 4), StringUtils.length(num), "*"), "***"));
}
/**
* 地址只显示到地区不显示详细地址比如上海徐汇区漕河泾开发区***
*
* @param address
* @param sensitiveSize 敏感信息长度
* @return
*/
public static String address(String address, int sensitiveSize) {
if (StringUtils.isBlank(address)) {
return "";
}
int length = StringUtils.length(address);
return StringUtils.rightPad(StringUtils.left(address, length - sensitiveSize), length, "*");
}
/**
* 电子邮箱 邮箱前缀仅显示第一个字母前缀其他隐藏用星号代替@及后面的地址显示比如d**@126.com
*
* @param email
* @return
*/
public static String email(String email) {
if (StringUtils.isBlank(email)) {
return "";
}
int index = StringUtils.indexOf(email, "@");
if (index <= 1) {
return email;
} else {
return StringUtils.rightPad(StringUtils.left(email, 1), index, "*").concat(StringUtils.mid(email, index, StringUtils.length(email)));
}
}
/**
* 银行卡号前六位后四位其他用星号隐藏每位1个星号比如6222600**********1234
*
* @param cardNum
* @return
*/
public static String bankCard(String cardNum) {
if (StringUtils.isBlank(cardNum)) {
return "";
}
return StringUtils.left(cardNum, 6).concat(StringUtils.removeStart(StringUtils.leftPad(StringUtils.right(cardNum, 4), StringUtils.length(cardNum), "*"), "******"));
}
/**
* 密码密码的全部字符都用*代替比如******
*
* @param password
* @return
*/
public static String password(String password) {
if (StringUtils.isBlank(password)) {
return "";
}
String pwd = StringUtils.left(password, 0);
return StringUtils.rightPad(pwd, StringUtils.length(password), "*");
}
}

125
util/src/test/java/com/ccsens/util/OtherTest.java

@ -16,7 +16,10 @@ import java.io.*;
import java.math.BigDecimal;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -233,21 +236,29 @@ public class OtherTest {
@Test
public void test11() {
System.out.println(DateUtil.today());
DateUtil.today();
System.out.println(DateUtil.parse(DateUtil.today()).getTime());
List<String> s = new ArrayList<>();
s.add("11");
s.add("22");
List<String> x = new ArrayList<>();
x.add("33");
x.add("44");
// System.out.println(DateUtil.today());
// DateUtil.today();
// System.out.println(DateUtil.parse(DateUtil.today()).getTime());
//
// List<String> s = new ArrayList<>();
// s.add("11");
// s.add("22");
//
// List<String> x = new ArrayList<>();
// x.add("33");
// x.add("44");
//
// s.addAll(x);
//
s.addAll(x);
// Random random = new Random();
// for (int i = 0; i < 10; i++) {
// System.out.println(random.nextInt(40) + 40);
// }
System.out.println(s);
int max=100,min=1;
double ran2 = (Math.random()*(max-min));
System.out.println(ran2);
}
@Test
@ -310,4 +321,92 @@ public class OtherTest {
}
@Test
public void test16() {
long s = 1642608000000L;
long e = 1642661444000L;
//开始时间
Calendar min = Calendar.getInstance();
min.setTime(new Date(s));
min.set(Calendar.HOUR_OF_DAY, 0);
min.set(Calendar.MINUTE, 0);
min.set(Calendar.SECOND, 0);
min.set(Calendar.MILLISECOND, 0);
//结束时间
Calendar max = Calendar.getInstance();
max.setTime(new Date(e));
max.set(Calendar.HOUR_OF_DAY, 0);
max.set(Calendar.MINUTE, 0);
max.set(Calendar.SECOND, 0);
max.set(Calendar.MILLISECOND, 0);
System.out.println(max.after(min));
//
// System.out.println("开始日期" + new SimpleDateFormat("yyyy-MM-dd").format(min.getTime()));
// System.out.println("结束日期" + new SimpleDateFormat("yyyy-MM-dd").format(max.getTime()));
//
// //获取开始时间所在年份的最后一天
// int currentYear1 =min.get(Calendar.YEAR);
// Calendar year = Calendar.getInstance();
// year.clear();
// year.set(Calendar.YEAR, currentYear1);
// year.roll(Calendar.DAY_OF_YEAR, -1);
//
// //分段的时间
// List<Date> dateList = new ArrayList<>();
// //将开始时间放到第一个
// dateList.add(min.getTime());
// while (max.after(year)){
// //如果结束时间大于当前年份的最后一天
// dateList.add(year.getTime());
// year.add(Calendar.YEAR, 1);
// System.out.println("开始时间:" + new SimpleDateFormat("yyyy-MM-dd").format(min.getTime()));
// System.out.println("结束时间:" + new SimpleDateFormat("yyyy-MM-dd").format(year.getTime()));
// }
// dateList.add(max.getTime());
//
// //循环获取每年的工作日
// for (int i = 0; i < dateList.size() - 1; i++) {
// ClockingInVo.Holidays holidays = new ClockingInVo.Holidays();
// //工作日
// List<String> workday = new ArrayList<>();
// List<String> nonWorkday = new ArrayList<>();
// DateFormat df = new SimpleDateFormat("MM-dd");
// String isHoliday = "";
// String overDay = "";
// //获取假日调休信息
// SysHolidaysExample holidaysExample = new SysHolidaysExample();
// holidaysExample.createCriteria().andYearEqualTo(new SimpleDateFormat("yyyy").format(new Date()));
// List<SysHolidays> sysHolidays = holidaysMapper.selectByExample(holidaysExample);
// if (CollectionUtil.isNotEmpty(sysHolidays)) {
// isHoliday = sysHolidays.get(0).getHoliday();
// overDay = sysHolidays.get(0).getWorkday();
// }
// Calendar min = Calendar.getInstance();
// Calendar max = Calendar.getInstance();
// min.setTime(new Date(startTime));
// max.setTime(new Date(endTime));
// max.add(Calendar.DATE, 1);
// while (max.after(min)) {
// int i = min.get(Calendar.DAY_OF_WEEK);
// //是调休 || (不是周末 && 不是节假日)
// if (overDay.contains(df.format(min.getTime())) || ((i != 1 && i != 7) && !isHoliday.contains(df.format(min.getTime())))) {
// workday.add(new SimpleDateFormat("yyyy-MM-dd").format(min.getTime()));
// }else {
// nonWorkday.add(new SimpleDateFormat("yyyy-MM-dd").format(min.getTime()));
// }
// min.add(Calendar.DATE, 1);
// }
// holidays.setWorkday(workday);
// holidays.setNonWorkday(nonWorkday);
// return holidays;
// }
}
}

Loading…
Cancel
Save