From a3750dfb3b06b2524be72d2734fb8a7b5ecb5f1d Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Mon, 15 Nov 2021 16:39:54 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=84=B1=E6=95=8F=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/util/DesensitizedUtils.java | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 util/src/main/java/com/ccsens/util/DesensitizedUtils.java diff --git a/util/src/main/java/com/ccsens/util/DesensitizedUtils.java b/util/src/main/java/com/ccsens/util/DesensitizedUtils.java new file mode 100644 index 00000000..01999f93 --- /dev/null +++ b/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), "*"); + } + +} From f9f7a58a6677bd55720ba0aa63540fac3b3deb0d Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Mon, 15 Nov 2021 17:56:44 +0800 Subject: [PATCH 2/3] =?UTF-8?q?20211115=E6=B7=BB=E5=8A=A0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E2=80=9C=E6=9F=A5=E8=AF=A2=E5=B7=A5=E4=BD=9C=E6=97=A5?= =?UTF-8?q?=E5=92=8C=E9=9D=9E=E5=B7=A5=E4=BD=9C=E6=97=A5=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/signin/api/HolidaysController.java | 37 + .../ccsens/signin/bean/dto/HolidaysDto.java | 17 + .../ccsens/signin/bean/po/SysHolidays.java | 106 +++ .../signin/bean/po/SysHolidaysExample.java | 711 ++++++++++++++++++ .../com/ccsens/signin/bean/vo/HolidaysVo.java | 17 + .../persist/mapper/SysHolidaysMapper.java | 30 + .../signin/service/HolidaysService.java | 113 +++ .../signin/service/IHolidaysService.java | 13 + .../main/resources/mapper_dao/ProjectDap.xml | 6 +- .../mapper_raw/SysHolidaysMapper.xml | 258 +++++++ .../test/java/com/ccsens/util/OtherTest.java | 91 +++ 11 files changed, 1398 insertions(+), 1 deletion(-) create mode 100644 signin/src/main/java/com/ccsens/signin/api/HolidaysController.java create mode 100644 signin/src/main/java/com/ccsens/signin/bean/dto/HolidaysDto.java create mode 100644 signin/src/main/java/com/ccsens/signin/bean/po/SysHolidays.java create mode 100644 signin/src/main/java/com/ccsens/signin/bean/po/SysHolidaysExample.java create mode 100644 signin/src/main/java/com/ccsens/signin/bean/vo/HolidaysVo.java create mode 100644 signin/src/main/java/com/ccsens/signin/persist/mapper/SysHolidaysMapper.java create mode 100644 signin/src/main/java/com/ccsens/signin/service/HolidaysService.java create mode 100644 signin/src/main/java/com/ccsens/signin/service/IHolidaysService.java create mode 100644 signin/src/main/resources/mapper_raw/SysHolidaysMapper.xml diff --git a/signin/src/main/java/com/ccsens/signin/api/HolidaysController.java b/signin/src/main/java/com/ccsens/signin/api/HolidaysController.java new file mode 100644 index 00000000..b7c65aea --- /dev/null +++ b/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 getHolidays(@ApiParam @Validated @RequestBody HolidaysDto.GetHolidays getHolidays) throws Exception{ + HolidaysVo.Holidays holidays = holidaysService.getHolidaysByTime(getHolidays); + return JsonResponse.newInstance().ok(holidays); + } +} diff --git a/signin/src/main/java/com/ccsens/signin/bean/dto/HolidaysDto.java b/signin/src/main/java/com/ccsens/signin/bean/dto/HolidaysDto.java new file mode 100644 index 00000000..6061da7a --- /dev/null +++ b/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; + } +} diff --git a/signin/src/main/java/com/ccsens/signin/bean/po/SysHolidays.java b/signin/src/main/java/com/ccsens/signin/bean/po/SysHolidays.java new file mode 100644 index 00000000..b644a4c9 --- /dev/null +++ b/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(); + } +} \ No newline at end of file diff --git a/signin/src/main/java/com/ccsens/signin/bean/po/SysHolidaysExample.java b/signin/src/main/java/com/ccsens/signin/bean/po/SysHolidaysExample.java new file mode 100644 index 00000000..ee25ff1d --- /dev/null +++ b/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 oredCriteria; + + public SysHolidaysExample() { + oredCriteria = new ArrayList(); + } + + 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 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 criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List 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 values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List 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 values) { + addCriterion("year in", values, "year"); + return (Criteria) this; + } + + public Criteria andYearNotIn(List 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 values) { + addCriterion("holiday in", values, "holiday"); + return (Criteria) this; + } + + public Criteria andHolidayNotIn(List 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 values) { + addCriterion("workday in", values, "workday"); + return (Criteria) this; + } + + public Criteria andWorkdayNotIn(List 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 values) { + addCriterion("operator in", values, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorNotIn(List 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 values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List 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 values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List 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 values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List 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); + } + } +} \ No newline at end of file diff --git a/signin/src/main/java/com/ccsens/signin/bean/vo/HolidaysVo.java b/signin/src/main/java/com/ccsens/signin/bean/vo/HolidaysVo.java new file mode 100644 index 00000000..d0e928d0 --- /dev/null +++ b/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 workday; + private List nonWorkday; + } +} diff --git a/signin/src/main/java/com/ccsens/signin/persist/mapper/SysHolidaysMapper.java b/signin/src/main/java/com/ccsens/signin/persist/mapper/SysHolidaysMapper.java new file mode 100644 index 00000000..dc4f570f --- /dev/null +++ b/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 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); +} \ No newline at end of file diff --git a/signin/src/main/java/com/ccsens/signin/service/HolidaysService.java b/signin/src/main/java/com/ccsens/signin/service/HolidaysService.java new file mode 100644 index 00000000..9db0dbe5 --- /dev/null +++ b/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 workday = new ArrayList<>(); + //非工作日 + List 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 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 = 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; + } +} diff --git a/signin/src/main/java/com/ccsens/signin/service/IHolidaysService.java b/signin/src/main/java/com/ccsens/signin/service/IHolidaysService.java new file mode 100644 index 00000000..fe7f2109 --- /dev/null +++ b/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); +} diff --git a/signin/src/main/resources/mapper_dao/ProjectDap.xml b/signin/src/main/resources/mapper_dao/ProjectDap.xml index 1ee98ff9..65765744 100644 --- a/signin/src/main/resources/mapper_dao/ProjectDap.xml +++ b/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 <= #{endTime} - and p.project_end_time >= #{startTime} + and ( + p.project_end_time >= #{startTime} + or + p.project_end_time = 0 + ) AND p.project_id NOT IN ( SELECT sp.project_id diff --git a/signin/src/main/resources/mapper_raw/SysHolidaysMapper.xml b/signin/src/main/resources/mapper_raw/SysHolidaysMapper.xml new file mode 100644 index 00000000..ffc4b53e --- /dev/null +++ b/signin/src/main/resources/mapper_raw/SysHolidaysMapper.xml @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, year, holiday, workday, operator, created_at, updated_at, rec_status + + + + + delete from t_sys_holidays + where id = #{id,jdbcType=BIGINT} + + + delete from t_sys_holidays + + + + + + 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 into t_sys_holidays + + + id, + + + year, + + + holiday, + + + workday, + + + operator, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{year,jdbcType=VARCHAR}, + + + #{holiday,jdbcType=VARCHAR}, + + + #{workday,jdbcType=VARCHAR}, + + + #{operator,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_sys_holidays + + + 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}, + + + + + + + + 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} + + + + + + update t_sys_holidays + + + 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 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} + + \ No newline at end of file diff --git a/util/src/test/java/com/ccsens/util/OtherTest.java b/util/src/test/java/com/ccsens/util/OtherTest.java index 483ab05c..2bc25475 100644 --- a/util/src/test/java/com/ccsens/util/OtherTest.java +++ b/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; @@ -310,4 +313,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 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 workday = new ArrayList<>(); +// List 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 = 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; +// } + + + + } } From d234f3f91393d6f2ea458fd875edc054526cf38c Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 17 Nov 2021 16:55:48 +0800 Subject: [PATCH 3/3] =?UTF-8?q?20211117=E4=BF=AE=E6=94=B9=E4=B8=8D?= =?UTF-8?q?=E7=94=A8=E9=AA=8C=E8=AF=81=E7=A0=81=E7=BB=91=E5=AE=9A=E6=89=8B?= =?UTF-8?q?=E6=9C=BA=E5=8F=B7=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloudutil/bean/tall/dto/HolidaysDto.java | 15 ++++++++ .../cloudutil/bean/tall/vo/HolidaysVo.java | 18 ++++++++++ .../cloudutil/feign/Tall3FeignClient.java | 12 +++++++ .../signin/service/RelevanceUserService.java | 2 ++ .../ccsens/signin/service/UserService.java | 2 +- .../test/java/com/ccsens/util/OtherTest.java | 34 ++++++++++++------- 6 files changed, 69 insertions(+), 14 deletions(-) create mode 100644 cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/HolidaysDto.java create mode 100644 cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/HolidaysVo.java diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/HolidaysDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/HolidaysDto.java new file mode 100644 index 00000000..00807ba2 --- /dev/null +++ b/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; + } +} diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/HolidaysVo.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/HolidaysVo.java new file mode 100644 index 00000000..71d78bc6 --- /dev/null +++ b/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 workday; + private List nonWorkday; + } +} diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/Tall3FeignClient.java b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/Tall3FeignClient.java index 4ee42a33..100d801d 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/Tall3FeignClient.java +++ b/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 getHolidays(HolidaysDto.GetHolidays getHolidays); } @Slf4j @@ -75,6 +83,10 @@ class Tall3FeignClientFallBack implements FallbackFactory { return null; } + @Override + public JsonResponse getHolidays(HolidaysDto.GetHolidays getHolidays) { + return JsonResponse.newInstance().fail(); + } }; } diff --git a/signin/src/main/java/com/ccsens/signin/service/RelevanceUserService.java b/signin/src/main/java/com/ccsens/signin/service/RelevanceUserService.java index 254022d7..4413c721 100644 --- a/signin/src/main/java/com/ccsens/signin/service/RelevanceUserService.java +++ b/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); } diff --git a/signin/src/main/java/com/ccsens/signin/service/UserService.java b/signin/src/main/java/com/ccsens/signin/service/UserService.java index dfef1479..d4300c7e 100644 --- a/signin/src/main/java/com/ccsens/signin/service/UserService.java +++ b/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()); diff --git a/util/src/test/java/com/ccsens/util/OtherTest.java b/util/src/test/java/com/ccsens/util/OtherTest.java index 2bc25475..fea42f01 100644 --- a/util/src/test/java/com/ccsens/util/OtherTest.java +++ b/util/src/test/java/com/ccsens/util/OtherTest.java @@ -236,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 s = new ArrayList<>(); - s.add("11"); - s.add("22"); - - List 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 s = new ArrayList<>(); +// s.add("11"); +// s.add("22"); +// +// List 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