Commit 61187cd8 by zhaopanyu

Merge branch 'master' of 49.232.152.146:xhxy/smart_school

parents d00a32f2 e7f14af8
......@@ -104,6 +104,7 @@ public class SysProfileController extends BaseController
LoginUser loginUser = getLoginUser();
String userName = loginUser.getUsername();
String password = loginUser.getPassword();
userService.checkPasswordUnique(newPassword);
if (!SecurityUtils.matchesPassword(oldPassword, password))
{
return AjaxResult.error("修改密码失败,旧密码错误");
......
......@@ -197,6 +197,7 @@ public class SysUserController extends BaseController
{
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
userService.checkPasswordUnique(user.getPassword());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
user.setUpdateBy(getUsername());
return toAjax(userService.resetPwd(user));
......
package com.ruoyi.common.core.domain.model;
import java.util.Set;
import lombok.Data;
/**
......@@ -114,4 +115,9 @@ public class MpLoginUser {
头像
*/
private String avatar;
/**
* 角色权限
*/
private Set<String> roles;
}
......@@ -277,4 +277,8 @@ public interface ISysUserService {
* 根据userId更新openId
* */
public boolean updateOpenId(Long userId, String openId);
/**检查密码是否符合条件(密码必须包含大小写字母、数字、特殊字符中的任意三种)*/
void checkPasswordUnique(String password);
}
......@@ -2,6 +2,7 @@ package com.ruoyi.system.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import javax.validation.Validator;
......@@ -583,4 +584,18 @@ public class SysUserServiceImpl implements ISysUserService {
public boolean updateOpenId(Long userId, String openId) {
return userMapper.updateOpenId(userId,openId) > 0;
}
/**
* 检查密码是否符合条件(密码必须包含大小写字母、数字、特殊字符中的任意三种)
* @param password
*/
@Override
public void checkPasswordUnique(String password) {
// String pattern = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[A-Za-z\\d]{8,}$";
String pattern = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_]+$)(?![a-z0-9]+$)(?![a-z\\W_]+$)(?![0-9\\W_]+$)[a-zA-Z0-9\\W_]{8,}$";
boolean matches = Pattern.matches(pattern, password);
if (matches == false){
throw new ServiceException("密码必须包含大小写字母、数字、特殊字符中的任意三种");
}
}
}
......@@ -117,6 +117,7 @@ public class SchoolTeacherController extends BaseController {
schoolTeacherService.checkTeacherCodeUnique(schoolTeacherVO);
schoolTeacherService.checkTeacherTelUnique(schoolTeacherVO);
schoolTeacherService.checkIdCardUnique(schoolTeacherVO);
schoolTeacherService.checkPasswordUnique(schoolTeacherVO);
if(StringUtils.isNotEmpty(schoolTeacherVO.getEmail())){
schoolTeacherService.checkEmailUnique(schoolTeacherVO);
}
......
package yangtz.cs.liu.campus.domain.schoolEquipment;
import com.ruoyi.common.annotation.Excel;
import java.util.Date;
import com.core.domain.OurBaseEntity;
......@@ -35,6 +36,9 @@ public class SchoolCirculation extends OurBaseEntity
/** 借用期限(天) */
private Long deadline;
/** 归还状态(0=未归还,1=已归还)" */
private String returnState;
/** 归还日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date returnTime;
......
......@@ -17,6 +17,9 @@ public class SchoolEquipmentRepair extends OurBaseEntity
{
/** 设备id */
private Long id;
/** 设备id */
private Long equipmentId;
/** 分类编码 */
......
......@@ -4,6 +4,7 @@ import java.util.Date;
import com.core.domain.OurBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
/**
......@@ -29,6 +30,9 @@ public class SchoolReceive extends OurBaseEntity
/** 领用人 */
private String recipientBy;
/** 退还状态(0=未退还,1=已退还)" */
private String returnState;
/** 退还日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date returnTime;
......@@ -52,4 +56,5 @@ public class SchoolReceive extends OurBaseEntity
/** 备注 */
private String remark;
}
......@@ -30,13 +30,14 @@ public interface CirculationMapper extends BaseMapper<SchoolCirculation> {
* @return
*/
int deleteSchoolCirculationByIds(Long[] ids);
@Select("SELECT sc.id,el.model,el.encode,sc.borrow_by,sc.borrow_time,return_time,sc.deadline,sc.return_equipment_condition ,sc.remark FROM school_circulation sc LEFT JOIN school_equipment_ledger el on el.id = sc.equipment_id\n"
+ " LEFT JOIN school_product_category pc on pc.classification_code = el.classification_code WHERE pc.admin_id=#{adminId}")
@Select("SELECT sc.id,el.model,el.encode,sc.borrow_by,sc.borrow_time,sc.return_state,sc.return_time,sc.deadline,sc.return_equipment_condition ,sc.remark FROM school_circulation sc LEFT JOIN school_equipment_ledger el on el.id = sc.equipment_id\n"
+ " LEFT JOIN school_product_category pc on pc.classification_code = el.classification_code WHERE pc.admin_id=#{adminId} and sc.del_flag=0")
List<SchoolCirculationVo> getReturningEquipmentByadminId(@Param("adminId") Long adminId);
@Select(" SELECT el.encode,el.equipment_name,el.model,sc.borrow_time ,sc.borrow_by, sc.purpose,sc.deadline ,\n"
+ "sc.return_equipment_condition,sc.return_time,sc.remark FROM school_circulation sc LEFT JOIN school_equipment_ledger el on sc.equipment_id = el.id\n"
+ "WHERE sc.id =#{id} ")
+ "WHERE sc.id =#{id} and and sc.del_flag=0 ")
SchoolCirculationVo getSchoolCirculationVoById(@Param("id")Long id);
}
......@@ -16,19 +16,25 @@ public interface EquipmentRepairMapper extends BaseMapper<SchoolEquipmentRepair>
@Select("SELECT er.id,er.equipment_id,el.encode,el.equipment_name,el.model,el.date_of_production,el.place ,\n"
+ "el.classification_code,er.report_repair_time,er.report_repair_id,er.report_repair,er.problem,\n"
+ "er.repair_id,er.evaluate,er.repair_name,er.repair_phone,er.repair_time,er.repair_state,er.remark\n"
+ "FROM school_equipment_repair er LEFT JOIN school_equipment_ledger el ON er.equipment_id=el.id WHERE er.id=#{id}")
+ "FROM school_equipment_repair er LEFT JOIN school_equipment_ledger el ON er.equipment_id=el.id WHERE er.id=#{id} and er.del_flag=0")
public SchoolEquipmentRepairVo getEquipmentById(@Param("id") Long id);
@Select("SELECT er.id,er.equipment_id,el.encode,el.equipment_name,el.model,el.date_of_production,el.place ,\n"
+ "el.classification_code,er.report_repair_time,er.report_repair_id,er.report_repair,er.problem,\n"
+ "er.repair_id,er.evaluate,er.repair_name,er.repair_phone,er.repair_time,er.repair_state,er.remark\n"
+ "FROM school_equipment_repair er LEFT JOIN school_equipment_ledger el ON er.equipment_id=el.id WHERE er.report_repair_id=#{reportRepairid}")
+ "FROM school_equipment_repair er LEFT JOIN school_equipment_ledger el ON er.equipment_id=el.id WHERE er.report_repair_id=#{reportRepairid} and er.del_flag=0")
public List<SchoolEquipmentRepairVo> getMaintenanceList(@Param("reportRepairid") Long reportRepairid);
@Select("SELECT er.id,er.equipment_id,el.encode,el.equipment_name,el.model,el.date_of_production,el.place ,\n"
+ "el.classification_code,er.report_repair_time,er.report_repair_id,er.report_repair,er.problem,\n"
+ "er.repair_id,er.evaluate,er.repair_name,er.repair_phone,er.repair_time,er.repair_state,er.remark\n"
+ "FROM school_equipment_repair er LEFT JOIN school_equipment_ledger el ON er.equipment_id=el.id")
+ "FROM school_equipment_repair er LEFT JOIN school_equipment_ledger el ON er.equipment_id=el.id and er.del_flag=0 ")
public List<SchoolEquipmentRepairVo> getlist();
@Select("SELECT er.id,er.equipment_id,el.encode,el.equipment_name,el.model,el.date_of_production,el.place ,\n"
+ "el.classification_code,er.report_repair_time,er.report_repair_id,er.report_repair,er.problem,\n"
+ "er.repair_id,er.evaluate,er.repair_name,er.repair_phone,er.repair_time,er.repair_state,er.remark\n"
+ "FROM school_equipment_repair er LEFT JOIN school_equipment_ledger el ON er.equipment_id=el.id and er.del_flag=0")
public List<SchoolEquipmentRepairVo> getMaintenanceUserList();
/**
......
......@@ -81,7 +81,7 @@ public class CountServiceImpl implements ICountService {
int officialNum = flowMapper.getTodoTotal(userId,UNDONE);
/**调查问卷任务数*/
int investigate = examMainMapper.getTodoTotal(userId);
// int investigate = examMainMapper.getTodoTotal(userId);
/**采购申请审批任务数*/
int purchaseRequisition = getNum(PURCHASEREQUEST, userId.toString());
......@@ -97,7 +97,7 @@ public class CountServiceImpl implements ICountService {
vo.setTLeaveNum(tLeaveNum);
vo.setOfficialNum(officialNum);
vo.setInvestigate(investigate);
// vo.setInvestigate(investigate);
vo.setPurchaseRequisition(purchaseRequisition);
vo.setSLeaveNum(sLeaveNum);
vo.setAuditoriumNum(auditoriumNum);
......
......@@ -36,7 +36,7 @@ public class CirculationServiceImpl extends ServiceImpl<CirculationMapper, Schoo
* @return
*/
@Override
@DataScope(userAlias = "u")
// @DataScope(userAlias = "u")
public List<SchoolCirculationVo> selectSchoolCirculationVoList(SchoolCirculationVo schoolCirculationVo) {
return circulationMapper.selectSchoolCirculationVoList(schoolCirculationVo);
}
......
......@@ -108,6 +108,15 @@ public class EquipmentRepairServiceImpl extends ServiceImpl<EquipmentRepairMappe
return equipmentRepairMapper.getMaintenanceList(reportRepairid);
}
/**
* 管理员获取所有维修列表
* @return
*/
@Override
public List<SchoolEquipmentRepairVo> getlist() {
return equipmentRepairMapper.getlist();
}
@Override
public List<SchoolEquipmentRepairVo> getMaintenanceUserList() {
return equipmentRepairMapper.getMaintenanceUserList();
......
......@@ -34,6 +34,7 @@ import yangtz.cs.liu.campus.vo.teacher.TeacherNameListVo;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isNotNull;
......@@ -415,6 +416,21 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
}
}
/**
* 检查密码是否符合条件(密码必须包含大小写字母、数字、特殊字符中的任意三种)
* @param schoolTeacherVO
*/
@Override
public void checkPasswordUnique(SchoolTeacherVO schoolTeacherVO) {
String password = schoolTeacherVO.getPassword();
// String pattern = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[A-Za-z\\d]{8,}$";
String pattern = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_]+$)(?![a-z0-9]+$)(?![a-z\\W_]+$)(?![0-9\\W_]+$)[a-zA-Z0-9\\W_]{8,}$";
boolean matches = Pattern.matches(pattern, password);
if (matches == false){
throw new ServiceException("密码必须包含大小写字母、数字、特殊字符中的任意三种");
}
}
@Override
public int insert(SchoolTeacherVO schoolTeacherVO) {
......
......@@ -60,6 +60,8 @@ public interface IEquipmentRepairService extends IService<SchoolEquipmentRepair>
public List<SchoolEquipmentRepairVo> getMaintenanceList(Long reportRepairid);
public List<SchoolEquipmentRepairVo> getlist();
public List<SchoolEquipmentRepairVo> getMaintenanceUserList();
......
......@@ -90,6 +90,8 @@ public interface ISchoolTeacherService extends IService<SchoolTeacher> {
/**检查邮箱账号是否唯一*/
void checkEmailUnique(SchoolTeacherVO schoolTeacher);
/**检查密码是否符合条件(密码必须包含大小写字母,数字)*/
void checkPasswordUnique(SchoolTeacherVO schoolTeacherVO);
/**
* 新增教师
......@@ -142,4 +144,6 @@ public interface ISchoolTeacherService extends IService<SchoolTeacher> {
* 根据userId 查询 openId
*/
String getOpenIdByUserId(Long userId);
}
......@@ -58,6 +58,10 @@ public class SchoolCirculationVo extends BaseEntity
@Excel(name = "借用期限(天)")
private Long deadline;
/** 归还状态(0=未归还,1=已归还)" */
@Excel(name = "归还状态", readConverterExp = "1=已归还,0=未归还")
private String returnState;
/** 归还日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "归还日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
......@@ -87,4 +91,5 @@ public class SchoolCirculationVo extends BaseEntity
/** 备注 */
@Excel(name = "备注")
private String remark;
}
......@@ -49,6 +49,10 @@ public class SchoolReceiveVo extends BaseEntity
@Excel(name = "领用人")
private String recipientBy;
/** 退还状态(0=未退还,1=已退还)" */
@Excel(name = "退还状态", readConverterExp = "1=已退还,0=未退还")
private String returnState;
/** 退还日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "退还日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
......
package yangtz.cs.liu.wechat.controller.api;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Sha1Util {
private static final int[] abcde = {
0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0
};
// 摘要数据存储数组
private static int[] digestInt = new int[5];
// 计算过程中的临时数据存储数组
private static int[] tmpData = new int[80];
// 计算sha-1摘要
private static int process_input_bytes(byte[] bytedata) {
// 初试化常量
System.arraycopy(abcde, 0, digestInt, 0, abcde.length);
// 格式化输入字节数组,补10及长度数据
byte[] newbyte = byteArrayFormatData(bytedata);
// 获取数据摘要计算的数据单元个数
int MCount = newbyte.length / 64;
// 循环对每个数据单元进行摘要计算
for (int pos = 0; pos < MCount; pos++) {
// 将每个单元的数据转换成16个整型数据,并保存到tmpData的前16个数组元素中
for (int j = 0; j < 16; j++) {
tmpData[j] = byteArrayToInt(newbyte, (pos * 64) + (j * 4));
}
// 摘要计算函数
encrypt();
}
return 20;
}
// 格式化输入字节数组格式
private static byte[] byteArrayFormatData(byte[] bytedata) {
// 补0数量
int zeros = 0;
// 补位后总位数
int size = 0;
// 原始数据长度
int n = bytedata.length;
// 模64后的剩余位数
int m = n % 64;
// 计算添加0的个数以及添加10后的总长度
if (m < 56) {
zeros = 55 - m;
size = n - m + 64;
} else if (m == 56) {
zeros = 63;
size = n + 8 + 64;
} else {
zeros = 63 - m + 56;
size = (n + 64) - m + 64;
}
// 补位后生成的新数组内容
byte[] newbyte = new byte[size];
// 复制数组的前面部分
System.arraycopy(bytedata, 0, newbyte, 0, n);
// 获得数组Append数据元素的位置
int l = n;
// 补1操作
newbyte[l++] = (byte) 0x80;
// 补0操作
for (int i = 0; i < zeros; i++) {
newbyte[l++] = (byte) 0x00;
}
// 计算数据长度,补数据长度位共8字节,长整型
long N = (long) n * 8;
byte h8 = (byte) (N & 0xFF);
byte h7 = (byte) ((N >> 8) & 0xFF);
byte h6 = (byte) ((N >> 16) & 0xFF);
byte h5 = (byte) ((N >> 24) & 0xFF);
byte h4 = (byte) ((N >> 32) & 0xFF);
byte h3 = (byte) ((N >> 40) & 0xFF);
byte h2 = (byte) ((N >> 48) & 0xFF);
byte h1 = (byte) (N >> 56);
newbyte[l++] = h1;
newbyte[l++] = h2;
newbyte[l++] = h3;
newbyte[l++] = h4;
newbyte[l++] = h5;
newbyte[l++] = h6;
newbyte[l++] = h7;
newbyte[l++] = h8;
return newbyte;
}
private static int f1(int x, int y, int z) {
return (x & y) | (~x & z);
}
private static int f2(int x, int y, int z) {
return x ^ y ^ z;
}
private static int f3(int x, int y, int z) {
return (x & y) | (x & z) | (y & z);
}
private static int f4(int x, int y) {
return (x << y) | x >>> (32 - y);
}
// 单元摘要计算函数
private static void encrypt() {
for (int i = 16; i <= 79; i++) {
tmpData[i] = f4(tmpData[i - 3] ^ tmpData[i - 8] ^ tmpData[i - 14] ^
tmpData[i - 16], 1);
}
int[] tmpabcde = new int[5];
for (int i1 = 0; i1 < tmpabcde.length; i1++) {
tmpabcde[i1] = digestInt[i1];
}
for (int j = 0; j <= 19; j++) {
int tmp = f4(tmpabcde[0], 5) +
f1(tmpabcde[1], tmpabcde[2], tmpabcde[3]) + tmpabcde[4] +
tmpData[j] + 0x5a827999;
tmpabcde[4] = tmpabcde[3];
tmpabcde[3] = tmpabcde[2];
tmpabcde[2] = f4(tmpabcde[1], 30);
tmpabcde[1] = tmpabcde[0];
tmpabcde[0] = tmp;
}
for (int k = 20; k <= 39; k++) {
int tmp = f4(tmpabcde[0], 5) +
f2(tmpabcde[1], tmpabcde[2], tmpabcde[3]) + tmpabcde[4] +
tmpData[k] + 0x6ed9eba1;
tmpabcde[4] = tmpabcde[3];
tmpabcde[3] = tmpabcde[2];
tmpabcde[2] = f4(tmpabcde[1], 30);
tmpabcde[1] = tmpabcde[0];
tmpabcde[0] = tmp;
}
for (int l = 40; l <= 59; l++) {
int tmp = f4(tmpabcde[0], 5) +
f3(tmpabcde[1], tmpabcde[2], tmpabcde[3]) + tmpabcde[4] +
tmpData[l] + 0x8f1bbcdc;
tmpabcde[4] = tmpabcde[3];
tmpabcde[3] = tmpabcde[2];
tmpabcde[2] = f4(tmpabcde[1], 30);
tmpabcde[1] = tmpabcde[0];
tmpabcde[0] = tmp;
}
for (int m = 60; m <= 79; m++) {
int tmp = f4(tmpabcde[0], 5) +
f2(tmpabcde[1], tmpabcde[2], tmpabcde[3]) + tmpabcde[4] +
tmpData[m] + 0xca62c1d6;
tmpabcde[4] = tmpabcde[3];
tmpabcde[3] = tmpabcde[2];
tmpabcde[2] = f4(tmpabcde[1], 30);
tmpabcde[1] = tmpabcde[0];
tmpabcde[0] = tmp;
}
for (int i2 = 0; i2 < tmpabcde.length; i2++) {
digestInt[i2] = digestInt[i2] + tmpabcde[i2];
}
for (int n = 0; n < tmpData.length; n++) {
tmpData[n] = 0;
}
}
// 4字节数组转换为整数
private static int byteArrayToInt(byte[] bytedata, int i) {
return ((bytedata[i] & 0xff) << 24) | ((bytedata[i + 1] & 0xff) << 16) |
((bytedata[i + 2] & 0xff) << 8) | (bytedata[i + 3] & 0xff);
}
// 整数转换为4字节数组
private static void intToByteArray(int intValue, byte[] byteData, int i) {
byteData[i] = (byte) (intValue >>> 24);
byteData[i + 1] = (byte) (intValue >>> 16);
byteData[i + 2] = (byte) (intValue >>> 8);
byteData[i + 3] = (byte) intValue;
}
// 将字节转换为十六进制字符串
private static String byteToHexString(byte ib) {
char[] Digit = {
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C',
'D', 'E', 'F'
};
char[] ob = new char[2];
ob[0] = Digit[(ib >>> 4) & 0X0F];
ob[1] = Digit[ib & 0X0F];
String s = new String(ob);
return s;
}
// 将字节数组转换为十六进制字符串
private static String byteArrayToHexString(byte[] bytearray) {
String strDigest = "";
for (int i = 0; i < bytearray.length; i++) {
strDigest += byteToHexString(bytearray[i]);
}
return strDigest;
}
// 计算sha-1摘要,返回相应的字节数组
public static byte[] getDigestOfBytes(byte[] byteData) {
process_input_bytes(byteData);
byte[] digest = new byte[20];
for (int i = 0; i < digestInt.length; i++) {
intToByteArray(digestInt[i], digest, i * 4);
}
return digest;
}
// 计算sha-1摘要,返回相应的十六进制字符串
public static String getDigestOfString(byte[] byteData) {
return byteArrayToHexString(getDigestOfBytes(byteData));
}
/**
* @Comment SHA1实现
* @Author Ron
* @Date 2017年9月13日 下午3:30:36
* @return
*/
public static String shaEncode(String inStr) throws Exception {
MessageDigest sha = null;
try {
sha = MessageDigest.getInstance("SHA");
} catch (Exception e) {
System.out.println(e.toString());
e.printStackTrace();
return "";
}
byte[] byteArray = inStr.getBytes("UTF-8");
byte[] md5Bytes = sha.digest(byteArray);
StringBuffer hexValue = new StringBuffer();
for (int i = 0; i < md5Bytes.length; i++) {
int val = ((int) md5Bytes[i]) & 0xff;
if (val < 16) {
hexValue.append("0");
}
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
public static void main(String[] args) {
String[] array = {"fwwrr1223423ffff","VUkHJgW2SFNG4xhs6ZntSGDE-Z15MUTKs7pkKW7UnqMUv-GjswW5CWV38QXj_5-fRvEwyx842tP2j4Kw1HPE1Q","1617865042","pm4UL50ZAuQXDGihuENshhUWzIE8"};
List<String> list = new ArrayList<String>();
for(String str : array) {
list.add(str);
}
String buff = "";
Collections.sort(list,new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
// 返回值为int类型,大于0表示正序,小于0表示逆序
Integer minLength = o1.length();
if(minLength > o2.length()) {
minLength = o2.length();
}
for(int i=0;i<minLength;i++) {
char a = (char)o1.charAt(i);
char b = (char)o2.charAt(i);
if(a == b) {
continue;
}
if(a > b) {
return 1;
}else {
return -1;
}
}
return 0;
}
});
for(String str : list) {
buff += str;
}
System.out.println(buff);
String data = "1617865042VUkHJgW2SFNG4xhs6ZntSGDE-Z15MUTKs7pkKW7UnqMUv-GjswW5CWV38QXj_5-fRvEwyx842tP2j4Kw1HPE1Qewwrr122342341223pm4UL50ZAuQXDGihuENshhUWzIE8";
//3205FB63131DF9B9428FD90C09267F379E122356
String digest = Sha1Util.getDigestOfString(data.getBytes()).toLowerCase();
System.out.println(digest);
}
}
......@@ -17,7 +17,9 @@ import com.ruoyi.framework.util.UserInfoUtil;
import com.ruoyi.framework.manager.AsyncManager;
import com.ruoyi.framework.manager.factory.AsyncFactory;
import com.ruoyi.framework.web.service.MpTokenService;
import com.ruoyi.framework.web.service.SysPermissionService;
import com.ruoyi.system.service.ISysUserService;
import java.util.Set;
import org.apache.commons.codec.binary.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -70,6 +72,8 @@ public class WxLoginController extends BaseController {
@Value("${server.port}")
private String port;
@Autowired
private SysPermissionService permissionService;
private Logger log = LoggerFactory.getLogger(WxLoginController.class);
......@@ -125,6 +129,9 @@ public class WxLoginController extends BaseController {
}
mpLoginUser.setAvatar(user.getAvatar());
}
// 角色集合
Set<String> roles = permissionService.getRolePermission(user);
mpLoginUser.setRoles(roles);
return AjaxResult.success().put("userInfo",mpLoginUser);
}
......
......@@ -2,12 +2,16 @@ package yangtz.cs.liu.wechat.controller.equipment;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.service.ISysUserService;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -47,6 +51,9 @@ public class EquipmentLeaseController {
@Autowired
SchoolReceiveService schoolReceiveService;
@Autowired
ISysUserService iSysUserService;
/**
* 扫码借用获取设备基本信息
*/
......@@ -62,11 +69,12 @@ public class EquipmentLeaseController {
* 我的借用记录
*/
@GetMapping("/getMyBorrowList/{borrowById}")
private AjaxResult getMyBorrowList(@PathVariable("borrowById") Integer borrowById){
LambdaQueryWrapper<SchoolCirculation> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolCirculation::getBorrowById,borrowById);
List<SchoolCirculation> list = iCirculationService.list(wrapper);
return AjaxResult.success(list);
private AjaxResult getMyBorrowList(@PathVariable("borrowById") Long borrowById){
SchoolCirculationVo schoolCirculationVo = new SchoolCirculationVo();
schoolCirculationVo.setBorrowById(borrowById);
List<SchoolCirculationVo> schoolCirculationVos = iCirculationService
.selectSchoolCirculationVoList(schoolCirculationVo);
return AjaxResult.success(schoolCirculationVos);
}
/**
......@@ -80,6 +88,7 @@ public class EquipmentLeaseController {
calendar.setTime(borrowTime);
calendar.add(Calendar.DATE,Integer.valueOf(deadline.toString()));
Date targetDate = calendar.getTime();
schoolCirculation.setReturnState("0");
schoolCirculation.setReturnTime(targetDate);
boolean save = iCirculationService.save(schoolCirculation);
//修改设备表借出状态
......@@ -132,10 +141,25 @@ public class EquipmentLeaseController {
*/
@GetMapping("/getMaintenanceList/{reportRepairid}")
private AjaxResult getMaintenanceList(@PathVariable("reportRepairid") Long reportRepairid){
Boolean flag= false;
//1.管理员可以查看所有维修列表
SysUser sysUser = iSysUserService.selectUserById(reportRepairid);
List<SysRole> roles = sysUser.getRoles();
for(SysRole data :roles){
if (data.getRoleKey().contains("admin") || data.getRoleKey().contains("productCategoryAdmin")){
flag=true;
break;
}
};
if (false){
List<SchoolEquipmentRepairVo> getlist = iEquipmentRepairService.getlist();
return AjaxResult.success(getlist);
}else {
List<SchoolEquipmentRepairVo> maintenanceList = iEquipmentRepairService
.getMaintenanceList(reportRepairid);
return AjaxResult.success(maintenanceList);
}
}
/**
* 设备维修-新增
......@@ -162,6 +186,15 @@ public class EquipmentLeaseController {
boolean save = iEquipmentRepairService.updateById(schoolEquipmentRepair);
return AjaxResult.success(save);
}
/**
* 设备报修删除
*/
@DeleteMapping("/deletEuipemnt/{id}")
private AjaxResult deletEuipemnt(@PathVariable("id") Long id){
boolean b = iEquipmentRepairService.removeById(id);
return AjaxResult.success(b);
}
/**
* 报修台账反馈列表 设备维修记录id
*/
......@@ -224,6 +257,7 @@ public class EquipmentLeaseController {
*/
@PutMapping("returnDevice")
private AjaxResult returnDevice(@RequestBody SchoolCirculation schoolCirculation){
schoolCirculation.setReturnState("1");
boolean b = iCirculationService.updateById(schoolCirculation);
//修改设备表借出状态
SchoolEquipmentLedger byId = iEquipmentService.getById(schoolCirculation.getEquipmentId());
......@@ -232,4 +266,16 @@ public class EquipmentLeaseController {
return AjaxResult.success(b);
}
/**
* 获取修理人下拉框
* @return
*/
@GetMapping("/getRepair")
public AjaxResult getRepair(){
return AjaxResult.success(iEquipmentRepairService.getRepair());
}
}
......@@ -26,6 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="delFalg" column="del_flag" />
<result property="returnState" column="return_state" />
</resultMap>
<select id="selectSchoolCirculationVoList" parameterType="SchoolCirculationVo" resultMap="schoolCirculationVoResult">
......@@ -35,6 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
el.encode,
el.equipment_name,
el.model,
c.return_state,
c.borrow_time,
c.borrow_by_id,
c.borrow_by,
......@@ -60,6 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
c.del_flag = '0'
<if test="equipmentName != null and equipmentName != ''">and el.equipment_name like concat('%', #{equipmentName}, '%')</if>
<if test="borrowTime != null and borrowTime != ''">and c.borrow_time = #{borrowTime}</if>
<if test="borrowById != null and borrowById != ''">and c.borrow_by_id = #{borrowById}</if>
<!-- 数据范围过滤 -->
${params.dataScope}
</select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment