From 346288bc38bdab442721d7609caed86d03b9d2d4 Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Tue, 26 Sep 2023 19:25:24 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/wb' into qa --- screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java | 196 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 196 insertions(+), 0 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java new file mode 100644 index 0000000..14fd4c3 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java @@ -0,0 +1,196 @@ +package com.moral.api.service.impl; + + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import java.util.ArrayList; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.servlet.http.HttpServletRequest; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.entity.ResponsibilityUnit; +import com.moral.api.entity.SysArea; +import com.moral.api.mapper.ResponsibilityUnitMapper; +import com.moral.api.pojo.redisBean.AccountInfoDTO; +import com.moral.api.service.ResponsibilityUnitService; +import com.moral.api.service.SysAreaService; +import com.moral.constant.Constants; +import com.moral.util.TokenUtils; + +@Service +public class ResponsibilityUnitServiceImpl extends ServiceImpl<ResponsibilityUnitMapper, ResponsibilityUnit> implements ResponsibilityUnitService { + + + @Autowired + private ResponsibilityUnitMapper responsibilityUnitMapper; + @Autowired + private SysAreaService sysAreaService; + + + /** + * ������������ + * @param responsibilityUnit + * @return + */ + @Override + public Integer insert(ResponsibilityUnit responsibilityUnit) { + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + AccountInfoDTO accountInfoDTO = (AccountInfoDTO) TokenUtils.getUserInfoByToken(token); + QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>(); + wrapper.eq("unit_name",responsibilityUnit.getUnitName()); + + List<ResponsibilityUnit> units = responsibilityUnitMapper.selectList(wrapper); + if (ObjectUtils.isEmpty(units)){ + responsibilityUnit.setIsDel(Constants.NOT_DELETE); + responsibilityUnit.setCreateTime(new Date()); + responsibilityUnit.setIsInvalid(0); + responsibilityUnit.setCreateId(accountInfoDTO.getAccount().getId()); + responsibilityUnit.setCreateName(accountInfoDTO.getAccount().getUserName()); + responsibilityUnit.setCreateTime(new Date()); + responsibilityUnit.setUpdateId(accountInfoDTO.getAccount().getId()); + responsibilityUnit.setUpdateName(accountInfoDTO.getAccount().getUserName()); + responsibilityUnit.setUpdateTime(new Date()); + responsibilityUnit.setValue(JSONArray.toJSONString(responsibilityUnit.getParentCodeList())); + responsibilityUnitMapper.insert(responsibilityUnit); + return 200; + } + return -1; + } + + /** + * ������������ + * @param parameters + * @return + */ + @Override + public Map<String, Object> selectUnit(Map<String, Object> parameters) { + QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>(); + wrapper.eq("is_del",Constants.NOT_DELETE); + int page = Integer.parseInt(parameters.get("page").toString()); + int size = Integer.parseInt(parameters.get("size").toString()); + Object parentName1 = parameters.get("parentCode"); + Object areaName1 = parameters.get("areaCode"); + //������������������ + if (!ObjectUtils.isEmpty(parameters.get("name"))){ + wrapper.like("unit_name",parameters.get("name").toString()); + } + //������������������ + if (!ObjectUtils.isEmpty(parentName1)){ + wrapper.eq("parent_code",Integer.parseInt(parentName1.toString())); + } + //������������������ + if (!ObjectUtils.isEmpty(areaName1)){ + wrapper.eq("parent_code",Integer.parseInt(areaName1.toString())); + } + Page<ResponsibilityUnit> pageList = new Page<>(page, size); + Page<ResponsibilityUnit> responsibilityUnitPage = responsibilityUnitMapper.selectPage(pageList, wrapper); + for (ResponsibilityUnit record : responsibilityUnitPage.getRecords()) { + Integer areaCode = record.getAreaCode(); + SysArea sysArea= sysAreaService.select(areaCode); + Integer parentCode = record.getParentCode(); + SysArea parentArea = sysAreaService.select(parentCode); + if (ObjectUtils.isEmpty(sysArea) || ObjectUtils.isEmpty(parentArea)){ + continue; + } + record.setAreaName(sysArea.getAreaName()); + record.setParentName(parentArea.getAreaName()); + record.setParentCodeList(JSONObject.parseObject(record.getValue(),List.class)); + } + Map<String, Object> result = new LinkedHashMap<>(); + result.put("total", pageList.getTotal()); + result.put("totalPage", pageList.getPages()); + result.put("current", pageList.getCurrent()); + result.put("pageSize", pageList.getSize()); + result.put("item", responsibilityUnitPage.getRecords()); +// responsibilityUnitPage.getOrders() + return result; + } + + + /** + * ������������ + * @param responsibilityUnit + * @return + */ + @Override + public Integer updateUnit(ResponsibilityUnit responsibilityUnit) { + QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>(); + wrapper.eq("unit_name",responsibilityUnit.getUnitName()); + wrapper.eq("area_code",responsibilityUnit.getAreaCode()); + ResponsibilityUnit responsibilityUnit2 = responsibilityUnitMapper.selectOne(wrapper); + if (ObjectUtils.isEmpty(responsibilityUnit2)){ + AccountInfoDTO account = getAccount(); + responsibilityUnit.setUpdateId(account.getAccount().getId()); + responsibilityUnit.setUpdateName(account.getAccount().getUserName()); + responsibilityUnit.setUpdateTime(new Date()); + responsibilityUnit.setValue(JSONArray.toJSONString(responsibilityUnit.getParentCodeList())); +// responsibilityUnit.setParentCodeList(JSONObject.parseObject(responsibilityUnit.getValue(),List.class)); + responsibilityUnitMapper.updateById(responsibilityUnit); + return 200; + } + return -1; + } + + + /** + * ������������ + * + */ + @Override + public void updateState(Integer unitId) { + ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(unitId); + responsibilityUnit.setState(Constants.NOT_DELETE); + AccountInfoDTO account = getAccount(); + responsibilityUnit.setUpdateId(account.getAccount().getId()); + responsibilityUnit.setUpdateName(account.getAccount().getUserName()); + responsibilityUnit.setUpdateTime(new Date()); + responsibilityUnitMapper.updateById(responsibilityUnit); + } + + + /** + * ������������ + * @param unitId + * @param code + */ + @Override + public void updateInvalid(Integer unitId, String code) { + ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(unitId); + + responsibilityUnit.setIsInvalid(1); + if (!ObjectUtils.isEmpty(code)){ + responsibilityUnit.setInvalidReason(code); + } + AccountInfoDTO account = getAccount(); + responsibilityUnit.setUpdateId(account.getAccount().getId()); + responsibilityUnit.setUpdateName(account.getAccount().getUserName()); + responsibilityUnit.setUpdateTime(new Date()); + responsibilityUnitMapper.updateById(responsibilityUnit); + + } + + + /** + * ������������������ + * @return + */ + private AccountInfoDTO getAccount(){ + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + AccountInfoDTO accountInfoDTO = (AccountInfoDTO) TokenUtils.getUserInfoByToken(token); + return accountInfoDTO; + } +} -- Gitblit v1.8.0