package com.lv.adminsys.modules.service.web.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lv.adminsys.common.constant.LvException;
import com.lv.adminsys.common.enums.AccountTypeEnum;
import com.lv.adminsys.common.enums.MessageMarkEnum;
import com.lv.adminsys.common.utils.JSONResult;
import com.lv.adminsys.common.utils.TimeUtil;
import com.lv.adminsys.modules.dao.LvLeaveDao;
import com.lv.adminsys.modules.dao.LvMessageDao;
import com.lv.adminsys.modules.dao.LvUserDao;
import com.lv.adminsys.modules.entity.LvLeaveEntity;
import com.lv.adminsys.modules.entity.LvMessageEntity;
import com.lv.adminsys.modules.entity.LvUserEntity;
import com.lv.adminsys.modules.service.impl.TeacherCheckServiceImpl;
import com.lv.adminsys.modules.service.web.IWebLeaveService;
import com.lv.adminsys.modules.vo.web.WebLeaveListVO;
import org.activiti.engine.HistoryService;
import org.activiti.engine.history.HistoricTaskInstance;
import org.activiti.engine.task.Task;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* @author Qiang
* @version 1.0
* @description TODO
* @date 2019/12/25 下午5:20
**/
@Service
@Transactional
public class WebLeaveServiceImpl implements IWebLeaveService {
/**
* 老师工号前缀
*/
@Value("${teacher.start}")
private String teacherNumStart;
@Autowired
private LvLeaveDao lvLeaveDao;
@Resource
private HistoryService historyService;
@Autowired
private LvMessageDao lvMessageDao;
@Autowired
private TeacherCheckServiceImpl teacherCheckServiceImpl;
@Autowired
private LvUserDao lvUserDao;
@Override
public JSONResult findMessageList(String account) {
if (StringUtils.isEmpty(account)) {
return JSONResult.build(402, LvException.ErrorMsg.REQUEST_PARAM_ERROR, null);
}
List<WebLeaveListVO> list;
if (account.startsWith(teacherNumStart)) {
list = findTeacherList(account);
} else {
list = findStudentList(account);
}
if (CollectionUtils.isEmpty(list) || list.size() == 0) {
return JSONResult.build(401, LvException.ErrorMsg.CAN_ONT_FIND_RECORD, null);
}
return JSONResult.ok(list);
}
@Override
public JSONResult markMsgIsRead(String lvMessageId, Integer accountType) {
return markMsgStatus(lvMessageId, accountType, MessageMarkEnum.IS_READ.getTypeName());
}
/**
* @param lvMessageId 消息id
* @param accountType 账号类型 0 -- 学生 1 -- 老师
* @param markType 标记类型 1 -- 已读 -1 -- 删除 2 -- 全部标记 -2 -- 全部删除
* @return 结果
*/
private JSONResult markMsgStatus(String lvMessageId, Integer accountType, Integer markType) {
if (StringUtils.isEmpty(lvMessageId) || accountType == null) {
return JSONResult.build(402, LvException.ErrorMsg.REQUEST_PARAM_ERROR, null);
}
// 判断是学生或老师
if (accountType.equals(AccountTypeEnum.STUDENT_TYPE.getTypeName())) {
// 删除操作 还是 标记操作
if (markType.equals(MessageMarkEnum.IS_READ.getTypeName())) {
return markStudentStatus(lvMessageId, MessageMarkEnum.IS_READ.getTypeName());
}
if (markType.equals(MessageMarkEnum.IS_DELETE.getTypeName())) {
return markStudentStatus(lvMessageId, MessageMarkEnum.IS_DELETE.getTypeName());
}
if (markType.equals(MessageMarkEnum.IS_ALL_READ.getTypeName())) {
return markStudentAllStatus(lvMessageId, MessageMarkEnum.IS_ALL_READ.getTypeName());
}
if (markType.equals(MessageMarkEnum.IS_ALL_DELETE.getTypeName())) {
return markStudentAllStatus(lvMessageId, MessageMarkEnum.IS_ALL_DELETE.getTypeName());
}
} else {
// 老师
if (markType.equals(MessageMarkEnum.IS_READ.getTypeName())) {
return markTeacherStatus(lvMessageId, MessageMarkEnum.IS_READ.getTypeName());
}
if (markType.equals(MessageMarkEnum.IS_DELETE.getTypeName())) {
return markTeacherStatus(lvMessageId, MessageMarkEnum.IS_DELETE.getTypeName());
}
if (markType.equals(MessageMarkEnum.IS_ALL_READ.getTypeName())) {
return markTeacherAllStatus(lvMessageId, MessageMarkEnum.IS_ALL_READ.getTypeName());
}
if (markType.equals(MessageMarkEnum.IS_ALL_DELETE.getTypeName())) {
return markTeacherAllStatus(lvMessageId, MessageMarkEnum.IS_ALL_DELETE.getTypeName());
}
}
return JSONResult.errorMsg("处理错误");
}
@Override
public JSONResult markMsgDelete(String lvMessageId, Integer accountType) {
return markMsgStatus(lvMessageId, accountType, MessageMarkEnum.IS_DELETE.getTypeName());
}
@Override
public JSONResult markAllMsgIsRead(String account, Integer accountType) {
return markMsgStatus(account, accountType, MessageMarkEnum.IS_ALL_READ.getTypeName());
}
@Override
public JSONResult markAllMsgDelete(String account, Integer accountType) {
return markMsgStatus(account, accountType, MessageMarkEnum.IS_ALL_DELETE.getTypeName());
}
private JSONResult markStudentAllStatus(String account, Integer typeName) {
List<LvLeaveEntity> leaveIsRead = lvLeaveDao.selectList(new QueryWrapper<LvLeaveEntity>().eq("lv_user_num", account).ne("lv_book", MessageMarkEnum.IS_DELETE.getTypeName()));
if (CollectionUtils.isEmpty(leaveIsRead)) {
return JSONResult.build(401, LvException.ErrorMsg.CAN_ONT_FIND_RECORD, null);
}
if (typeName.equals(MessageMarkEnum.IS_ALL_READ.getTypeName())) {
for (LvLeaveEntity lv :
leaveIsRead) {
lv.setLvBook(MessageMarkEnum.IS_READ.getTypeName());
lvLeaveDao.updateById(lv);
}
} else if (typeName.equals(MessageMarkEnum.IS_ALL_DELETE.getTypeName())) {
for (LvLeaveEntity lv :
leaveIsRead) {
lv.setLvBook(MessageMarkEnum.IS_DELETE.getTypeName());
lvLeaveDao.updateById(lv);
}
}
return JSONResult.ok();
}
private JSONResult markStudentStatus(String lvMessageId, Integer typeName) {
LvLeaveEntity leaveEntity = lvLeaveDao.selectById(lvMessageId);
if (judgeObjectParamIsBlank(leaveEntity)) {
return JSONResult.build(401, LvException.ErrorMsg.CAN_ONT_FIND_RECORD, null);
}
if (typeName.equals(MessageMarkEnum.IS_READ.getTypeName())) {
leaveEntity.setLvBook(MessageMarkEnum.IS_READ.getTypeName());
} else {
leaveEntity.setLvBook(MessageMarkEnum.IS_DELETE.getTypeName());
}
int i = lvLeaveDao.updateById(leaveEntity);
if (i > 0) {
return JSONResult.ok();
}
return JSONResult.errorMsg("修改失败");
}
private <T> Boolean judgeObjectParamIsBlank(T messageEntity) {
if (messageEntity == null) {
return true;
}
return false;
}
private JSONResult markTeacherAllStatus(String account, Integer typeName) {
List<LvMessageEntity> teacherLists = lvMessageDao.selectList(new QueryWrapper<LvMessageEntity>().eq("lv_teacher_num", account).eq("lv_book", MessageMarkEnum.NO_READ.getTypeNam
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源内项目代码都是经过测试运行成功,功能正常的情况下才上传的,请放心下载使用。 2、适用人群:主要针对计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、数学、电子信息等)的同学或企业员工下载使用,具有较高的学习借鉴价值。 3、不仅适合小白学习实战练习,也可作为大作业、课程设计、毕设项目、初期项目立项演示等,欢迎下载,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于Activiti工作引擎+springboot框架的学院师生请假系统完整源码.zip (117个子文件)
Leave.bpmn 9KB
SmallLeave.bpmn 7KB
mvnw.cmd 6KB
.gitattributes 87B
.gitignore 333B
maven-wrapper.jar 47KB
WebLeaveServiceImpl.java 13KB
UserLeaveServiceImpl.java 11KB
WebTeacherServiceImpl.java 10KB
RedisOperator.java 7KB
LeaveService.java 7KB
TeacherServiceImpl.java 7KB
WebUserServiceImpl.java 6KB
TimeUtil.java 6KB
UserServiceImpl.java 5KB
TeacherCheckServiceImpl.java 5KB
AuthRealm.java 5KB
MavenWrapperDownloader.java 5KB
JWTFilter.java 4KB
MySqlGenerator.java 4KB
ShiroConfig.java 4KB
JSONResult.java 3KB
JudgeLeaveLeader.java 3KB
UserLeaveController.java 3KB
WebLeaveController.java 2KB
LvLeaveEntity.java 2KB
JWTUtil.java 2KB
BaseController.java 2KB
RedisConfig.java 2KB
ApplyItemResponse.java 2KB
WebTeacherCheckVO.java 2KB
TeacherCheckController.java 2KB
IUserLeaveService.java 2KB
ModulesApplicationTests.java 2KB
ApplyDetailResponse.java 2KB
LvTeacherEntity.java 1KB
UserProcessResponse.java 1KB
TeacherCheckResponse.java 1KB
WebUserController.java 1KB
BaseExceptionHandler.java 1KB
LvUserEntity.java 1KB
UserLoginResponse.java 1KB
LeaveItemResponse.java 1KB
UserController.java 1KB
LvMessageEntity.java 1KB
StringAndArray.java 1KB
IUserService.java 1KB
WebTeachCheckController.java 1KB
IWebLeaveService.java 1KB
AsyncServiceImpl.java 1KB
WebTeacherCheckDTO.java 1KB
TeacherHisItems.java 1KB
MybatisPlusConfig.java 1019B
LoginController.java 998B
WebLeaveListVO.java 995B
CompleteTaskRequest.java 986B
LvRolesEntity.java 955B
LvCheckEntity.java 873B
PagedResult.java 852B
UserLoginRequest.java 839B
LvPermissionEntity.java 814B
ITeacherService.java 807B
TeacherCheckHisResponse.java 791B
LeaveDetailResponse.java 789B
IWebUserService.java 737B
LvException.java 729B
ShiroEncrypt.java 715B
UserMessageVO.java 705B
AsyncService.java 702B
TestDao.java 701B
MessageMarkEnum.java 699B
ITeacherCheckService.java 696B
LvTeacherDao.java 681B
BeanUtil.java 680B
LvLeaveDao.java 622B
ModulesApplication.java 616B
LvUserDao.java 595B
JWTToken.java 540B
UserStatusDao.java 520B
UserStatusEntity.java 517B
AccountTypeEnum.java 513B
TaskTypeEnum.java 499B
TeacherMessageVO.java 479B
StudentMessageVO.java 474B
Constant.java 470B
HelloWordController.java 460B
IWebTeacherService.java 459B
LvCheckDao.java 417B
LvMessageDao.java 377B
log_error.log 312KB
log-error-2019-12-07.0.log 295KB
log-debug-2019-12-25.0.log 128KB
log-error-2019-12-03.0.log 102KB
log-debug-2019-12-24.0.log 44KB
log_debug.log 41KB
log-info-2019-12-17.0.log 37KB
log-debug-2019-12-17.0.log 29KB
log-warn-2019-12-25.0.log 25KB
log_info.log 19KB
log_warn.log 8KB
共 117 条
- 1
- 2
资源评论
龙年行大运
- 粉丝: 1006
- 资源: 3852
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 疯狂吃月饼游戏小程序前端源码
- 开源光谱分析仪博客的代码
- 基于深度学习的工业缺陷检测(续篇)
- 大创项目编程示例开发案列优质学习资料资源工具与案列应用场景开发文档教程资料.txt
- 树莓派智能车编程实例开发案列优质学习资料资源工具与案列应用场景开发文档教程资料.txt
- 电子设计竞赛(Electronic Design Contest) 开发案列优质学习资料资源工具与案列应用场景开发文档教程资料
- Cpu-Z 是一款计算机的CPU检测软件
- 美国大学生数学建模竞赛 开发案列优质学习资料资源工具与案列应用场景开发文档教程资料.txt
- 最新版点微同城源码34.7+全套插件+小程序前后端附图片
- 计算机二级 开发案列优质学习资料资源工具与案列应用场景开发文档教程资料.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功