对页面敏感信息进行了数据脱敏处理,给学生学籍异动模块增加了政治面貌选项和给八个学院的书记推送企业微信

This commit is contained in:
MDSMO
2025-08-18 09:35:47 +08:00
parent f983bf26c3
commit 59a345d0b9
28 changed files with 635 additions and 45 deletions

View File

@@ -1,5 +1,7 @@
package com.srs.dormitory.domain.Vo; package com.srs.dormitory.domain.Vo;
import com.srs.common.annotation.Sensitive;
import com.srs.common.enums.DesensitizedType;
import com.srs.dormitory.domain.SrsDormitoryStudent; import com.srs.dormitory.domain.SrsDormitoryStudent;
import lombok.Data; import lombok.Data;
@@ -29,6 +31,7 @@ public class SrsDormitoryStudentVo extends SrsDormitoryStudent
public String stuGender; public String stuGender;
public String roomGender; public String roomGender;
public String deptName; public String deptName;
@Sensitive(desensitizedType = DesensitizedType.PHONE)
public String phone; public String phone;
public String teacherName; public String teacherName;

View File

@@ -152,7 +152,12 @@
<groupId>org.springframework.security</groupId> <groupId>org.springframework.security</groupId>
<artifactId>spring-security-cas</artifactId> <artifactId>spring-security-cas</artifactId>
</dependency> </dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.20</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -0,0 +1,23 @@
package com.srs.common.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.srs.common.config.serializer.SensitiveJsonSerializer;
import com.srs.common.enums.DesensitizedType;
/**
* 数据脱敏注解
*
* @author ruoyi
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@JacksonAnnotationsInside
@JsonSerialize(using = SensitiveJsonSerializer.class)
public @interface Sensitive
{
DesensitizedType desensitizedType();
}

View File

@@ -0,0 +1,68 @@
package com.srs.common.config.serializer;
import java.io.IOException;
import java.util.Objects;
import cn.hutool.core.util.DesensitizedUtil;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.BeanProperty;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.ContextualSerializer;
import com.srs.common.core.domain.model.LoginUser;
import com.srs.common.annotation.Sensitive;
import com.srs.common.enums.DesensitizedType;
import com.srs.common.core.domain.model.LoginUser;
import com.srs.common.utils.SecurityUtils;
/**
* 数据脱敏序列化过滤
*
* @author ruoyi
*/
public class SensitiveJsonSerializer extends JsonSerializer<String> implements ContextualSerializer
{
private DesensitizedType desensitizedType;
@Override
public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException
{
if (desensitization())
{
gen.writeString(desensitizedType.desensitizer().apply(value));
}
else
{
gen.writeString(value);
}
}
@Override
public JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property)
throws JsonMappingException
{
Sensitive annotation = property.getAnnotation(Sensitive.class);
if (Objects.nonNull(annotation) && Objects.equals(String.class, property.getType().getRawClass()))
{
this.desensitizedType = annotation.desensitizedType();
return this;
}
return prov.findValueSerializer(property.getType(), property);
}
/**
* 是否需要脱敏处理
*/
private boolean desensitization()
{
try
{
LoginUser securityUser = SecurityUtils.getLoginUser();
// 管理员不脱敏
return !securityUser.getUser().isAdmin();
}
catch (Exception e)
{
return true;
}
}
}

View File

