From 49067588d021a8dce13d9857c4a032daaa68f646 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期一, 12 五月 2025 09:34:15 +0800 Subject: [PATCH] 订单下发接口优化 --- ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java | 34 ++++++++++++++++++++++++++++++++-- 1 files changed, 32 insertions(+), 2 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java index 3a38040..80320a1 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java @@ -8,7 +8,11 @@ import com.ycl.platform.mapper.ContractResultMapper; import com.ycl.platform.mapper.ContractResultRecordMapper; import com.ycl.platform.service.IContractResultService; +import com.ycl.system.entity.BaseEntity; +import com.ycl.system.entity.SysRole; +import com.ycl.system.entity.SysUser; import com.ycl.utils.SecurityUtils; +import enumeration.general.PublishType; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -16,6 +20,8 @@ import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.Objects; /** * 鑰冩牳缁撴灉Service涓氬姟灞傚鐞� @@ -50,9 +56,31 @@ */ @Override public List<ContractResultVO> selectCheckResultList(ContractResultVO contractResult) { - contractResult.setUnitId(Long.valueOf(SecurityUtils.getUnitId())); + //閬垮厤鏌ヨ鏉′欢澶辨晥 + if (contractResult.getUnitId() == null) { + Integer unitId = SecurityUtils.getUnitId(); + Long uid = null; + if (Objects.nonNull(unitId)) { + uid = Long.valueOf(unitId); + } + contractResult.setUnitId(uid); + } + roleControl(contractResult); return checkResultMapper.selectCheckResultList(contractResult); } + + private void roleControl(ContractResultVO contractResult) { + List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles(); + SysUser user = SecurityUtils.getLoginUser().getUser(); + if (!user.isAdmin()) { + for (SysRole role : roles) { + if (role.getPermissions().contains("check:contract:role:publish")) { + contractResult.setPublish(1); + } + } + } + } + /** * 鏂板鑰冩牳缁撴灉 @@ -113,9 +141,11 @@ @Override public Boolean publish(Long id) { + ContractResult contractResult = checkResultMapper.selectById(id); + return new LambdaUpdateChainWrapper<>(checkResultMapper) .eq(ContractResult::getId, id) - .set(ContractResult::getPublish, 1) + .set(ContractResult::getPublish, contractResult.getPublish() == 0 ? 1 : 0) .set(ContractResult::getPublishId, SecurityUtils.getLoginUser().getUserId()) .update(); } -- Gitblit v1.8.0