diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/controller/KitchenStaffInfoController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/controller/KitchenStaffInfoController.java index a2b254e..2302c63 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/controller/KitchenStaffInfoController.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/controller/KitchenStaffInfoController.java @@ -36,7 +36,7 @@ public class KitchenStaffInfoController extends BaseController { @ApiOperation(value = "查询厨房员工资料列表") //@RequiresPermissions("kitchen:info:list") @PostMapping("/list") - public TableDataInfo list(@RequestBody @Valid KitchenStaffInfo kitchenStaffInfo) { + public TableDataInfo list(@RequestBody KitchenStaffInfo kitchenStaffInfo) { startPage(); List list = kitchenStaffInfoService.selectKitchenStaffInfoList(kitchenStaffInfo); return getDataTable(list); diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/mapper/KitchenStaffDevicePrivilegeMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/mapper/KitchenStaffDevicePrivilegeMapper.java index ba00709..d36ff07 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/mapper/KitchenStaffDevicePrivilegeMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/mapper/KitchenStaffDevicePrivilegeMapper.java @@ -5,14 +5,14 @@ import com.bonus.canteen.core.kitchen.domain.KitchenStaffDevicePrivilege; /** * 厨房员工设备权限Mapper接口 - * + * * @author xsheng * @date 2025-06-17 */ public interface KitchenStaffDevicePrivilegeMapper { /** * 查询厨房员工设备权限 - * + * * @param id 厨房员工设备权限主键 * @return 厨房员工设备权限 */ @@ -28,7 +28,7 @@ public interface KitchenStaffDevicePrivilegeMapper { /** * 查询厨房员工设备权限列表 - * + * * @param kitchenStaffDevicePrivilege 厨房员工设备权限 * @return 厨房员工设备权限集合 */ @@ -36,7 +36,7 @@ public interface KitchenStaffDevicePrivilegeMapper { /** * 新增厨房员工设备权限 - * + * * @param kitchenStaffDevicePrivilege 厨房员工设备权限 * @return 结果 */ @@ -44,7 +44,7 @@ public interface KitchenStaffDevicePrivilegeMapper { /** * 修改厨房员工设备权限 - * + * * @param kitchenStaffDevicePrivilege 厨房员工设备权限 * @return 结果 */ @@ -52,7 +52,7 @@ public interface KitchenStaffDevicePrivilegeMapper { /** * 删除厨房员工设备权限 - * + * * @param id 厨房员工设备权限主键 * @return 结果 */ @@ -60,11 +60,13 @@ public interface KitchenStaffDevicePrivilegeMapper { /** * 批量删除厨房员工设备权限 - * + * * @param ids 需要删除的数据主键集合 * @return 结果 */ public int deleteKitchenStaffDevicePrivilegeByIds(Long[] ids); public int deleteKitchenStaffDevicePrivilegeByStaffId(Long staffId); + + public int deleteKitchenStaffDevicePrivilegeByStaffIds(Long[] staffIds); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffDevicePrivilegeServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffDevicePrivilegeServiceImpl.java index 0bb21f9..e566d26 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffDevicePrivilegeServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffDevicePrivilegeServiceImpl.java @@ -56,12 +56,11 @@ public class KitchenStaffDevicePrivilegeServiceImpl implements IKitchenStaffDevi @Transactional(rollbackFor = Exception.class) public int insertKitchenStaffDevicePrivilege(List kitchenStaffDevicePrivilege) { if(CollUtil.isNotEmpty(kitchenStaffDevicePrivilege)) { - kitchenStaffDevicePrivilegeMapper.deleteKitchenStaffDevicePrivilegeByStaffId(kitchenStaffDevicePrivilege.get(0).getStaffId()); for (KitchenStaffDevicePrivilege privilege : kitchenStaffDevicePrivilege) { privilege.setCreateTime(DateUtils.getNowDate()); privilege.setCreateBy(SecurityUtils.getUsername()); try { - return kitchenStaffDevicePrivilegeMapper.insertKitchenStaffDevicePrivilege(privilege); + kitchenStaffDevicePrivilegeMapper.insertKitchenStaffDevicePrivilege(privilege); } catch (Exception e) { throw new ServiceException(e.getMessage()); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffInfoServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffInfoServiceImpl.java index df81776..6e8ece6 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffInfoServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffInfoServiceImpl.java @@ -1,9 +1,6 @@ package com.bonus.canteen.core.kitchen.service.impl; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Objects; +import java.util.*; import cn.hutool.core.collection.CollUtil; import com.bonus.canteen.core.kitchen.domain.AccessAuthority; @@ -61,6 +58,7 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { List kitchenStaffDevicePrivilegeList = kitchenStaffDevicePrivilegeMapper .selectKitchenStaffDevicePrivilegeByStaffId(staffId); if(CollUtil.isNotEmpty(kitchenStaffDevicePrivilegeList)) { + List accessAuthorityList = Lists.newArrayList(); AccessAuthority accessAuthority = new AccessAuthority(); for (KitchenStaffDevicePrivilege kitchenStaffDevicePrivilege : kitchenStaffDevicePrivilegeList) { KitchenDeviceListVO deviceInfo = kitchenDeviceInfoMapper.selectKitchenDeviceInfoByDeviceId(kitchenStaffDevicePrivilege.getDeviceId()); @@ -71,7 +69,9 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { accessAuthority.setDeviceId(kitchenStaffDevicePrivilege.getDeviceId()); accessAuthority.setDeviceType(kitchenStaffDevicePrivilege.getDeviceType()); accessAuthority.setPrivilegeValue(kitchenStaffDevicePrivilege.getPrivilegeValue()); + accessAuthorityList.add(accessAuthority); } + kitchenStaffInfo.setAccessAuthorityList(accessAuthorityList); } } return kitchenStaffInfo; @@ -108,7 +108,9 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { public int insertKitchenStaffInfo(KitchenStaffInfo kitchenStaffInfo) { kitchenStaffInfo.setCreateTime(DateUtils.getNowDate()); kitchenStaffInfo.setCreateBy(SecurityUtils.getUsername()); + kitchenStaffInfo.setStaffId(null); try { + checkUser(kitchenStaffInfo); int result = kitchenStaffInfoMapper.insertKitchenStaffInfo(kitchenStaffInfo); addPrivileges(kitchenStaffInfo); return result; @@ -127,7 +129,11 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { public int updateKitchenStaffInfo(KitchenStaffInfo kitchenStaffInfo) { kitchenStaffInfo.setUpdateTime(DateUtils.getNowDate()); kitchenStaffInfo.setUpdateBy(SecurityUtils.getUsername()); + if(Objects.isNull(kitchenStaffInfo.getStaffId())) { + throw new ServiceException("员工编号不能为空"); + } try { + checkUser(kitchenStaffInfo); kitchenStaffInfoMapper.updateKitchenStaffInfo(kitchenStaffInfo); kitchenStaffDevicePrivilegeMapper.deleteKitchenStaffDevicePrivilegeByStaffId(kitchenStaffInfo.getStaffId()); addPrivileges(kitchenStaffInfo); @@ -137,8 +143,24 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { return 1; } + private void checkUser(KitchenStaffInfo kitchenStaffInfo) { + KitchenStaffInfo kitchenStaffInfoByPhone = new KitchenStaffInfo(); + kitchenStaffInfoByPhone.setUserId(kitchenStaffInfo.getUserId()); + List staffInfoList = kitchenStaffInfoMapper.selectKitchenStaffInfoList(kitchenStaffInfoByPhone); + if(CollUtil.isNotEmpty(staffInfoList) && !Objects.equals(staffInfoList.get(0).getStaffId(), kitchenStaffInfo.getStaffId())) { + throw new ServiceException("该用户已存在"); + } + kitchenStaffInfoByPhone = new KitchenStaffInfo(); + kitchenStaffInfoByPhone.setStaffNo(kitchenStaffInfo.getStaffNo()); + staffInfoList = kitchenStaffInfoMapper.selectKitchenStaffInfoList(kitchenStaffInfoByPhone); + if(CollUtil.isNotEmpty(staffInfoList) && !Objects.equals(staffInfoList.get(0).getStaffId(), kitchenStaffInfo.getStaffId())) { + throw new ServiceException("该用户编号已存在"); + } + } + private void addPrivileges(KitchenStaffInfo kitchenStaffInfo) { if(CollUtil.isNotEmpty(kitchenStaffInfo.getAccessAuthorityList())) { + List kitchenStaffDevicePrivilegeList = new ArrayList<>(); for(AccessAuthority access : kitchenStaffInfo.getAccessAuthorityList()) { KitchenStaffDevicePrivilege kitchenStaffDevicePrivilege = new KitchenStaffDevicePrivilege(); kitchenStaffDevicePrivilege.setStaffId(kitchenStaffInfo.getStaffId()); @@ -146,8 +168,9 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { kitchenStaffDevicePrivilege.setDeviceType(access.getDeviceType()); kitchenStaffDevicePrivilege.setPrivilegeName("is_enable"); kitchenStaffDevicePrivilege.setPrivilegeValue(access.getPrivilegeValue()); - kitchenStaffDevicePrivilegeService.insertKitchenStaffDevicePrivilege(Collections.singletonList(kitchenStaffDevicePrivilege)); + kitchenStaffDevicePrivilegeList.add(kitchenStaffDevicePrivilege); } + kitchenStaffDevicePrivilegeService.insertKitchenStaffDevicePrivilege(kitchenStaffDevicePrivilegeList); } } @@ -159,6 +182,7 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { */ @Override public int deleteKitchenStaffInfoByStaffIds(Long[] staffIds) { + kitchenStaffDevicePrivilegeMapper.deleteKitchenStaffDevicePrivilegeByStaffIds(staffIds); return kitchenStaffInfoMapper.deleteKitchenStaffInfoByStaffIds(staffIds); } @@ -170,6 +194,7 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { */ @Override public int deleteKitchenStaffInfoByStaffId(Long staffId) { + kitchenStaffDevicePrivilegeMapper.deleteKitchenStaffDevicePrivilegeByStaffId(staffId); return kitchenStaffInfoMapper.deleteKitchenStaffInfoByStaffId(staffId); } } diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffDevicePrivilegeMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffDevicePrivilegeMapper.xml index 3fa4d03..6a57d19 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffDevicePrivilegeMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffDevicePrivilegeMapper.xml @@ -96,4 +96,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" delete from kitchen_staff_device_privilege where staff_id = #{staffId} + + + delete from kitchen_staff_device_privilege where staff_id in + + #{staffId} + + + \ No newline at end of file diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffInfoMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffInfoMapper.xml index f14975b..d3a1c80 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffInfoMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffInfoMapper.xml @@ -42,7 +42,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and nutrity_cert_expire = #{nutrityCertExpire} and safety_cert_expire = #{safetyCertExpire} and su.sex = #{sex} - + and sup.post_id in #{postId}