@@ -0,0 +1,59 @@
package com.srs.common.enums;
import java.util.function.Function;
import cn.hutool.core.util.DesensitizedUtil;
/**
* 脱敏类型
*
* @author ruoyi
*/
public enum DesensitizedType
{
/**
* 姓名第2位星号替换
*/
USERNAME(s -> s.replaceAll("(\\S)\\S(\\S*)", "$1*$2")),
/**
* 密码,全部字符都用*代替
*/
PASSWORD(DesensitizedUtil::password),
/**
* 身份证中间10位星号替换
*/
ID_CARD(s -> s.replaceAll("(\\d{4})\\d{10}(\\d{3}[Xx]|\\d{4})", "$1** **** ****$2")),
/**
* 手机号中间4位星号替换
*/
PHONE(s -> s.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2")),
/**
* 电子邮箱,仅显示第一个字母和@后面的地址显示,其他星号替换
*/
EMAIL(s -> s.replaceAll("(^.)[^@]*(@.*$)", "$1****$2")),
/**
* 银行卡号保留最后4位其他星号替换
*/
BANK_CARD(s -> s.replaceAll("\\d{15}(\\d{3})", "**** **** **** **** $1")),
/**
* 车牌号码,包含普通车辆、新能源车辆
*/
CAR_LICENSE(DesensitizedUtil::carLicense);
private final Function<String, String> desensitizer;
DesensitizedType(Function<String, String> desensitizer)
{
this.desensitizer = desensitizer;
}
public Function<String, String> desensitizer()
{
return desensitizer;
}
}

View File

@@ -0,0 +1,49 @@
package com.srs.common.utils;
/**
* 脱敏工具类
*
* @author srs
*/
public class DesensitizedUtil
{
/**
* 密码的全部字符都用*代替,比如:******
*
* @param password 密码
* @return 脱敏后的密码
*/
public static String password(String password)
{
if (StringUtils.isBlank(password))
{
return StringUtils.EMPTY;
}
return StringUtils.repeat('*', password.length());
}
/**
* 车牌中间用*代替,如果是错误的车牌,不处理
*
* @param carLicense 完整的车牌号
* @return 脱敏后的车牌
*/
public static String carLicense(String carLicense)
{
if (StringUtils.isBlank(carLicense))
{
return StringUtils.EMPTY;
}
// 普通车牌
if (carLicense.length() == 7)
{
carLicense = StringUtils.hide(carLicense, 3, 6);
}
else if (carLicense.length() == 8)
{
// 新能源车牌
carLicense = StringUtils.hide(carLicense, 3, 7);
}
return carLicense;
}
}

View File

@@ -12,8 +12,8 @@ import com.srs.common.core.text.StrFormatter;
/** /**
* 字符串工具类 * 字符串工具类
* *
* @author srs * @author ruoyi
*/ */
public class StringUtils extends org.apache.commons.lang3.StringUtils public class StringUtils extends org.apache.commons.lang3.StringUtils
{ {
@@ -23,9 +23,12 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** 下划线 */ /** 下划线 */
private static final char SEPARATOR = '_'; private static final char SEPARATOR = '_';
/** 星号 */
private static final char ASTERISK = '*';
/** /**
* 获取参数不为空值 * 获取参数不为空值
* *
* @param value defaultValue 要判断的value * @param value defaultValue 要判断的value
* @return value 返回值 * @return value 返回值
*/ */
@@ -36,7 +39,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* * 判断一个Collection是否为空 包含ListSetQueue * * 判断一个Collection是否为空 包含ListSetQueue
* *
* @param coll 要判断的Collection * @param coll 要判断的Collection
* @return true为空 false非空 * @return true为空 false非空
*/ */
@@ -47,7 +50,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* * 判断一个Collection是否非空包含ListSetQueue * * 判断一个Collection是否非空包含ListSetQueue
* *
* @param coll 要判断的Collection * @param coll 要判断的Collection
* @return true非空 false * @return true非空 false
*/ */
@@ -58,7 +61,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* * 判断一个对象数组是否为空 * * 判断一个对象数组是否为空
* *
* @param objects 要判断的对象数组 * @param objects 要判断的对象数组
** @return true为空 false非空 ** @return true为空 false非空
*/ */
@@ -69,7 +72,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* * 判断一个对象数组是否非空 * * 判断一个对象数组是否非空
* *
* @param objects 要判断的对象数组 * @param objects 要判断的对象数组
* @return true非空 false * @return true非空 false
*/ */
@@ -80,7 +83,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* * 判断一个Map是否为空 * * 判断一个Map是否为空
* *
* @param map 要判断的Map * @param map 要判断的Map
* @return true为空 false非空 * @return true为空 false非空
*/ */
@@ -91,7 +94,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* * 判断一个Map是否为空 * * 判断一个Map是否为空
* *
* @param map 要判断的Map * @param map 要判断的Map
* @return true非空 false * @return true非空 false
*/ */
@@ -102,7 +105,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* * 判断一个字符串是否为空串 * * 判断一个字符串是否为空串
* *
* @param str String * @param str String
* @return true为空 false非空 * @return true为空 false非空
*/ */
@@ -113,7 +116,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* * 判断一个字符串是否为非空串 * * 判断一个字符串是否为非空串
* *
* @param str String * @param str String
* @return true非空串 false空串 * @return true非空串 false空串
*/ */
@@ -124,7 +127,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* * 判断一个对象是否为空 * * 判断一个对象是否为空
* *
* @param object Object * @param object Object
* @return true为空 false非空 * @return true为空 false非空
*/ */
@@ -135,7 +138,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* * 判断一个对象是否非空 * * 判断一个对象是否非空
* *
* @param object Object * @param object Object
* @return true非空 false * @return true非空 false
*/ */
@@ -146,7 +149,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* * 判断一个对象是否是数组类型Java基本型别的数组 * * 判断一个对象是否是数组类型Java基本型别的数组
* *
* @param object 对象 * @param object 对象
* @return true是数组 false不是数组 * @return true是数组 false不是数组
*/ */
@@ -163,9 +166,52 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
return (str == null ? "" : str.trim()); return (str == null ? "" : str.trim());
} }
/**
* 替换指定字符串的指定区间内字符为"*"
*
* @param str 字符串
* @param startInclude 开始位置(包含)
* @param endExclude 结束位置(不包含)
* @return 替换后的字符串
*/
public static String hide(CharSequence str, int startInclude, int endExclude)
{
if (isEmpty(str))
{
return NULLSTR;
}
final int strLength = str.length();
if (startInclude > strLength)
{
return NULLSTR;
}
if (endExclude > strLength)
{
endExclude = strLength;
}
if (startInclude > endExclude)
{
// 如果起始位置大于结束位置,不替换
return NULLSTR;
}
final char[] chars = new char[strLength];
for (int i = 0; i < strLength; i++)
{
if (i >= startInclude && i < endExclude)
{
chars[i] = ASTERISK;
}
else
{
chars[i] = str.charAt(i);
}
}
return new String(chars);
}
/** /**
* 截取字符串 * 截取字符串
* *
* @param str 字符串 * @param str 字符串
* @param start 开始 * @param start 开始
* @return 结果 * @return 结果
@@ -196,7 +242,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* 截取字符串 * 截取字符串
* *
* @param str 字符串 * @param str 字符串
* @param start 开始 * @param start 开始
* @param end 结束 * @param end 结束
@@ -240,6 +286,56 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
return str.substring(start, end); return str.substring(start, end);
} }
/**
* 在字符串中查找第一个出现的 `open` 和最后一个出现的 `close` 之间的子字符串
*
* @param str 要截取的字符串
* @param open 起始字符串
* @param close 结束字符串
* @return 截取结果
*/
public static String substringBetweenLast(final String str, final String open, final String close)
{
if (isEmpty(str) || isEmpty(open) || isEmpty(close))
{
return NULLSTR;
}
final int start = str.indexOf(open);
if (start != INDEX_NOT_FOUND)
{
final int end = str.lastIndexOf(close);
if (end != INDEX_NOT_FOUND)
{
return str.substring(start + open.length(), end);
}
}
return NULLSTR;
}
/**
* 判断是否为空,并且不是空白字符
*
* @param str 要判断的value
* @return 结果
*/
public static boolean hasText(String str)
{
return (str != null && !str.isEmpty() && containsText(str));
}
private static boolean containsText(CharSequence str)
{
int strLen = str.length();
for (int i = 0; i < strLen; i++)
{
if (!Character.isWhitespace(str.charAt(i)))
{
return true;
}
}
return false;
}
/** /**
* 格式化文本, {} 表示占位符<br> * 格式化文本, {} 表示占位符<br>
* 此方法只是简单将占位符 {} 按照顺序替换为参数<br> * 此方法只是简单将占位符 {} 按照顺序替换为参数<br>
@@ -248,7 +344,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
* 通常使用format("this is {} for {}", "a", "b") -> this is a for b<br> * 通常使用format("this is {} for {}", "a", "b") -> this is a for b<br>
* 转义{} format("this is \\{} for {}", "a", "b") -> this is \{} for a<br> * 转义{} format("this is \\{} for {}", "a", "b") -> this is \{} for a<br>
* 转义\ format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br> * 转义\ format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br>
* *
* @param template 文本模板,被替换的部分用 {} 表示 * @param template 文本模板,被替换的部分用 {} 表示
* @param params 参数值 * @param params 参数值
* @return 格式化后的文本 * @return 格式化后的文本
@@ -264,7 +360,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* 是否为http(s)://开头 * 是否为http(s)://开头
* *
* @param link 链接 * @param link 链接
* @return 结果 * @return 结果
*/ */
@@ -275,7 +371,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* 字符串转set * 字符串转set
* *
* @param str 字符串 * @param str 字符串
* @param sep 分隔符 * @param sep 分隔符
* @return set集合 * @return set集合
@@ -287,7 +383,19 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* 字符串转list * 字符串转list
* *
* @param str 字符串
* @param sep 分隔符
* @return list集合
*/
public static final List<String> str2List(String str, String sep)
{
return str2List(str, sep, true, false);
}
/**
* 字符串转list
*
* @param str 字符串 * @param str 字符串
* @param sep 分隔符 * @param sep 分隔符
* @param filterBlank 过滤纯空白 * @param filterBlank 过滤纯空白
@@ -325,9 +433,9 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
} }
/** /**
* 判断给定的set列表中是否包含数组array 判断给定的数组array中是否包含给定的元素value * 判断给定的collection列表中是否包含数组array 判断给定的数组array中是否包含给定的元素value
* *
* @param set 给定的集合 * @param collection 给定的集合
* @param array 给定的数组 * @param array 给定的数组
* @return boolean 结果 * @return boolean 结果
*/ */
@@ -424,7 +532,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* 是否包含字符串 * 是否包含字符串
* *
* @param str 验证字符串 * @param str 验证字符串
* @param strs 字符串组 * @param strs 字符串组
* @return 包含返回true * @return 包含返回true
@@ -446,7 +554,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如HELLO_WORLD->HelloWorld * 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如HELLO_WORLD->HelloWorld
* *
* @param name 转换前的下划线大写方式命名的字符串 * @param name 转换前的下划线大写方式命名的字符串
* @return 转换后的驼峰式命名的字符串 * @return 转换后的驼峰式命名的字符串
*/ */
@@ -520,7 +628,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* 查找指定字符串是否匹配指定字符串列表中的任意一个字符串 * 查找指定字符串是否匹配指定字符串列表中的任意一个字符串
* *
* @param str 指定字符串 * @param str 指定字符串
* @param strs 需要检查的字符串数组 * @param strs 需要检查的字符串数组
* @return 是否匹配 * @return 是否匹配
@@ -542,11 +650,11 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
} }
/** /**
* 判断url是否与规则配置: * 判断url是否与规则配置:
* ? 表示单个字符; * ? 表示单个字符;
* * 表示一层路径内的任意字符串,不可跨层级; * * 表示一层路径内的任意字符串,不可跨层级;
* ** 表示任意层路径; * ** 表示任意层路径;
* *
* @param pattern 匹配规则 * @param pattern 匹配规则
* @param url 需要匹配的url * @param url 需要匹配的url
* @return * @return
@@ -565,7 +673,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* 数字左边补齐0使之达到指定长度。注意如果数字转换为字符串后长度大于size则只保留 最后size个字符。 * 数字左边补齐0使之达到指定长度。注意如果数字转换为字符串后长度大于size则只保留 最后size个字符。
* *
* @param num 数字对象 * @param num 数字对象
* @param size 字符串指定长度 * @param size 字符串指定长度
* @return 返回数字的字符串格式,该字符串为指定长度。 * @return 返回数字的字符串格式,该字符串为指定长度。
@@ -577,7 +685,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/** /**
* 字符串左补齐。如果原始字符串s长度大于size则只保留最后size个字符。 * 字符串左补齐。如果原始字符串s长度大于size则只保留最后size个字符。
* *
* @param s 原始字符串 * @param s 原始字符串
* @param size 字符串指定长度 * @param size 字符串指定长度
* @param c 用于补齐的字符 * @param c 用于补齐的字符
@@ -611,4 +719,4 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
} }
return sb.toString(); return sb.toString();
} }
} }

View File

@@ -2,6 +2,8 @@ package com.srs.comprehensive.domain;
import com.srs.common.annotation.Excel; import com.srs.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.srs.common.annotation.Sensitive;
import com.srs.common.enums.DesensitizedType;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.*; import lombok.*;
@@ -70,6 +72,7 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("联系电话") @ApiModelProperty("联系电话")
@TableField("contact_number") @TableField("contact_number")
@Excel(name = "联系电话") @Excel(name = "联系电话")
@Sensitive(desensitizedType = DesensitizedType.PHONE)
private String contactNumber; private String contactNumber;
/** /**

View File

@@ -143,6 +143,16 @@ public class RtStuDisqualification extends BaseEntity {
@Excel(name = "籍贯") @Excel(name = "籍贯")
private String jg; private String jg;
/**
* 政治面貌
*/
@ApiModelProperty("政治面貌")
@TableField("political_status")
@Excel(name = "政治面貌")
private String politicalStatus;
/** /**
* 市/县 * 市/县
*/ */

View File

@@ -148,6 +148,14 @@ private static final long serialVersionUID=1L;
@Excel(name = "籍贯") @Excel(name = "籍贯")
private String jg; private String jg;
/**
* 政治面貌
*/
@ApiModelProperty("政治面貌")
@TableField("political_status")
@Excel(name = "政治面貌")
private String politicalStatus;
/** /**
* 市/县 * 市/县
*/ */

View File

