package com.gkhy.exam.pay.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.exam.pay.entity.NonCoalCategory; import com.gkhy.exam.pay.mapper.NonCoalCategoryMapper; import com.gkhy.exam.pay.service.NonCoalCategoryService; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.utils.SecurityUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * 非煤工种类别Service业务层处理 * * @author hh * @date 2025-01-16 */ @Service public class NonCoalCategoryServiceImpl extends ServiceImpl implements NonCoalCategoryService { @Resource private NonCoalCategoryMapper nonCoalCategoryMapper; /** * 查询非煤工种类别 * * @param id 非煤工种类别主键 * @return 非煤工种类别 */ @Override public NonCoalCategory selectNonCoalCategoryById(Long id) { return nonCoalCategoryMapper.selectNonCoalCategoryById(id); } /** * 查询非煤工种类别列表 * * @param nonCoalCategory 非煤工种类别 * @return 非煤工种类别 */ @Override public List selectNonCoalCategoryList(NonCoalCategory nonCoalCategory) { if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())) { if (!Constants.DIS_XINJIANG_CODE.equals(SecurityUtils.getDeptDistrictCode())) { nonCoalCategory.setDistrictCode(SecurityUtils.getDeptDistrictCode()); } } return nonCoalCategoryMapper.selectNonCoalCategoryList(nonCoalCategory); } /** * 新增非煤工种类别 * * @param nonCoalCategory 非煤工种类别 * @return 结果 */ @Override public int insertNonCoalCategory(NonCoalCategory nonCoalCategory) { if (!nonCoalCategory.getDistrictCode().startsWith(Constants.DIS_XINJIANG_CODE)) { throw new RuntimeException("地州信息错误"); } if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())) { if (Constants.DIS_XINJIANG_CODE.equals(nonCoalCategory.getDistrictCode())) { throw new RuntimeException("仅可选择下级地州"); } } checkSubjectName(nonCoalCategory); nonCoalCategory.setCreateBy(SecurityUtils.getUsername()); return nonCoalCategoryMapper.insertNonCoalCategory(nonCoalCategory); } /** * 修改非煤工种类别 * * @param nonCoalCategory 非煤工种类别 * @return 结果 */ @Override public int updateNonCoalCategory(NonCoalCategory nonCoalCategory) { checkSubjectName(nonCoalCategory); nonCoalCategory.setDistrictCode(null); nonCoalCategory.setUpdateBy(SecurityUtils.getUsername()); return nonCoalCategoryMapper.updateNonCoalCategory(nonCoalCategory); } private void checkSubjectName(NonCoalCategory nonCoalCategory) { int i = nonCoalCategoryMapper.checkUnite(nonCoalCategory); if (i > 0) { throw new RuntimeException("该工种类别已存在"); } } /** * 批量删除非煤工种类别 * * @param ids 需要删除的非煤工种类别主键 * @return 结果 */ @Override public int deleteNonCoalCategoryByIds(Long[] ids) { return nonCoalCategoryMapper.deleteNonCoalCategoryByIds(ids); } /** * 删除非煤工种类别信息 * * @param id 非煤工种类别主键 * @return 结果 */ @Override public int deleteNonCoalCategoryById(Long id) { return nonCoalCategoryMapper.deleteNonCoalCategoryById(id); } }