|
@@ -1,13 +1,16 @@
|
|
|
package org.dromara.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
+import org.dromara.common.core.domain.dto.StaffManageDTO;
|
|
|
+import org.dromara.common.core.utils.DateUtils;
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
+import org.dromara.common.satoken.utils.LoginHelper;
|
|
|
import org.dromara.domain.staffTrainTime.StaffTrainTime;
|
|
|
import org.dromara.domain.staffTrainTime.bo.StaffTrainTimeBo;
|
|
|
import org.dromara.domain.staffTrainTime.vo.StaffTrainTimeVo;
|
|
@@ -38,7 +41,7 @@ public class StaffTrainTimeServiceImpl implements IStaffTrainTimeService {
|
|
|
* @return 员工培训时长
|
|
|
*/
|
|
|
@Override
|
|
|
- public StaffTrainTimeVo queryById(Long trainTimeId){
|
|
|
+ public StaffTrainTimeVo queryById(Long trainTimeId) {
|
|
|
return baseMapper.selectVoById(trainTimeId);
|
|
|
}
|
|
|
|
|
@@ -52,8 +55,9 @@ public class StaffTrainTimeServiceImpl implements IStaffTrainTimeService {
|
|
|
@Override
|
|
|
public TableDataInfo<StaffTrainTimeVo> queryPageList(StaffTrainTimeBo bo, PageQuery pageQuery) {
|
|
|
LambdaQueryWrapper<StaffTrainTime> lqw = buildQueryWrapper(bo);
|
|
|
- Page<StaffTrainTimeVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
|
|
- return TableDataInfo.build(result);
|
|
|
+ pageQuery.setOrderByColumn("staff_time");
|
|
|
+ IPage<StaffTrainTimeVo> staffTrainTimeVoIPage = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
|
|
+ return TableDataInfo.build(staffTrainTimeVoIPage);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -88,9 +92,29 @@ public class StaffTrainTimeServiceImpl implements IStaffTrainTimeService {
|
|
|
*/
|
|
|
@Override
|
|
|
public Boolean insertByBo(StaffTrainTimeBo bo) {
|
|
|
+ boolean flag = false;
|
|
|
StaffTrainTime add = MapstructUtils.convert(bo, StaffTrainTime.class);
|
|
|
validEntityBeforeSave(add);
|
|
|
- boolean flag = baseMapper.insert(add) > 0;
|
|
|
+ Long userId = LoginHelper.getUserId();
|
|
|
+ add.setUserId(userId);
|
|
|
+ StaffTrainTime staffTrainTime = baseMapper.selectOne(new LambdaQueryWrapper<StaffTrainTime>().eq(StaffTrainTime::getUserId, userId));
|
|
|
+ if (staffTrainTime != null) {
|
|
|
+ int staffTime = staffTrainTime.getStaffTime();
|
|
|
+ //更新阅读时长
|
|
|
+ staffTrainTime.setStaffTime(staffTime + staffTrainTime.getStaffTime());
|
|
|
+ Long trainTimeId = staffTrainTime.getTrainTimeId();
|
|
|
+ staffTrainTime.setTrainTimeId(trainTimeId);
|
|
|
+ flag = baseMapper.updateById(staffTrainTime) > 0;
|
|
|
+ return flag;
|
|
|
+ }
|
|
|
+
|
|
|
+ StaffManageDTO staffManage = LoginHelper.getLoginUser().getStaffManage();
|
|
|
+ if (staffManage != null) {
|
|
|
+ staffTrainTime.setStaffId(staffManage.getStaffId());
|
|
|
+ staffTrainTime.setStaffName(staffManage.getStaffName());
|
|
|
+ staffTrainTime.setCreateTime(DateUtils.getNowDate());
|
|
|
+ flag = baseMapper.insert(add) > 0;
|
|
|
+ }
|
|
|
if (flag) {
|
|
|
bo.setTrainTimeId(add.getTrainTimeId());
|
|
|
}
|
|
@@ -113,7 +137,7 @@ public class StaffTrainTimeServiceImpl implements IStaffTrainTimeService {
|
|
|
/**
|
|
|
* 保存前的数据校验
|
|
|
*/
|
|
|
- private void validEntityBeforeSave(StaffTrainTime entity){
|
|
|
+ private void validEntityBeforeSave(StaffTrainTime entity) {
|
|
|
//TODO 做一些数据校验,如唯一约束
|
|
|
}
|
|
|
|
|
@@ -126,7 +150,7 @@ public class StaffTrainTimeServiceImpl implements IStaffTrainTimeService {
|
|
|
*/
|
|
|
@Override
|
|
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
|
|
- if(isValid){
|
|
|
+ if (isValid) {
|
|
|
//TODO 做一些业务上的校验,判断是否需要校验
|
|
|
}
|
|
|
return baseMapper.deleteByIds(ids) > 0;
|