@@ -147,6 +147,14 @@ public class RtStuQuitSchool extends BaseEntity {
@Excel(name = "籍贯") @Excel(name = "籍贯")
private String jg; private String jg;
/**
* 政治面貌
*/
@ApiModelProperty("政治面貌")
@TableField("political_status")
@Excel(name = "政治面貌")
private String politicalStatus;
/** /**
* 市/县 * 市/县
*/ */

View File

@@ -139,6 +139,14 @@ public class RtStuReentrySchool extends BaseEntity {
@Excel(name = "籍贯") @Excel(name = "籍贯")
private String jg; private String jg;
/**
* 政治面貌
*/
@ApiModelProperty("政治面貌")
@TableField("political_status")
@Excel(name = "政治面貌")
private String politicalStatus;
/** /**
* 市/县 * 市/县
*/ */

View File

@@ -1,5 +1,7 @@
package com.srs.routine.domain.vo; package com.srs.routine.domain.vo;
import com.srs.common.annotation.Sensitive;
import com.srs.common.enums.DesensitizedType;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -35,12 +37,14 @@ public class StuLeaveApplicationDetailsVo implements Serializable {
private String className; private String className;
@ApiModelProperty("联系电话") @ApiModelProperty("联系电话")
@Sensitive(desensitizedType = DesensitizedType.PHONE)
private String phoneNumber; private String phoneNumber;
@ApiModelProperty("父亲姓名") @ApiModelProperty("父亲姓名")
private String fatherName; private String fatherName;
@ApiModelProperty("父亲联系电话") @ApiModelProperty("父亲联系电话")
@Sensitive(desensitizedType = DesensitizedType.PHONE)
private String fatherRelation; private String fatherRelation;
@ApiModelProperty("请假事由") @ApiModelProperty("请假事由")

View File

@@ -68,6 +68,7 @@ public interface NotificationManagementMapper extends BaseMapper<NotificationMan
List<SrsGrade> selectGradeList(); List<SrsGrade> selectGradeList();
/** /**
*
* 根据年级ID列表查询学生用户ID * 根据年级ID列表查询学生用户ID
* *
* @param gradeIds 年级ID列表 * @param gradeIds 年级ID列表

View File

@@ -214,7 +214,6 @@ public class NotificationManagementServiceImpl extends ServiceImpl<NotificationM
return i; return i;
} }
} }
return result; return result;
} }
@@ -246,6 +245,7 @@ public class NotificationManagementServiceImpl extends ServiceImpl<NotificationM
String toUser = String.join("|", batch); String toUser = String.join("|", batch);
// 调用企业微信发送消息方法 // 调用企业微信发送消息方法
weChatUtil.sendTextMessage(toUser, content); weChatUtil.sendTextMessage(toUser, content);
} }
} }

View File

@@ -7,10 +7,12 @@ import com.srs.common.core.domain.entity.SysUser;
import com.srs.common.doman.dto.ProcessResultDto; import com.srs.common.doman.dto.ProcessResultDto;
import com.srs.common.utils.DateUtils; import com.srs.common.utils.DateUtils;
import com.srs.common.utils.SecurityUtils; import com.srs.common.utils.SecurityUtils;
import com.srs.common.utils.WeChatUtil;
import com.srs.flowable.service.IFlowDefinitionService; import com.srs.flowable.service.IFlowDefinitionService;
import com.srs.routine.domain.RtStuDisqualification; import com.srs.routine.domain.RtStuDisqualification;
import com.srs.routine.mapper.RtStuDisqualificationMapper; import com.srs.routine.mapper.RtStuDisqualificationMapper;
import com.srs.routine.service.IRtStuDisqualificationService; import com.srs.routine.service.IRtStuDisqualificationService;
import com.srs.system.mapper.SysUserMapper;
import com.srs.system.service.ISysUserService; import com.srs.system.service.ISysUserService;
import org.flowable.engine.IdentityService; import org.flowable.engine.IdentityService;
import org.flowable.engine.TaskService; import org.flowable.engine.TaskService;
@@ -21,6 +23,7 @@ import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 给予学生退学申请Service业务层处理 * 给予学生退学申请Service业务层处理
@@ -36,6 +39,12 @@ public class RtStuDisqualificationServiceImpl extends ServiceImpl<RtStuDisqualif
@Autowired @Autowired
private ISysUserService sysUserService; private ISysUserService sysUserService;
@Autowired
private SysUserMapper sysUserMapper;
@Autowired
public WeChatUtil weChatUtil;
/** /**
* 查询给予学生退学申请 * 查询给予学生退学申请
* *
@@ -193,12 +202,52 @@ public class RtStuDisqualificationServiceImpl extends ServiceImpl<RtStuDisqualif
.list(); .list();
// 保存审核结果到任务变量中 // 保存审核结果到任务变量中
variables.put("approved", true); variables.put("approved", true);
// 标记是否有任务被完成
boolean taskCompleted = false;
// 完成待办任务列表 // 完成待办任务列表
for (Task task : tasks) { for (Task task : tasks) {
String taskId = task.getId(); String taskId = task.getId();
String disqualificationId = taskService.getVariable(taskId, "disqualificationId").toString(); String disqualificationId = taskService.getVariable(taskId, "disqualificationId").toString();
if (disqualificationId.equals(rtStuDisqualification.getDisqualificationId().toString())) { if (disqualificationId.equals(rtStuDisqualification.getDisqualificationId().toString())) {
taskService.complete(task.getId(), variables); taskService.complete(task.getId(), variables);
taskCompleted = true;
}
}
// 所有相关任务完成后,发送企业微信消息
if (taskCompleted) {
try {
// 获取申请人信息
String applicantName = rtStuDisqualification.getStuName();
String politicalStatus = rtStuDisqualification.getPoliticalStatus();
SysUser sysUser = new SysUser();
sysUser.setRoleId(118L);
List<SysUser> sysUsers = sysUserMapper.selectAllocatedList(sysUser);
// 提取二级学院的书记的账号
List<String> userNames = sysUsers.stream()
.map(SysUser::getUserName)
.collect(Collectors.toList());
// 只有政治面貌是团员时才发送企业微信消息
if ("团员".equals(politicalStatus)) {
// 消息内容
String messageContent = "【给予学生退学】" + applicantName + "的给予学生退学申请已通过审核。";
int batchSize = 10;
for (int i = 0; i < userNames.size(); i += batchSize) {
List<String> batch = userNames.subList(i, Math.min(i + batchSize, userNames.size()));
// 拼接成"user1|user2|user3"格式
String toUser = String.join("|", batch);
// 调用企业微信发送消息方法
weChatUtil.sendTextMessage(toUser, messageContent);
}
}
} catch (Exception e) {
log.error("发送企业微信消息失败:", e);
} }
} }

View File

@@ -3,14 +3,19 @@ package com.srs.routine.service.impl;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.srs.common.core.domain.AjaxResult; import com.srs.common.core.domain.AjaxResult;
import com.srs.common.core.domain.entity.SysUser;
import com.srs.common.doman.dto.ProcessResultDto; import com.srs.common.doman.dto.ProcessResultDto;
import com.srs.common.utils.DateUtils; import com.srs.common.utils.DateUtils;
import com.srs.common.utils.SecurityUtils; import com.srs.common.utils.SecurityUtils;
import com.srs.common.utils.WeChatUtil;
import com.srs.flowable.domain.StuDropOutSchool;
import com.srs.flowable.service.IFlowDefinitionService; import com.srs.flowable.service.IFlowDefinitionService;
import com.srs.routine.domain.RtStuQuitSchool; import com.srs.routine.domain.RtStuQuitSchool;
import com.srs.system.mapper.SysUserMapper;
import org.flowable.engine.IdentityService; import org.flowable.engine.IdentityService;
import org.flowable.engine.TaskService; import org.flowable.engine.TaskService;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
@@ -32,6 +37,11 @@ import org.springframework.transaction.annotation.Transactional;
public class RtStuDropOutSchoolServiceImpl extends ServiceImpl<RtStuDropOutSchoolMapper, RtStuDropOutSchool> implements IRtStuDropOutSchoolService { public class RtStuDropOutSchoolServiceImpl extends ServiceImpl<RtStuDropOutSchoolMapper, RtStuDropOutSchool> implements IRtStuDropOutSchoolService {
@Autowired @Autowired
private RtStuDropOutSchoolMapper rtStuDropOutSchoolMapper; private RtStuDropOutSchoolMapper rtStuDropOutSchoolMapper;
@Autowired
private SysUserMapper sysUserMapper;
@Autowired
public WeChatUtil weChatUtil;
/** /**
* 查询学生退学申请记录 * 查询学生退学申请记录
@@ -60,7 +70,7 @@ public class RtStuDropOutSchoolServiceImpl extends ServiceImpl<RtStuDropOutSchoo
* *
* @param rtStuDropOutSchool 学生退学申请记录 * @param rtStuDropOutSchool 学生退学申请记录
* @return 结果 * @return 结果
*/ * */
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public int insertRtStuDropOutSchool(RtStuDropOutSchool rtStuDropOutSchool) { public int insertRtStuDropOutSchool(RtStuDropOutSchool rtStuDropOutSchool) {
@@ -160,12 +170,50 @@ public class RtStuDropOutSchoolServiceImpl extends ServiceImpl<RtStuDropOutSchoo
.list(); .list();
// 保存审核结果到任务变量中 // 保存审核结果到任务变量中
variables.put("approved", true); variables.put("approved", true);
// 标记是否有任务被完成
boolean taskCompleted = false;
// 完成待办任务列表 // 完成待办任务列表
for (Task task : tasks) { for (Task task : tasks) {
String taskId = task.getId(); String taskId = task.getId();
String dropOutSchoolId = taskService.getVariable(taskId, "dropOutSchoolId").toString(); String dropOutSchoolId = taskService.getVariable(taskId, "dropOutSchoolId").toString();
if (dropOutSchoolId.equals(rtStuDropOutSchool.getDropOutSchoolId().toString())) { if (dropOutSchoolId.equals(rtStuDropOutSchool.getDropOutSchoolId().toString())) {
taskService.complete(task.getId(), variables); taskService.complete(task.getId(), variables);
taskCompleted = true;
}
}
// 所有相关任务完成后,发送企业微信消息
if (taskCompleted) {
try {
// 获取申请人信息
String applicantName = rtStuDropOutSchool.getStuName();
String politicalStatus = rtStuDropOutSchool.getPoliticalStatus();
SysUser sysUser = new SysUser();
sysUser.setRoleId(118L);
List<SysUser> sysUsers = sysUserMapper.selectAllocatedList(sysUser);
// 提取二级学院的书记的账号
List<String> userNames = sysUsers.stream()
.map(SysUser::getUserName)
.collect(Collectors.toList());
// 只有政治面貌是团员时才发送企业微信消息
if ("团员".equals(politicalStatus)) {
// 消息内容
String messageContent = "【退学申请】" + applicantName + "的退学申请已通过审核。";
int batchSize = 10;
for (int i = 0; i < userNames.size(); i += batchSize) {
List<String> batch = userNames.subList(i, Math.min(i + batchSize, userNames.size()));
// 拼接成"user1|user2|user3"格式
String toUser = String.join("|", batch);
// 调用企业微信发送消息方法
weChatUtil.sendTextMessage(toUser, messageContent);
}
}
} catch (Exception e) {
log.error("发送企业微信消息失败:", e);
} }
} }

View File

@@ -22,6 +22,9 @@ public class RtStuMultiLevelReviewServiceImpl extends ServiceImpl<RtStuMultiLeve
@Autowired @Autowired
private RtStuMultiLevelReviewMapper rtStuMultiLevelReviewMapper; private RtStuMultiLevelReviewMapper rtStuMultiLevelReviewMapper;
@Autowired
public WeChatUtil weChatUtil;
/** /**
* 查询审核信息 * 查询审核信息
* *
@@ -116,8 +119,9 @@ public class RtStuMultiLevelReviewServiceImpl extends ServiceImpl<RtStuMultiLeve
if (messageContent == null || messageContent.trim().isEmpty()) { if (messageContent == null || messageContent.trim().isEmpty()) {
messageContent = "你申请办理的学生证制作完成长堽校区前往xxx领取里建校区前往xxx领取"; messageContent = "你申请办理的学生证制作完成长堽校区前往xxx领取里建校区前往xxx领取";
} }
WeChatUtil weChatUtil = new WeChatUtil();
weChatUtil.sendTextMessage(rtStuMultiLevelReview.getStuNo(), messageContent); weChatUtil.sendTextMessage(rtStuMultiLevelReview.getStuNo(), messageContent);
} }
return result; return result;
} }

View File

@@ -3,13 +3,17 @@ package com.srs.routine.service.impl;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.srs.common.core.domain.AjaxResult; import com.srs.common.core.domain.AjaxResult;
import com.srs.common.core.domain.entity.SysUser;
import com.srs.common.doman.dto.ProcessResultDto; import com.srs.common.doman.dto.ProcessResultDto;
import com.srs.common.utils.DateUtils; import com.srs.common.utils.DateUtils;
import com.srs.common.utils.SecurityUtils; import com.srs.common.utils.SecurityUtils;
import com.srs.common.utils.WeChatUtil;
import com.srs.flowable.service.IFlowDefinitionService; import com.srs.flowable.service.IFlowDefinitionService;
import com.srs.system.mapper.SysUserMapper;
import org.flowable.engine.IdentityService; import org.flowable.engine.IdentityService;
import org.flowable.engine.TaskService; import org.flowable.engine.TaskService;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
@@ -31,6 +35,10 @@ import org.springframework.transaction.annotation.Transactional;
public class RtStuQuitSchoolServiceImpl extends ServiceImpl<RtStuQuitSchoolMapper, RtStuQuitSchool> implements IRtStuQuitSchoolService { public class RtStuQuitSchoolServiceImpl extends ServiceImpl<RtStuQuitSchoolMapper, RtStuQuitSchool> implements IRtStuQuitSchoolService {
@Autowired @Autowired
private RtStuQuitSchoolMapper rtStuQuitSchoolMapper; private RtStuQuitSchoolMapper rtStuQuitSchoolMapper;
@Autowired
private SysUserMapper sysUserMapper;
@Autowired
public WeChatUtil weChatUtil;
/** /**
* 查询休学申请记录 * 查询休学申请记录
@@ -124,19 +132,58 @@ public class RtStuQuitSchoolServiceImpl extends ServiceImpl<RtStuQuitSchoolMappe
.list(); .list();
// 保存审核结果到任务变量中 // 保存审核结果到任务变量中
variables.put("approved", true); variables.put("approved", true);
// 标记是否有任务被完成
boolean taskCompleted = false;
// 完成待办任务列表 // 完成待办任务列表
for (Task task : tasks) { for (Task task : tasks) {
String taskId = task.getId(); String taskId = task.getId();
String quitSchoolId = taskService.getVariable(taskId, "quitSchoolId").toString(); String quitSchoolId = taskService.getVariable(taskId, "quitSchoolId").toString();
if (quitSchoolId.equals(rtStuQuitSchool.getQuitSchoolId().toString())) { if (quitSchoolId.equals(rtStuQuitSchool.getQuitSchoolId().toString())) {
taskService.complete(task.getId(), variables); taskService.complete(task.getId(), variables);
taskCompleted = true;
} }
} }
// 所有相关任务完成后,发送企业微信消息
if (taskCompleted) {
try {
// 获取申请人信息
String applicantName = rtStuQuitSchool.getStuName();
String politicalStatus = rtStuQuitSchool.getPoliticalStatus();
SysUser sysUser = new SysUser();
sysUser.setRoleId(118L);
List<SysUser> sysUsers = sysUserMapper.selectAllocatedList(sysUser);
// 提取二级学院的书记的账号
List<String> userNames = sysUsers.stream()
.map(SysUser::getUserName)
.collect(Collectors.toList());
// 只有政治面貌是团员时才发送企业微信消息
if ("团员".equals(politicalStatus)) {
// 消息内容
String messageContent = "【休学申请】" + applicantName + "的休学申请已通过审核。";
int batchSize = 10;
for (int i = 0; i < userNames.size(); i += batchSize) {
List<String> batch = userNames.subList(i, Math.min(i + batchSize, userNames.size()));
// 拼接成"user1|user2|user3"格式
String toUser = String.join("|", batch);
// 调用企业微信发送消息方法
weChatUtil.sendTextMessage(toUser, messageContent);
}
}
} catch (Exception e) {
log.error("发送企业微信消息失败:", e);
}
}
return dto; return dto;
} else { } else {
return null; return null;
} }
} }
/** /**

View File

@@ -3,13 +3,16 @@ package com.srs.routine.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.srs.common.core.domain.AjaxResult; import com.srs.common.core.domain.AjaxResult;
import com.srs.common.core.domain.entity.SysUser;
import com.srs.common.doman.dto.ProcessResultDto; import com.srs.common.doman.dto.ProcessResultDto;
import com.srs.common.utils.DateUtils; import com.srs.common.utils.DateUtils;
import com.srs.common.utils.SecurityUtils; import com.srs.common.utils.SecurityUtils;
import com.srs.common.utils.WeChatUtil;
import com.srs.flowable.service.IFlowDefinitionService; import com.srs.flowable.service.IFlowDefinitionService;
import com.srs.routine.domain.RtStuReentrySchool; import com.srs.routine.domain.RtStuReentrySchool;
import com.srs.routine.mapper.RtStuReentrySchoolMapper; import com.srs.routine.mapper.RtStuReentrySchoolMapper;
import com.srs.routine.service.IRtStuReentrySchoolService; import com.srs.routine.service.IRtStuReentrySchoolService;
import com.srs.system.mapper.SysUserMapper;
import org.flowable.engine.IdentityService; import org.flowable.engine.IdentityService;
import org.flowable.engine.TaskService; import org.flowable.engine.TaskService;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
@@ -19,6 +22,7 @@ import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 复学申请记录Service业务层处理 * 复学申请记录Service业务层处理
@@ -31,6 +35,12 @@ public class RtStuReentrySchoolServiceImpl extends ServiceImpl<RtStuReentrySchoo
@Autowired @Autowired
private RtStuReentrySchoolMapper rtStuReentrySchoolMapper; private RtStuReentrySchoolMapper rtStuReentrySchoolMapper;
@Autowired
private SysUserMapper sysUserMapper;
@Autowired
public WeChatUtil weChatUtil;
/** /**
* 查询复学申请记录 * 查询复学申请记录
* *
@@ -158,6 +168,7 @@ public class RtStuReentrySchoolServiceImpl extends ServiceImpl<RtStuReentrySchoo
@Autowired @Autowired
IdentityService identityService; IdentityService identityService;
private ProcessResultDto startReentrySchoolProcess(RtStuReentrySchool rtStuReentrySchool) { private ProcessResultDto startReentrySchoolProcess(RtStuReentrySchool rtStuReentrySchool) {
Map<String, Object> variables = new HashMap<>(); Map<String, Object> variables = new HashMap<>();
variables.put("reentryId", rtStuReentrySchool.getReentryId().toString()); variables.put("reentryId", rtStuReentrySchool.getReentryId().toString());
@@ -185,12 +196,47 @@ public class RtStuReentrySchoolServiceImpl extends ServiceImpl<RtStuReentrySchoo
.list(); .list();
// 保存审核结果到任务变量中 // 保存审核结果到任务变量中
variables.put("approved", true); variables.put("approved", true);
// 标记是否有任务被完成
boolean taskCompleted = false;
// 完成待办任务列表 // 完成待办任务列表
for (Task task : tasks) { for (Task task : tasks) {
String taskId = task.getId(); String taskId = task.getId();
String reentryId = taskService.getVariable(taskId, "reentryId").toString(); String reentryId = taskService.getVariable(taskId, "reentryId").toString();
if (reentryId.equals(rtStuReentrySchool.getReentryId().toString())) { if (reentryId.equals(rtStuReentrySchool.getReentryId().toString())) {
taskService.complete(task.getId(), variables); taskService.complete(task.getId(), variables);
taskCompleted = true;
}
}
// 所有相关任务完成后,发送企业微信消息
if (taskCompleted) {
try {
// 获取申请人信息
String applicantName = rtStuReentrySchool.getStuName();
String politicalStatus = rtStuReentrySchool.getPoliticalStatus();
SysUser sysUser = new SysUser();
sysUser.setRoleId(118L);
List<SysUser> sysUsers = sysUserMapper.selectAllocatedList(sysUser);
// 提取二级学院的书记的账号
List<String> userNames = sysUsers.stream()
.map(SysUser::getUserName)
.collect(Collectors.toList());
// 只有政治面貌是团员时才发送企业微信消息
if ("团员".equals(politicalStatus)) {
// 消息内容
String messageContent = "【复学申请】" + applicantName + "的复学申请已通过审核。";
int batchSize = 10;
for (int i = 0; i < userNames.size(); i += batchSize) {
List<String> batch = userNames.subList(i, Math.min(i + batchSize, userNames.size()));
// 拼接成"user1|user2|user3"格式
String toUser = String.join("|", batch);
// 调用企业微信发送消息方法
weChatUtil.sendTextMessage(toUser, messageContent);
}
}
} catch (Exception e) {
log.error("发送企业微信消息失败:", e);
} }
} }

View File

@@ -20,6 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="parentPhone" column="parent_phone" /> <result property="parentPhone" column="parent_phone" />
<result property="parentName" column="parent_name" /> <result property="parentName" column="parent_name" />
<result property="jg" column="jg" /> <result property="jg" column="jg" />
<result property="politicalStatus" column="political_status" />
<result property="hksz2" column="hksz2" /> <result property="hksz2" column="hksz2" />
<result property="attachmentUpload" column="attachment_upload" /> <result property="attachmentUpload" column="attachment_upload" />
<result property="reasonApplying" column="reason_applying" /> <result property="reasonApplying" column="reason_applying" />
@@ -44,7 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectRtStuDisqualificationVo"> <sql id="selectRtStuDisqualificationVo">
select disqualification_id, applicant_name, stu_no, stu_name, stu_id, gender, department_Name, grade_name, class_name, mz, select disqualification_id, applicant_name, stu_no, stu_name, stu_id, gender, department_Name, grade_name, class_name, mz,
birthday, parent_phone, parent_name, jg, hksz2, attachment_upload, reason_applying, apply_signature, apply_status, submission_status, birthday, parent_phone, parent_name, jg,political_status,hksz2, attachment_upload, reason_applying, apply_signature, apply_status, submission_status,
drop_out_type, process_instance_id, deploy_id, create_by, create_time, update_by, update_time, remark, ideological_education, drop_out_type, process_instance_id, deploy_id, create_by, create_time, update_by, update_time, remark, ideological_education,
instruction_school_hours, ihandling_suggestion, reentry_year, reentry_number, disqualificatio_type ,applicant_id from rt_stu_disqualification instruction_school_hours, ihandling_suggestion, reentry_year, reentry_number, disqualificatio_type ,applicant_id from rt_stu_disqualification
</sql> </sql>
@@ -65,6 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null and parentPhone != ''"> and parent_phone = #{parentPhone}</if> <if test="parentPhone != null and parentPhone != ''"> and parent_phone = #{parentPhone}</if>
<if test="parentName != null and parentName != ''"> and parent_name like concat('%', #{parentName}, '%')</if> <if test="parentName != null and parentName != ''"> and parent_name like concat('%', #{parentName}, '%')</if>
<if test="jg != null and jg != ''"> and jg = #{jg}</if> <if test="jg != null and jg != ''"> and jg = #{jg}</if>
<if test="politicalStatus != null and politicalStatus != ''"> and political_status = #{politicalStatus}</if>
<if test="hksz2 != null and hksz2 != ''"> and hksz2 = #{hksz2}</if> <if test="hksz2 != null and hksz2 != ''"> and hksz2 = #{hksz2}</if>
<if test="attachmentUpload != null and attachmentUpload != ''"> and attachment_upload = #{attachmentUpload}</if> <if test="attachmentUpload != null and attachmentUpload != ''"> and attachment_upload = #{attachmentUpload}</if>
<if test="reasonApplying != null and reasonApplying != ''"> and reason_applying = #{reasonApplying}</if> <if test="reasonApplying != null and reasonApplying != ''"> and reason_applying = #{reasonApplying}</if>
@@ -106,6 +108,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.parent_phone, a.parent_phone,
a.parent_name, a.parent_name,
a.jg, a.jg,
a.political_status,
a.hksz2, a.hksz2,
a.attachment_upload, a.attachment_upload,
a.reason_applying, a.reason_applying,
@@ -162,6 +165,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null">parent_phone,</if> <if test="parentPhone != null">parent_phone,</if>
<if test="parentName != null">parent_name,</if> <if test="parentName != null">parent_name,</if>
<if test="jg != null">jg,</if> <if test="jg != null">jg,</if>
<if test="politicalStatus != null">political_status,</if>
<if test="hksz2 != null">hksz2,</if> <if test="hksz2 != null">hksz2,</if>
<if test="attachmentUpload != null">attachment_upload,</if> <if test="attachmentUpload != null">attachment_upload,</if>
<if test="reasonApplying != null">reason_applying,</if> <if test="reasonApplying != null">reason_applying,</if>
@@ -198,6 +202,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null">#{parentPhone},</if> <if test="parentPhone != null">#{parentPhone},</if>
<if test="parentName != null">#{parentName},</if> <if test="parentName != null">#{parentName},</if>
<if test="jg != null">#{jg},</if> <if test="jg != null">#{jg},</if>
<if test="politicalStatus != null">#{politicalStatus},</if>
<if test="hksz2 != null">#{hksz2},</if> <if test="hksz2 != null">#{hksz2},</if>
<if test="attachmentUpload != null">#{attachmentUpload},</if> <if test="attachmentUpload != null">#{attachmentUpload},</if>
<if test="reasonApplying != null">#{reasonApplying},</if> <if test="reasonApplying != null">#{reasonApplying},</if>
@@ -238,6 +243,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null">parent_phone = #{parentPhone},</if> <if test="parentPhone != null">parent_phone = #{parentPhone},</if>
<if test="parentName != null">parent_name = #{parentName},</if> <if test="parentName != null">parent_name = #{parentName},</if>
<if test="jg != null">jg = #{jg},</if> <if test="jg != null">jg = #{jg},</if>
<if test="politicalStatus != null">political_status = #{politicalStatus},</if>
<if test="hksz2 != null">hksz2 = #{hksz2},</if> <if test="hksz2 != null">hksz2 = #{hksz2},</if>
<if test="attachmentUpload != null">attachment_upload = #{attachmentUpload},</if> <if test="attachmentUpload != null">attachment_upload = #{attachmentUpload},</if>
<if test="reasonApplying != null">reason_applying = #{reasonApplying},</if> <if test="reasonApplying != null">reason_applying = #{reasonApplying},</if>

View File

@@ -20,6 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="parentPhone" column="parent_phone" /> <result property="parentPhone" column="parent_phone" />
<result property="parentName" column="parent_name" /> <result property="parentName" column="parent_name" />
<result property="jg" column="jg" /> <result property="jg" column="jg" />
<result property="politicalStatus" column="political_status" />
<result property="hksz2" column="hksz2" /> <result property="hksz2" column="hksz2" />
<result property="attachmentUpload" column="attachment_upload" /> <result property="attachmentUpload" column="attachment_upload" />
<result property="reasonApplying" column="reason_applying" /> <result property="reasonApplying" column="reason_applying" />
@@ -45,7 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectRtStuDropOutSchoolVo"> <sql id="selectRtStuDropOutSchoolVo">
select drop_out_school_id, applicant_id, applicant_name, stu_no, stu_name, stu_id, gender, department_Name, grade_name, select drop_out_school_id, applicant_id, applicant_name, stu_no, stu_name, stu_id, gender, department_Name, grade_name,
class_name, mz, birthday, parent_phone, parent_name, jg, hksz2, attachment_upload, reason_applying, apply_signature, class_name, mz, birthday, parent_phone, parent_name,jg,political_status,hksz2, attachment_upload, reason_applying, apply_signature,
ideological_education, Instruction_school_hours, apply_status, submission_status, drop_out_type, process_instance_id, ideological_education, Instruction_school_hours, apply_status, submission_status, drop_out_type, process_instance_id,
deploy_id, create_by, create_time, update_by, update_time, remark, quit_startTime, quit_endTime, quit_year, quit_number,drop_out_category deploy_id, create_by, create_time, update_by, update_time, remark, quit_startTime, quit_endTime, quit_year, quit_number,drop_out_category
from rt_stu_drop_out_school from rt_stu_drop_out_school
@@ -68,6 +69,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null and parentPhone != ''"> and parent_phone = #{parentPhone}</if> <if test="parentPhone != null and parentPhone != ''"> and parent_phone = #{parentPhone}</if>
<if test="parentName != null and parentName != ''"> and parent_name like concat('%', #{parentName}, '%')</if> <if test="parentName != null and parentName != ''"> and parent_name like concat('%', #{parentName}, '%')</if>
<if test="jg != null and jg != ''"> and jg = #{jg}</if> <if test="jg != null and jg != ''"> and jg = #{jg}</if>
<if test="politicalStatus != null and politicalStatus != ''"> and political_status = #{politicalStatus}</if>
<if test="hksz2 != null and hksz2 != ''"> and hksz2 = #{hksz2}</if> <if test="hksz2 != null and hksz2 != ''"> and hksz2 = #{hksz2}</if>
<if test="attachmentUpload != null and attachmentUpload != ''"> and attachment_upload = #{attachmentUpload}</if> <if test="attachmentUpload != null and attachmentUpload != ''"> and attachment_upload = #{attachmentUpload}</if>
<if test="reasonApplying != null and reasonApplying != ''"> and reason_applying = #{reasonApplying}</if> <if test="reasonApplying != null and reasonApplying != ''"> and reason_applying = #{reasonApplying}</if>
@@ -95,7 +97,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectRtStuDropOutSchoolListByXW" parameterType="RtStuDropOutSchoolVo" resultMap="RtStuDropOutSchoolResult"> <select id="selectRtStuDropOutSchoolListByXW" parameterType="RtStuDropOutSchoolVo" resultMap="RtStuDropOutSchoolResult">
select a.drop_out_school_id, a.applicant_id, a.applicant_name, a.stu_no, a.stu_name, a.stu_id, a.gender, a.department_Name, a.grade_name, select a.drop_out_school_id, a.applicant_id, a.applicant_name, a.stu_no, a.stu_name, a.stu_id, a.gender, a.department_Name, a.grade_name,
a.class_name, a.mz, a.birthday, a.parent_phone, a.parent_name, a.jg, a.hksz2, a.attachment_upload, a.reason_applying, a.apply_signature, a.class_name, a.mz, a.birthday, a.parent_phone, a.parent_name, a.jg,a.political_status,a.hksz2, a.attachment_upload, a.reason_applying, a.apply_signature,
a.ideological_education, a.Instruction_school_hours, a.apply_status, a.submission_status, a.drop_out_type, a.process_instance_id, a.ideological_education, a.Instruction_school_hours, a.apply_status, a.submission_status, a.drop_out_type, a.process_instance_id,
a.deploy_id, a.create_by, a.create_time, a.update_by, a.update_time, a.remark, a.quit_startTime, a.quit_endTime, a.deploy_id, a.create_by, a.create_time, a.update_by, a.update_time, a.remark, a.quit_startTime, a.quit_endTime,
a.quit_year, a.quit_number,a.drop_out_category from rt_stu_drop_out_school a a.quit_year, a.quit_number,a.drop_out_category from rt_stu_drop_out_school a
@@ -132,6 +134,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null">parent_phone,</if> <if test="parentPhone != null">parent_phone,</if>
<if test="parentName != null">parent_name,</if> <if test="parentName != null">parent_name,</if>
<if test="jg != null">jg,</if> <if test="jg != null">jg,</if>
<if test="politicalStatus != null">political_status,</if>
<if test="hksz2 != null">hksz2,</if> <if test="hksz2 != null">hksz2,</if>
<if test="attachmentUpload != null">attachment_upload,</if> <if test="attachmentUpload != null">attachment_upload,</if>
<if test="reasonApplying != null">reason_applying,</if> <if test="reasonApplying != null">reason_applying,</if>
@@ -169,6 +172,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null">#{parentPhone},</if> <if test="parentPhone != null">#{parentPhone},</if>
<if test="parentName != null">#{parentName},</if> <if test="parentName != null">#{parentName},</if>
<if test="jg != null">#{jg},</if> <if test="jg != null">#{jg},</if>
<if test="politicalStatus != null">#{politicalStatus},</if>
<if test="hksz2 != null">#{hksz2},</if> <if test="hksz2 != null">#{hksz2},</if>
<if test="attachmentUpload != null">#{attachmentUpload},</if> <if test="attachmentUpload != null">#{attachmentUpload},</if>
<if test="reasonApplying != null">#{reasonApplying},</if> <if test="reasonApplying != null">#{reasonApplying},</if>
@@ -210,6 +214,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null">parent_phone = #{parentPhone},</if> <if test="parentPhone != null">parent_phone = #{parentPhone},</if>
<if test="parentName != null">parent_name = #{parentName},</if> <if test="parentName != null">parent_name = #{parentName},</if>
<if test="jg != null">jg = #{jg},</if> <if test="jg != null">jg = #{jg},</if>
<if test="politicalStatus != null">political_status = #{politicalStatus},</if>
<if test="hksz2 != null">hksz2 = #{hksz2},</if> <if test="hksz2 != null">hksz2 = #{hksz2},</if>
<if test="attachmentUpload != null">attachment_upload = #{attachmentUpload},</if> <if test="attachmentUpload != null">attachment_upload = #{attachmentUpload},</if>
<if test="reasonApplying != null">reason_applying = #{reasonApplying},</if> <if test="reasonApplying != null">reason_applying = #{reasonApplying},</if>

View File

@@ -20,6 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="parentPhone" column="parent_phone" /> <result property="parentPhone" column="parent_phone" />
<result property="parentName" column="parent_name" /> <result property="parentName" column="parent_name" />
<result property="jg" column="jg" /> <result property="jg" column="jg" />
<result property="politicalStatus" column="political_status" />
<result property="hksz2" column="hksz2" /> <result property="hksz2" column="hksz2" />
<result property="attachmentUpload" column="attachment_upload" /> <result property="attachmentUpload" column="attachment_upload" />
<result property="reasonApplying" column="reason_applying" /> <result property="reasonApplying" column="reason_applying" />
@@ -45,7 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectRtStuQuitSchoolVo"> <sql id="selectRtStuQuitSchoolVo">
select quit_school_id, applicant_id, applicant_name, stu_no, stu_name, stu_id, gender, department_Name, grade_name, class_name, mz, select quit_school_id, applicant_id, applicant_name, stu_no, stu_name, stu_id, gender, department_Name, grade_name, class_name, mz,
birthday, parent_phone, parent_name, jg, hksz2, attachment_upload, reason_applying, apply_signature, ideological_education, birthday, parent_phone, parent_name, jg,political_status,hksz2, attachment_upload, reason_applying, apply_signature, ideological_education,
Instruction_school_hours, apply_status, submission_status, process_instance_id, deploy_id, create_by, create_time, update_by, Instruction_school_hours, apply_status, submission_status, process_instance_id, deploy_id, create_by, create_time, update_by,
update_time, remark,quit_type,quit_startTime,quit_endTime,quit_year,quit_number,quit_category from rt_stu_quit_school update_time, remark,quit_type,quit_startTime,quit_endTime,quit_year,quit_number,quit_category from rt_stu_quit_school
</sql> </sql>
@@ -67,6 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null and parentPhone != ''"> and parent_phone = #{parentPhone}</if> <if test="parentPhone != null and parentPhone != ''"> and parent_phone = #{parentPhone}</if>
<if test="parentName != null and parentName != ''"> and parent_name like concat('%', #{parentName}, '%')</if> <if test="parentName != null and parentName != ''"> and parent_name like concat('%', #{parentName}, '%')</if>
<if test="jg != null and jg != ''"> and jg = #{jg}</if> <if test="jg != null and jg != ''"> and jg = #{jg}</if>
<if test="politicalStatus != null and politicalStatus != ''"> and political_status = #{politicalStatus}</if>
<if test="hksz2 != null and hksz2 != ''"> and hksz2 = #{hksz2}</if> <if test="hksz2 != null and hksz2 != ''"> and hksz2 = #{hksz2}</if>
<if test="attachmentUpload != null and attachmentUpload != ''"> and attachment_upload = #{attachmentUpload}</if> <if test="attachmentUpload != null and attachmentUpload != ''"> and attachment_upload = #{attachmentUpload}</if>
<if test="reasonApplying != null and reasonApplying != ''"> and reason_applying = #{reasonApplying}</if> <if test="reasonApplying != null and reasonApplying != ''"> and reason_applying = #{reasonApplying}</if>
@@ -93,7 +95,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectRtStuQuitSchoolListByXW" parameterType="RtStuQuitSchool" resultMap="RtStuQuitSchoolResult"> <select id="selectRtStuQuitSchoolListByXW" parameterType="RtStuQuitSchool" resultMap="RtStuQuitSchoolResult">
SELECT quit_school_id, a.applicant_id, a.applicant_name, a.stu_no, a.stu_name, a.stu_id, a.gender, a.department_Name, a.grade_name, a.class_name, a.mz, SELECT quit_school_id, a.applicant_id, a.applicant_name, a.stu_no, a.stu_name, a.stu_id, a.gender, a.department_Name, a.grade_name, a.class_name, a.mz,
a.birthday, a.parent_phone, a.parent_name, a.jg, a.hksz2, a.attachment_upload, a.reason_applying, a.apply_signature, a.ideological_education, a.birthday, a.parent_phone, a.parent_name, a.jg,a.political_status,a.hksz2, a.attachment_upload, a.reason_applying, a.apply_signature, a.ideological_education,
a.Instruction_school_hours, a.apply_status, a.submission_status, a.process_instance_id, a.deploy_id, a.create_by, a.create_time, a.update_by, a.Instruction_school_hours, a.apply_status, a.submission_status, a.process_instance_id, a.deploy_id, a.create_by, a.create_time, a.update_by,
a.update_time, a.remark,a.quit_type,a.quit_startTime,a.quit_endTime,a.quit_year,a.quit_number,a.quit_category FROM rt_stu_quit_school a a.update_time, a.remark,a.quit_type,a.quit_startTime,a.quit_endTime,a.quit_year,a.quit_number,a.quit_category FROM rt_stu_quit_school a
LEFT JOIN srs_student b ON a.stu_no = b.stu_no LEFT JOIN srs_student b ON a.stu_no = b.stu_no
@@ -129,7 +131,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectRtStuQuitSchoolListByFdy" parameterType="RtStuQuitSchool" resultMap="RtStuQuitSchoolResult"> <select id="selectRtStuQuitSchoolListByFdy" parameterType="RtStuQuitSchool" resultMap="RtStuQuitSchoolResult">
SELECT quit_school_id, applicant_id, applicant_name, a.stu_no, a.stu_name, a.stu_id, a.gender, a.department_Name, a.grade_name, a.class_name, a.mz, SELECT quit_school_id, applicant_id, applicant_name, a.stu_no, a.stu_name, a.stu_id, a.gender, a.department_Name, a.grade_name, a.class_name, a.mz,
a.birthday, a.parent_phone, a.parent_name, a.jg, a.hksz2, a.attachment_upload, a.reason_applying, a.apply_signature, a.ideological_education, a.birthday, a.parent_phone, a.parent_name, a.jg,a.political_status,a.hksz2, a.attachment_upload, a.reason_applying, a.apply_signature, a.ideological_education,
a.Instruction_school_hours, a.apply_status, a.submission_status, a.process_instance_id, a.deploy_id, a.create_by, a.create_time, a.update_by, a.Instruction_school_hours, a.apply_status, a.submission_status, a.process_instance_id, a.deploy_id, a.create_by, a.create_time, a.update_by,
a.update_time, a.remark,a.quit_type,a.quit_startTime,a.quit_endTime,a.quit_year,a.quit_number,a.quit_category FROM rt_stu_quit_school a a.update_time, a.remark,a.quit_type,a.quit_startTime,a.quit_endTime,a.quit_year,a.quit_number,a.quit_category FROM rt_stu_quit_school a
LEFT JOIN srs_student b ON a.stu_no = b.stu_no LEFT JOIN srs_student b ON a.stu_no = b.stu_no
@@ -150,6 +152,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null and parentPhone != ''"> and parent_phone = #{parentPhone}</if> <if test="parentPhone != null and parentPhone != ''"> and parent_phone = #{parentPhone}</if>
<if test="parentName != null and parentName != ''"> and parent_name like concat('%', #{parentName}, '%')</if> <if test="parentName != null and parentName != ''"> and parent_name like concat('%', #{parentName}, '%')</if>
<if test="jg != null and jg != ''"> and jg = #{jg}</if> <if test="jg != null and jg != ''"> and jg = #{jg}</if>
<if test="politicalStatus != null and politicalStatus != ''"> and political_status = #{politicalStatus}</if>
<if test="hksz2 != null and hksz2 != ''"> and hksz2 = #{hksz2}</if> <if test="hksz2 != null and hksz2 != ''"> and hksz2 = #{hksz2}</if>
<if test="attachmentUpload != null and attachmentUpload != ''"> and attachment_upload = #{attachmentUpload}</if> <if test="attachmentUpload != null and attachmentUpload != ''"> and attachment_upload = #{attachmentUpload}</if>
<if test="reasonApplying != null and reasonApplying != ''"> and reason_applying = #{reasonApplying}</if> <if test="reasonApplying != null and reasonApplying != ''"> and reason_applying = #{reasonApplying}</if>
@@ -188,6 +191,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null">parent_phone,</if> <if test="parentPhone != null">parent_phone,</if>
<if test="parentName != null">parent_name,</if> <if test="parentName != null">parent_name,</if>
<if test="jg != null">jg,</if> <if test="jg != null">jg,</if>
<if test="politicalStatus != null">political_status,</if>
<if test="hksz2 != null">hksz2,</if> <if test="hksz2 != null">hksz2,</if>
<if test="attachmentUpload != null">attachment_upload,</if> <if test="attachmentUpload != null">attachment_upload,</if>
<if test="reasonApplying != null">reason_applying,</if> <if test="reasonApplying != null">reason_applying,</if>
@@ -225,6 +229,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null">#{parentPhone},</if> <if test="parentPhone != null">#{parentPhone},</if>
<if test="parentName != null">#{parentName},</if> <if test="parentName != null">#{parentName},</if>
<if test="jg != null">#{jg},</if> <if test="jg != null">#{jg},</if>
<if test="politicalStatus != null">#{politicalStatus},</if>
<if test="hksz2 != null">#{hksz2},</if> <if test="hksz2 != null">#{hksz2},</if>
<if test="attachmentUpload != null">#{attachmentUpload},</if> <if test="attachmentUpload != null">#{attachmentUpload},</if>
<if test="reasonApplying != null">#{reasonApplying},</if> <if test="reasonApplying != null">#{reasonApplying},</if>
@@ -266,6 +271,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null">parent_phone = #{parentPhone},</if> <if test="parentPhone != null">parent_phone = #{parentPhone},</if>
<if test="parentName != null">parent_name = #{parentName},</if> <if test="parentName != null">parent_name = #{parentName},</if>
<if test="jg != null">jg = #{jg},</if> <if test="jg != null">jg = #{jg},</if>
<if test="politicalStatus != null">political_status = #{politicalStatus},</if>
<if test="hksz2 != null">hksz2 = #{hksz2},</if> <if test="hksz2 != null">hksz2 = #{hksz2},</if>
<if test="attachmentUpload != null">attachment_upload = #{attachmentUpload},</if> <if test="attachmentUpload != null">attachment_upload = #{attachmentUpload},</if>
<if test="reasonApplying != null">reason_applying = #{reasonApplying},</if> <if test="reasonApplying != null">reason_applying = #{reasonApplying},</if>

View File

@@ -19,6 +19,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="parentPhone" column="parent_phone" /> <result property="parentPhone" column="parent_phone" />
<result property="parentName" column="parent_name" /> <result property="parentName" column="parent_name" />
<result property="jg" column="jg" /> <result property="jg" column="jg" />
<result property="politicalStatus" column="political_status" />
<result property="hksz2" column="hksz2" /> <result property="hksz2" column="hksz2" />
<result property="attachmentUpload" column="attachment_upload" /> <result property="attachmentUpload" column="attachment_upload" />
<result property="reasonApplying" column="reason_applying" /> <result property="reasonApplying" column="reason_applying" />
@@ -48,7 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectRtStuReentrySchoolVo"> <sql id="selectRtStuReentrySchoolVo">
select reentry_id, stu_no, stu_name, stu_id, gender, department_Name, grade_name, class_name, mz, birthday, parent_phone, parent_name, jg, hksz2, select reentry_id, stu_no, stu_name, stu_id, gender, department_Name, grade_name, class_name, mz, birthday, parent_phone, parent_name, jg,political_status, hksz2,
attachment_upload, reason_applying, apply_signature, apply_status, submission_status, reentry_type, quit_number, process_instance_id, attachment_upload, reason_applying, apply_signature, apply_status, submission_status, reentry_type, quit_number, process_instance_id,
deploy_id, create_by, create_time, update_by, update_time, remark, ideological_education, instruction_school_hours, ihandling_suggestion, deploy_id, create_by, create_time, update_by, update_time, remark, ideological_education, instruction_school_hours, ihandling_suggestion,
quit_time, reentry_time, reentry_class, reentry_dept, reentry_cause, reentry_year, reentry_number, quit_category,applicant_name from rt_stu_reentry_school quit_time, reentry_time, reentry_class, reentry_dept, reentry_cause, reentry_year, reentry_number, quit_category,applicant_name from rt_stu_reentry_school
@@ -69,6 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null and parentPhone != ''"> and parent_phone = #{parentPhone}</if> <if test="parentPhone != null and parentPhone != ''"> and parent_phone = #{parentPhone}</if>
<if test="parentName != null and parentName != ''"> and parent_name like concat('%', #{parentName}, '%')</if> <if test="parentName != null and parentName != ''"> and parent_name like concat('%', #{parentName}, '%')</if>
<if test="jg != null and jg != ''"> and jg = #{jg}</if> <if test="jg != null and jg != ''"> and jg = #{jg}</if>
<if test="politicalStatus != null and politicalStatus != ''"> and political_status = #{politicalStatus}</if>
<if test="hksz2 != null and hksz2 != ''"> and hksz2 = #{hksz2}</if> <if test="hksz2 != null and hksz2 != ''"> and hksz2 = #{hksz2}</if>
<if test="attachmentUpload != null and attachmentUpload != ''"> and attachment_upload = #{attachmentUpload}</if> <if test="attachmentUpload != null and attachmentUpload != ''"> and attachment_upload = #{attachmentUpload}</if>
<if test="reasonApplying != null and reasonApplying != ''"> and reason_applying = #{reasonApplying}</if> <if test="reasonApplying != null and reasonApplying != ''"> and reason_applying = #{reasonApplying}</if>
@@ -100,7 +102,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="selectRtStuReentrySchoolListByXW" resultType="com.srs.routine.domain.RtStuReentrySchool"> <select id="selectRtStuReentrySchoolListByXW" resultType="com.srs.routine.domain.RtStuReentrySchool">
select a.reentry_id, a.stu_no, a.stu_name, a.stu_id, a.gender, a.department_Name, a.grade_name, a.class_name, a.mz, a.birthday, a.parent_phone, a.parent_name, a.jg, a.hksz2, select a.reentry_id, a.stu_no, a.stu_name, a.stu_id, a.gender, a.department_Name, a.grade_name, a.class_name, a.mz, a.birthday, a.parent_phone, a.parent_name, a.jg,a.political_status,a.hksz2,
a.attachment_upload, a.reason_applying, a.apply_signature, a.apply_status, a.submission_status, a.reentry_type, a.quit_number, a.process_instance_id, a.attachment_upload, a.reason_applying, a.apply_signature, a.apply_status, a.submission_status, a.reentry_type, a.quit_number, a.process_instance_id,
a.deploy_id, a.create_by, a.create_time, a.update_by, a.update_time, a.remark, a.ideological_education, a.instruction_school_hours, a.ihandling_suggestion, a.deploy_id, a.create_by, a.create_time, a.update_by, a.update_time, a.remark, a.ideological_education, a.instruction_school_hours, a.ihandling_suggestion,
a.quit_time, a.reentry_time, a.reentry_class, a.reentry_dept, a.reentry_cause, a.reentry_year, a.reentry_number, a.quit_category,a.applicant_name from rt_stu_reentry_school a a.quit_time, a.reentry_time, a.reentry_class, a.reentry_dept, a.reentry_cause, a.reentry_year, a.reentry_number, a.quit_category,a.applicant_name from rt_stu_reentry_school a
@@ -122,7 +124,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="selectRtStuReentrySchoolListByFdy" resultType="com.srs.routine.domain.RtStuReentrySchool"> <select id="selectRtStuReentrySchoolListByFdy" resultType="com.srs.routine.domain.RtStuReentrySchool">
select a.reentry_id, a.stu_no, a.stu_name, a.stu_id, a.gender, a.department_Name, a.grade_name, a.class_name, a.mz, a.birthday, a.parent_phone, a.parent_name, a.jg, a.hksz2, select a.reentry_id, a.stu_no, a.stu_name, a.stu_id, a.gender, a.department_Name, a.grade_name, a.class_name, a.mz, a.birthday, a.parent_phone, a.parent_name, a.jg,a.political_status,a.hksz2,
a.attachment_upload, a.reason_applying, a.apply_signature, a.apply_status, a.submission_status, a.reentry_type, a.quit_number, a.process_instance_id, a.attachment_upload, a.reason_applying, a.apply_signature, a.apply_status, a.submission_status, a.reentry_type, a.quit_number, a.process_instance_id,
a.deploy_id, a.create_by, a.create_time, a.update_by, a.update_time, a.remark, a.ideological_education, a.instruction_school_hours, a.ihandling_suggestion, a.deploy_id, a.create_by, a.create_time, a.update_by, a.update_time, a.remark, a.ideological_education, a.instruction_school_hours, a.ihandling_suggestion,
a.quit_time, a.reentry_time, a.reentry_class, a.reentry_dept, a.reentry_cause, a.reentry_year, a.reentry_number, a.quit_category,a.applicant_name from rt_stu_reentry_school a a.quit_time, a.reentry_time, a.reentry_class, a.reentry_dept, a.reentry_cause, a.reentry_year, a.reentry_number, a.quit_category,a.applicant_name from rt_stu_reentry_school a
@@ -158,6 +160,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null">parent_phone,</if> <if test="parentPhone != null">parent_phone,</if>
<if test="parentName != null">parent_name,</if> <if test="parentName != null">parent_name,</if>
<if test="jg != null">jg,</if> <if test="jg != null">jg,</if>
<if test="politicalStatus != null">political_status,</if>
<if test="hksz2 != null">hksz2,</if> <if test="hksz2 != null">hksz2,</if>
<if test="attachmentUpload != null">attachment_upload,</if> <if test="attachmentUpload != null">attachment_upload,</if>
<if test="reasonApplying != null">reason_applying,</if> <if test="reasonApplying != null">reason_applying,</if>
@@ -199,6 +202,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null">#{parentPhone},</if> <if test="parentPhone != null">#{parentPhone},</if>
<if test="parentName != null">#{parentName},</if> <if test="parentName != null">#{parentName},</if>
<if test="jg != null">#{jg},</if> <if test="jg != null">#{jg},</if>
<if test="politicalStatus != null">#{politicalStatus},</if>
<if test="hksz2 != null">#{hksz2},</if> <if test="hksz2 != null">#{hksz2},</if>
<if test="attachmentUpload != null">#{attachmentUpload},</if> <if test="attachmentUpload != null">#{attachmentUpload},</if>
<if test="reasonApplying != null">#{reasonApplying},</if> <if test="reasonApplying != null">#{reasonApplying},</if>
@@ -244,6 +248,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="parentPhone != null">parent_phone = #{parentPhone},</if> <if test="parentPhone != null">parent_phone = #{parentPhone},</if>
<if test="parentName != null">parent_name = #{parentName},</if> <if test="parentName != null">parent_name = #{parentName},</if>
<if test="jg != null">jg = #{jg},</if> <if test="jg != null">jg = #{jg},</if>
<if test="politicalStatus != null">political_status = #{politicalStatus},</if>
<if test="hksz2 != null">hksz2 = #{hksz2},</if> <if test="hksz2 != null">hksz2 = #{hksz2},</if>
<if test="attachmentUpload != null">attachment_upload = #{attachmentUpload},</if> <if test="attachmentUpload != null">attachment_upload = #{attachmentUpload},</if>
<if test="reasonApplying != null">reason_applying = #{reasonApplying},</if> <if test="reasonApplying != null">reason_applying = #{reasonApplying},</if>

View File

@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.srs.common.annotation.Excels; import com.srs.common.annotation.Excels;
import com.srs.common.annotation.Sensitive;
import com.srs.common.core.domain.entity.SysDept; import com.srs.common.core.domain.entity.SysDept;
import com.srs.common.enums.DesensitizedType;
import com.srs.comprehensive.domain.SrsMajors; import com.srs.comprehensive.domain.SrsMajors;
import lombok.Data; import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -63,11 +65,13 @@ public class SrsStuReg extends BaseEntity
/** 身份证号 */ /** 身份证号 */
@Excel(name = "身份证号") @Excel(name = "身份证号")
@TableField("SFZH") @TableField("SFZH")
@Sensitive(desensitizedType = DesensitizedType.ID_CARD)
private String SFZH; private String SFZH;
/** 手机号 */ /** 手机号 */
@Excel(name = "手机号") @Excel(name = "手机号")
@TableField("SJH") @TableField("SJH")
@Sensitive(desensitizedType = DesensitizedType.PHONE)
private String SJH; private String SJH;
/** 性别 */ /** 性别 */
@@ -143,6 +147,7 @@ public class SrsStuReg extends BaseEntity
/** 家庭联系人电话 */ /** 家庭联系人电话 */
@Excel(name = "家庭联系人电话") @Excel(name = "家庭联系人电话")
@TableField("fam_phone") @TableField("fam_phone")
@Sensitive(desensitizedType = DesensitizedType.PHONE)
private String famPhone; private String famPhone;
/** 家庭现居地址 */ /** 家庭现居地址 */

View File

@@ -4,10 +4,13 @@ import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.srs.common.annotation.Excel; import com.srs.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.srs.common.enums.DesensitizedType;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.*; import lombok.*;
import com.srs.common.core.domain.BaseEntity; import com.srs.common.core.domain.BaseEntity;
import com.srs.common.annotation.Sensitive;
@@ -112,6 +115,7 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("联系电话") @ApiModelProperty("联系电话")
@TableField("phone") @TableField("phone")
@Excel(name = "联系电话") @Excel(name = "联系电话")
@Sensitive(desensitizedType = DesensitizedType.PHONE)
public String phone; public String phone;
/** /**
@@ -128,6 +132,7 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("紧急联系人电话") @ApiModelProperty("紧急联系人电话")
@TableField("emergency_contact_phone") @TableField("emergency_contact_phone")
@Excel(name = "紧急联系人电话") @Excel(name = "紧急联系人电话")
@Sensitive(desensitizedType = DesensitizedType.PHONE)
public String emergencyContactPhone; public String emergencyContactPhone;
/** /**
@@ -185,6 +190,7 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("家长电话") @ApiModelProperty("家长电话")
@TableField("parent_phone") @TableField("parent_phone")
@Excel(name = "家长电话") @Excel(name = "家长电话")
@Sensitive(desensitizedType = DesensitizedType.PHONE)
public String parentPhone; public String parentPhone;
/** /**

View File

@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.srs.common.annotation.Excel; import com.srs.common.annotation.Excel;
import com.srs.common.annotation.Sensitive;
import com.srs.common.core.domain.BaseEntity; import com.srs.common.core.domain.BaseEntity;
import com.srs.common.enums.DesensitizedType;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.*; import lombok.*;
@@ -142,6 +144,7 @@ public class QgzxPost extends BaseEntity {
@ApiModelProperty("联系电话") @ApiModelProperty("联系电话")
@TableField("zdls_phone") @TableField("zdls_phone")
@Excel(name = "联系电话") @Excel(name = "联系电话")
@Sensitive(desensitizedType = DesensitizedType.PHONE)
public String zdlsPhone; public String zdlsPhone;
/** /**

View File

@@ -1,5 +1,7 @@
package com.srs.workstudy.domain.vo; package com.srs.workstudy.domain.vo;
import com.srs.common.annotation.Sensitive;
import com.srs.common.enums.DesensitizedType;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import lombok.Data; import lombok.Data;
@@ -26,6 +28,7 @@ public class StuPostListFindVo implements Serializable {
// 家庭情况 // 家庭情况
private String familyCondition; private String familyCondition;
// 电话 // 电话
@Sensitive(desensitizedType = DesensitizedType.PHONE)
private String stuPhone; private String stuPhone;
// 家庭住址 // 家庭住址