package com.thhy.secure.modules.biz.train.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.github.pagehelper.util.StringUtil; import com.thhy.general.common.BasicResult; import com.thhy.general.config.SysUserInfo; import com.thhy.general.utils.UserInfoUtils; import com.thhy.secure.modules.biz.encourage.mapper.TEncourageMapper; import com.thhy.secure.modules.biz.file.service.FileService; import com.thhy.secure.modules.biz.train.entity.OpenUserInfo; import com.thhy.secure.modules.biz.train.entity.TSecureTrain; import com.thhy.secure.modules.biz.train.entity.dto.*; import com.thhy.secure.modules.biz.train.mapper.TSecureTrainMapper; import com.thhy.secure.modules.biz.train.service.TSecureTrainService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; @Service public class TSecureTrainServiceImpl implements TSecureTrainService { @Resource private TSecureTrainMapper secureTrainMapper; @Resource private FileService fileService; @Resource private TEncourageMapper encourageMapper; @Override public BasicResult secureTrainInsert(Map values) { System.out.println("请求-----------------"); System.out.println(values); SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); String companyId = sysUserInfo.getCompanyId(); values.put("companyId",companyId); values.put("secureId",""); secureTrainMapper.secureTrainInsert(values); //文件 String secureId = values.get("secureId").toString(); List files = (List) values.get("files"); for (String file :files){ HashMap hashMap = new HashMap<>(); hashMap.put("securePathId",""); hashMap.put("securePathVideo",file); hashMap.put("secureId",secureId); secureTrainMapper.secureTrainPathInsert(hashMap); } return BasicResult.success("添加成功"); } @Override public BasicResult secureTrainList(Map values) { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); String companyId = sysUserInfo.getCompanyId(); values.put("companyId",companyId); Integer pageSize = Integer.valueOf(values.get("pageSize").toString()); Integer pageNum = Integer.valueOf(values.get("pageNum").toString()); PageHelper.startPage(pageNum,pageSize); List tSecureTrains= secureTrainMapper.secureTrainList(values); System.out.println("-----------"+tSecureTrains.size()); if(!CollectionUtils.isEmpty(tSecureTrains)){ tSecureTrains.stream().forEach(st->{ System.out.println("----"+st); String totals= secureTrainMapper.totalsSum(st.getSecureId(),companyId); String completes= secureTrainMapper.completesSum(st.getSecureId()); if(!StringUtil.isEmpty(totals)){ st.setTotals(totals); }else { st.setTotals("0"); } if(!StringUtil.isEmpty(completes)){ st.setCompletes(completes); }else { st.setCompletes("0"); } }); } PageInfo tSecureTrainPageInfo = new PageInfo<>(tSecureTrains); return BasicResult.success(tSecureTrainPageInfo); } @Override public BasicResult secureTrainInfo(Map values) { //安全培训id String secureId = values.get("secureId").toString(); SecureTrainDto trainDto = secureTrainMapper.secureTrainInfo(secureId); List pathDtos = secureTrainMapper.securePath(secureId); pathDtos.stream().forEach(fl->{ JSONObject json = new JSONObject(); json.put("fullpath",fl.getSecurePathVideo()); BasicResult basicResult = fileService.fileinfo(json.toJSONString()); if(basicResult.isSuccess()){ JSONArray jsonArray = JSONArray.parseArray(basicResult.getData().toString()); for(Object obj : jsonArray){ JSONObject j = JSON.parseObject(obj.toString()); if(j.containsKey("name")&&"name".equals(j.getString("name"))){ fl.setSecurePathVideoName(j.getString("value")); } } } }); trainDto.setSecurePathDtos(pathDtos); List groupDtos = secureTrainMapper.secureGroup(secureId); trainDto.setSecureGroupDtos(groupDtos); return BasicResult.success(trainDto); } @Override public BasicResult secureTrainPull(Map values) { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); String companyId = sysUserInfo.getCompanyId(); values.put("companyId",companyId); List secureTrainDtos = secureTrainMapper.secureTrainPull(values); return BasicResult.success(secureTrainDtos); } @Override public BasicResult secureTrainDel(Map values) { String secureId = values.get("secureId").toString(); secureTrainMapper.secureTrainDel(secureId); return BasicResult.success("删除成功"); } @Override public BasicResult secureTrainRecord(Map values) { String secureId = values.get("secureId").toString(); Integer pageSize = Integer.valueOf(values.get("pageSize").toString()); Integer pageNum = Integer.valueOf(values.get("pageNum").toString()); PageHelper.startPage(pageNum,pageSize); List secureGroupUserDtos =secureTrainMapper.secureTrainRecord(values); PageInfo secureGroupUserDtoPageInfo = new PageInfo<>(secureGroupUserDtos); return BasicResult.success(secureGroupUserDtoPageInfo); } @Override @Transactional public BasicResult secureTrainUpdate(Map values) { String secureId = values.get("secureId").toString(); secureTrainMapper.secureTrainGroupDel(secureId); //业务改动 : 班组 改为岗位 List groupIds = (List) values.get("groupIds"); if(groupIds!=null&&groupIds.size()>0){ for (String groupId : groupIds){ HashMap hashMap = new HashMap<>(); hashMap.put("groupId",groupId); hashMap.put("secureId",secureId); hashMap.put("secureGroupId",""); secureTrainMapper.secureTrainGroupInsert(hashMap); } } secureTrainMapper.secureTrainPathDel(secureId); List files = (List) values.get("files"); for (String file :files){ HashMap hashMap = new HashMap<>(); hashMap.put("securePathId",""); hashMap.put("securePathVideo",file); hashMap.put("secureId",secureId); secureTrainMapper.secureTrainPathInsert(hashMap); } secureTrainMapper.secureTrainUpdate(values); return BasicResult.success("修改成功"); } @Override public BasicResult secureTrainUserInfo(Map values) { // String openId = values.get("openId").toString(); String userType = values.get("userType").toString(); if(userType.equals("1")){ SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); String userId = sysUserInfo.getUserId(); String platId = secureTrainMapper.platId(userId); values.put("userId",platId); } OpenUserInfo userInfo = secureTrainMapper.secureTrainUserInfo(values); SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); String companyId = sysUserInfo.getCompanyId(); Double jia = encourageMapper.encourageSecurityCodeJia(userInfo.getUserId(),companyId); Double jian = encourageMapper.encourageSecurityCodeJian(userInfo.getUserId(),companyId); if(jia!=null){ }else { jia=0.0; } if(jian!=null){ }else { jian=0.0; } userInfo.setAn((userInfo.getAn()+jia-jian)); return BasicResult.success(userInfo); } @Override public BasicResult secureTrainUser(Map values) { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); String userId = sysUserInfo.getUserId(); //人员表里面的 id String platId = secureTrainMapper.platId(userId); String companyId = sysUserInfo.getCompanyId(); values.put("platId",platId); values.put("companyId",companyId); List secureTrainUserDtos=secureTrainMapper.secureTrainUser(values); for (SecureTrainUserDto s : secureTrainUserDtos){ List pathDtos = secureTrainMapper.securePath(s.getSecureId()); pathDtos.stream().forEach(fl->{ JSONObject json = new JSONObject(); json.put("fullpath",fl.getSecurePathVideo()); BasicResult basicResult = fileService.fileinfo(json.toJSONString()); if(basicResult.isSuccess()){ JSONArray jsonArray = JSONArray.parseArray(basicResult.getData().toString()); for(Object obj : jsonArray){ JSONObject j = JSON.parseObject(obj.toString()); if(j.containsKey("name")&&"name".equals(j.getString("name"))){ fl.setSecurePathVideoName(j.getString("value")); } } } }); s.setSecurePathDtos(pathDtos); } // t_secure_record List secureIds =secureTrainMapper.secureRecord(userId); // secureTrainUserDtos.stream().forEach(s1->{ // for (String s : secureIds){ // if(s1.getSecureId().equals(s)){ // secureTrainUserDtos.remove(s1); // } // } // }); HashMap hashMap = new HashMap<>(); hashMap.put("secureTrainUserDtos",secureTrainUserDtos); hashMap.put("secureIds",secureIds); return BasicResult.success(hashMap); } @Override public BasicResult secureTrainRecordInsert(Map values) { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); String userId = sysUserInfo.getUserId(); values.put("recordId",""); values.put("userId",userId); secureTrainMapper.secureTrainRecordInsert(values); return BasicResult.success("培训完成"); } }