17 changed files with 1585 additions and 15 deletions
@ -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; |
||||
|
} |
||||
|
} |
@ -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; |
||||
|
} |
||||
|
} |
@ -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); |
||||
|
} |
||||
|
} |
@ -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; |
||||
|
} |
||||
|
} |
@ -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(); |
||||
|
} |
||||
|
} |
@ -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); |
||||
|
} |
||||
|
} |
||||
|
} |
@ -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; |
||||
|
} |
||||
|
} |
@ -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); |
||||
|
} |
@ -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; |
||||
|
} |
||||
|
} |
@ -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); |
||||
|
} |
@ -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> |
@ -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), "*"); |
||||
|
} |
||||
|
|
||||
|
} |
Loading…
Reference in new issue