diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbPlussShopStaffController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbPlussShopStaffController.java index ec8dd15f..6607c755 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbPlussShopStaffController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbPlussShopStaffController.java @@ -76,6 +76,14 @@ public class TbPlussShopStaffController { return new ResponseEntity<>(HttpStatus.NO_CONTENT); } + @PutMapping("updateStatus") + @Log("修改员工状态:#resources.name") + @ApiOperation("修改/shop/shopStaff") + public ResponseEntity updateStatus(@Validated @RequestBody TbPlussShopStaff resources){ + tbPlussShopStaffService.updateStatus(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + @DeleteMapping @Log("删除员工:#ids") @ApiOperation("删除/shop/shopStaff") diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbPlussShopStaffDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbPlussShopStaffDto.java index c5045081..2167d8b0 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbPlussShopStaffDto.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbPlussShopStaffDto.java @@ -15,6 +15,7 @@ */ package cn.ysk.cashier.dto.shop; +import cn.ysk.cashier.system.service.dto.RoleSmallDto; import cn.ysk.cashier.system.service.dto.UserDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,6 +23,7 @@ import lombok.Data; import javax.persistence.Column; import java.math.BigDecimal; import java.io.Serializable; +import java.util.Set; /** * @website https://eladmin.vip @@ -70,7 +72,10 @@ public class TbPlussShopStaffDto implements Serializable { */ private Integer isPc; - private UserDto user; +// private UserDto user; +// private RoleSmallDto roles; + private Long roleId; + private String phone; private Long createdAt; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbPlussShopStaff.java b/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbPlussShopStaff.java index 240e76ec..8f36c074 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbPlussShopStaff.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbPlussShopStaff.java @@ -15,6 +15,7 @@ */ package cn.ysk.cashier.pojo.shop; +import cn.ysk.cashier.system.service.dto.RoleSmallDto; import lombok.Data; import cn.hutool.core.bean.BeanUtil; import io.swagger.annotations.ApiModelProperty; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbPlussShopStaffServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbPlussShopStaffServiceImpl.java index 010f349c..3fbed9c6 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbPlussShopStaffServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbPlussShopStaffServiceImpl.java @@ -23,6 +23,7 @@ import cn.ysk.cashier.system.domain.Role; import cn.ysk.cashier.system.domain.User; import cn.ysk.cashier.system.repository.UserRepository; import cn.ysk.cashier.system.service.UserService; +import cn.ysk.cashier.system.service.dto.RoleSmallDto; import cn.ysk.cashier.system.service.dto.UserDto; import cn.ysk.cashier.utils.*; import lombok.RequiredArgsConstructor; @@ -36,6 +37,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import org.springframework.util.CollectionUtils; import java.time.Instant; import java.util.*; @@ -77,7 +79,11 @@ public class TbPlussShopStaffServiceImpl implements TbPlussShopStaffService { ValidationUtil.isNull(tbPlussShopStaff.getId(),"TbPlussShopStaff","id",id); TbPlussShopStaffDto dto = tbPlussShopStaffMapper.toDto(tbPlussShopStaff); UserDto userDto = userService.findByName(tbPlussShopStaff.getAccount()); - dto.setUser(userDto); +// dto.setUser(userDto); + if(!CollectionUtils.isEmpty(userDto.getRoles())){ + dto.setRoleId(userDto.getRoles().stream().findFirst().get().getId()); + } + dto.setPhone(userDto.getPhone()); return dto; } @@ -104,7 +110,11 @@ public class TbPlussShopStaffServiceImpl implements TbPlussShopStaffService { Set roles = new HashSet<>(); Role role = new Role(); - role.setId(2L); + if(resources.getRoleId()!=null){ + role.setId(resources.getRoleId()); + }else { + role.setId(2l); + } roles.add(role); user.setRoles(roles); @@ -137,6 +147,15 @@ public class TbPlussShopStaffServiceImpl implements TbPlussShopStaffService { userRepository.save(sysUser); } + @Override + @Transactional(rollbackFor = Exception.class) + public void updateStatus(TbPlussShopStaff resources) { + TbPlussShopStaff tbPlussShopStaff = tbPlussShopStaffRepository.findById(resources.getId()).orElseGet(TbPlussShopStaff::new); + tbPlussShopStaff.setUpdatedAt(Instant.now().toEpochMilli()); + tbPlussShopStaff.setStatus(resources.getStatus()); + tbPlussShopStaffRepository.save(tbPlussShopStaff); + } + @Override public void deleteAll(Integer[] ids) { Set sysUserIds=new HashSet<>(); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/shop/TbPlussShopStaffService.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/shop/TbPlussShopStaffService.java index 92a0769f..2b4a93c6 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/shop/TbPlussShopStaffService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/shop/TbPlussShopStaffService.java @@ -67,6 +67,8 @@ public interface TbPlussShopStaffService { */ void update(TbPlussShopStaff resources); + void updateStatus(TbPlussShopStaff resources); + /** * 多选删除 * @param ids /