| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package com.seecoder.BlueWhale.serviceImpl;
- import com.seecoder.BlueWhale.enums.RoleEnum;
- import com.seecoder.BlueWhale.exception.BlueWhaleException;
- import com.seecoder.BlueWhale.repository.StoreRepository;
- import com.seecoder.BlueWhale.repository.UserRepository;
- import com.seecoder.BlueWhale.po.Store;
- import com.seecoder.BlueWhale.po.User;
- import com.seecoder.BlueWhale.service.UserService;
- import com.seecoder.BlueWhale.util.SecurityUtil;
- import com.seecoder.BlueWhale.util.TokenUtil;
- import com.seecoder.BlueWhale.vo.OrderVO;
- import com.seecoder.BlueWhale.vo.UserVO;
- import java.util.Date;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- /**
- * @Author: GaoZhaolong
- * @Date: 14:46 2023/11/26
- *
- * 注册登录功能实现
- */
- @Service
- public class UserServiceImpl implements UserService {
- @Autowired
- UserRepository userRepository;
-
- @Autowired
- TokenUtil tokenUtil;
- @Autowired
- SecurityUtil securityUtil;
- @Autowired
- StoreRepository storeRepository;
- @Override
- public Boolean register(UserVO userVO) {
- User user = userRepository.findByPhone(userVO.getPhone());
- if (user != null) {
- throw BlueWhaleException.phoneAlreadyExists();
- }
- User newUser = userVO.toPO();
- newUser.setCreateTime(new Date());
- userRepository.save(newUser);
- return true;
- }
- @Override
- public String login(String phone, String password) {
- User user = userRepository.findByPhoneAndPassword(phone, password);
- if (user == null) {
- throw BlueWhaleException.phoneOrPasswordError();
- }
- return tokenUtil.getToken(user);
- }
- @Override
- public UserVO getInformation() {
- User user=securityUtil.getCurrentUser();
- if (user.getRole()==RoleEnum.STAFF) {
- return wrapWithStoreName(user.toVO());
- }
- return user.toVO();
- }
- @Override
- public Boolean updateInformation(UserVO userVO) {
- User user=securityUtil.getCurrentUser();
- if (userVO.getPassword()!=null){
- user.setPassword(userVO.getPassword());
- }
- if (userVO.getName()!=null){
- user.setName(userVO.getName());
- }
- if (userVO.getAddress()!=null){
- user.setAddress(userVO.getAddress());
- }
- userRepository.save(user);
- return true;
- }
- private UserVO wrapWithStoreName(UserVO userVO){
- Integer storeId = userVO.getStoreId();
- if (storeId==null){
- return userVO;
- }
- Store store = storeRepository.findById(storeId).get();
- userVO.setStoreName(store.getName());
- return userVO;
- }
- }
|