package com.thhy.secure.modules.biz.hiddenDanger.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.thhy.general.common.BasicResult; import com.thhy.general.config.SysUserInfo; import com.thhy.general.utils.ExcelUtils; import com.thhy.general.utils.UUIDUtils; import com.thhy.general.utils.UserInfoUtils; import com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerEntity; import com.thhy.secure.modules.biz.hiddenDanger.mapper.HiddenDangerMapper; import com.thhy.secure.modules.biz.hiddenDanger.service.HiddenDangerService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; /** * @Author QiuYuHao * @CreateDate 2023-11-07 14:32:29 * 隐患逻辑 */ @Service public class HiddenDangerServiceImpl implements HiddenDangerService { @Autowired private HiddenDangerMapper hiddenDangerMapper; private static final Object Lock = new Object(); @Override @Transactional(rollbackFor = Exception.class) public BasicResult insert(HiddenDangerEntity hiddenDangerEntity) { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); String hiddenDangerId = UUIDUtils.create(); hiddenDangerEntity.setId(hiddenDangerId); hiddenDangerEntity.setCreateUser(sysUserInfo.getUserId()); hiddenDangerEntity.setCompanyId(sysUserInfo.getCompanyId()); synchronized (Lock){ hiddenDangerMapper.insert(hiddenDangerEntity); //图片 hiddenDangerEntity.getImgEntities().forEach(obj->{ obj.setId(UUIDUtils.create()); obj.setHiddenDangerId(hiddenDangerId); hiddenDangerMapper.insertImg(obj); }); } return BasicResult.success(); } @Override @Transactional(rollbackFor = Exception.class) public BasicResult update(HiddenDangerEntity hiddenDangerEntity) { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); String userId = sysUserInfo.getUserId(); hiddenDangerEntity.setUpdateUser(userId); hiddenDangerEntity.setUpdateTime(new Date()); synchronized (Lock){ hiddenDangerMapper.update(hiddenDangerEntity); //删除图片 hiddenDangerMapper.deleteImg(hiddenDangerEntity.getId()); //图片 hiddenDangerEntity.getImgEntities().forEach(obj->{ obj.setId(UUIDUtils.create()); obj.setHiddenDangerId(hiddenDangerEntity.getId()); hiddenDangerMapper.insertImg(obj); }); } return BasicResult.success(); } @Override @Transactional(rollbackFor = Exception.class) public BasicResult delete(String id) { synchronized (Lock) { hiddenDangerMapper.delete(id); hiddenDangerMapper.deleteImg(id); } return BasicResult.success(); } @Override public BasicResult selectPageList(Map map) { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); map.put("companyId",sysUserInfo.getCompanyId()); int pageNum = (int) map.get("pageNum"); int pageSize = (int) map.get("pageSize"); int type = 0; if( map.get("type")!= null){ type = (int) map.get("type");//type =1 小程序来的 } PageHelper.startPage(pageNum,pageSize); List hiddenDangerEntities = new ArrayList<>(); if(type == 1){ //小程序 待审核排前面 待审核按时间正序 审核成功的倒叙 hiddenDangerEntities = hiddenDangerMapper.selectAppList(map); }else { //web 按时间倒序 hiddenDangerEntities = hiddenDangerMapper.selectPageList(map); } hiddenDangerEntities.forEach(obj ->{ String id = obj.getId(); obj.setImgEntities(hiddenDangerMapper.selectImgList(id)); }); return BasicResult.success(new PageInfo<>(hiddenDangerEntities)); } @Override public void export(Map map, HttpServletResponse response) { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); map.put("companyId",sysUserInfo.getCompanyId()); List hiddenDangerEntities = hiddenDangerMapper.selectPageList(map); hiddenDangerEntities.forEach(obj ->{ Integer auditStatus = obj.getAuditStatus(); Integer level = obj.getLevel(); switch (auditStatus){ case 0: obj.setAuditStatusName("未审核"); break; case 1: obj.setAuditStatusName("已审核"); break; case 2: obj.setAuditStatusName("审核失败"); break; } if (level != null){ switch (level){ case 1: obj.setLevelName("一般隐患"); break; case 2: obj.setLevelName("重大隐患"); break; case 3: obj.setLevelName("不存在"); break; } } }); ExcelUtils.downExcel(hiddenDangerEntities,HiddenDangerEntity.class,response,"隐患举报"); } @Override public BasicResult selectInfo(String id) { HiddenDangerEntity hiddenDangerEntity = hiddenDangerMapper.selectInfo(id); hiddenDangerEntity.setImgEntities(hiddenDangerMapper.selectImgList(id)); return BasicResult.success(hiddenDangerEntity); } @Override public BasicResult examine(HiddenDangerEntity hiddenDangerEntity) { hiddenDangerEntity.setAuditStatus(1);//1审核通过 hiddenDangerMapper.update(hiddenDangerEntity); return BasicResult.success(); } }