|  |  | 
 |  |  | 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 { | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @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()); | 
 |  |  |  | 
 |  |  | 
 |  |  |         if (ObjectUtils.isEmpty(units)){ | 
 |  |  |             responsibilityUnit.setIsDel(Constants.NOT_DELETE); | 
 |  |  |             responsibilityUnit.setCreateTime(new Date()); | 
 |  |  |             responsibilityUnit.setState(0); | 
 |  |  |             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; | 
 |  |  |         } | 
 |  |  | 
 |  |  |         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 areaName = sysAreaService.select(areaCode); | 
 |  |  |             SysArea sysArea= sysAreaService.select(areaCode); | 
 |  |  |             Integer parentCode = record.getParentCode(); | 
 |  |  |             SysArea parentName = sysAreaService.select(parentCode); | 
 |  |  |             if (ObjectUtils.isEmpty(areaName) || ObjectUtils.isEmpty(parentName)){ | 
 |  |  |             SysArea parentArea = sysAreaService.select(parentCode); | 
 |  |  |             if (ObjectUtils.isEmpty(sysArea) || ObjectUtils.isEmpty(parentArea)){ | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             record.setAreaName(areaName.getAreaName()); | 
 |  |  |             record.setParentName(parentName.getAreaName()); | 
 |  |  |             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()); | 
 |  |  | 
 |  |  |     public Integer updateUnit(ResponsibilityUnit responsibilityUnit) { | 
 |  |  |         QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>(); | 
 |  |  |         wrapper.eq("unit_name",responsibilityUnit.getUnitName()); | 
 |  |  |         List<ResponsibilityUnit> units = responsibilityUnitMapper.selectList(wrapper); | 
 |  |  |         if (ObjectUtils.isEmpty(units)){ | 
 |  |  |             responsibilityUnitMapper.updateById(responsibilityUnit); | 
 |  |  |             return 200; | 
 |  |  |         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 id) { | 
 |  |  |         ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(id); | 
 |  |  |         responsibilityUnit.setState(1); | 
 |  |  |     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 id | 
 |  |  |      * @param unitId | 
 |  |  |      * @param code | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void updateInvalid(Integer id, String code) { | 
 |  |  |         ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(id); | 
 |  |  |     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; | 
 |  |  |     } | 
 |  |  | } |