framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java
@@ -43,7 +43,7 @@ @ExceptionHandler public Result<?> NullPointerException(NullPointerException e){ log.error(e.getMessage(), e.getCause()); e.printStackTrace(); return Result.fail("部分参数为空,请检查!"); } user-server/src/main/java/com/yuanchu/limslaboratory/controller/UserController.java
@@ -1,23 +1,27 @@ package com.yuanchu.limslaboratory.controller; import com.yuanchu.limslaboratory.clients.UserLoginUtils; import com.yuanchu.limslaboratory.pojo.Enterprise; import com.yuanchu.limslaboratory.pojo.User; import com.yuanchu.limslaboratory.service.UserService; import com.yuanchu.limslaboratory.shiro.realm.ShiroRealm; import com.yuanchu.limslaboratory.utils.SpringUtils; import com.yuanchu.limslaboratory.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.*; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.IncorrectCredentialsException; import org.apache.shiro.authc.UnknownAccountException; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.subject.Subject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.Map; /** * <p> @@ -31,6 +35,9 @@ @RequestMapping("/user") @Api(tags = "用户模块") public class UserController { @Autowired private UserService userService; @ApiOperation("用户登录") @ApiImplicitParams(value = { @@ -63,4 +70,26 @@ return Result.fail("登录失败"); } } @PostMapping("/getUserById") @ApiOperation("获取指定用户id的用户信息和企业信息") @ApiImplicitParams(value = { @ApiImplicitParam(value = "用户id", name = "userId", dataTypeClass = Integer.class, required = true) }) public Result<?> getUserById(int userId) { try { Map<String, String> map = userService.selectUserByUserId(userId); User user = new User(map.get("account"),map.get("uname"),map.get("phone"),map.get("email"),map.get("info")); Enterprise enterprise = new Enterprise(map.get("name"),map.get("byname"),map.get("link_name"),map.get("link_phone")); Map map1 = new HashMap<>(); map1.put("enterprise", enterprise); map1.put("user", user); return Result.success(map1); } catch (Exception e) { return Result.fail("用户id为空!"); } } } user-server/src/main/java/com/yuanchu/limslaboratory/mapper/UserMapper.java
@@ -2,6 +2,9 @@ import com.yuanchu.limslaboratory.pojo.User; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.springframework.stereotype.Repository; import java.util.Map; /** * <p> @@ -12,5 +15,5 @@ * @since 2023-07-07 */ public interface UserMapper extends BaseMapper<User> { Map<String, String> selectUserByUserId(int userId); } user-server/src/main/java/com/yuanchu/limslaboratory/pojo/Enterprise.java
@@ -13,6 +13,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; /** * <p> @@ -23,6 +24,7 @@ * @since 2023-07-07 */ @Data @NoArgsConstructor @EqualsAndHashCode(callSuper = false) @ApiModel(value="Enterprise对象", description="") public class Enterprise implements Serializable { @@ -63,4 +65,10 @@ private Integer version; public Enterprise(String name, String byname, String linkName, String linkPhone) { this.name = name; this.byname = byname; this.linkName = linkName; this.linkPhone = linkPhone; } } user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java
@@ -3,19 +3,14 @@ import com.baomidou.mybatisplus.annotation.*; import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import net.sf.jsqlparser.expression.DateTimeLiteralExpression; import lombok.NoArgsConstructor; /** * <p> @@ -26,6 +21,7 @@ * @since 2023-07-07 */ @Data @NoArgsConstructor @EqualsAndHashCode(callSuper = false) @ApiModel(value="User对象", description="") public class User implements Serializable { @@ -74,5 +70,11 @@ @ApiModelProperty(value = "关联 角色id") private Integer roleId; public User(String account, String name, String phone, String email, String info) { this.account = account; this.name = name; this.phone = phone; this.email = email; this.info = info; } } user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java
@@ -5,6 +5,8 @@ import java.io.Serializable; import java.util.Map; /** * <p> * 服务类 @@ -14,6 +16,8 @@ * @since 2023-07-07 */ public interface UserService extends IService<User> { // 通过用户id获取用户信息 Map<String, String> selectUserByUserId(int userId); User AccordingUsernameSelectAll(String account); } user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java
@@ -5,7 +5,12 @@ import com.yuanchu.limslaboratory.mapper.UserMapper; import com.yuanchu.limslaboratory.service.UserService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Map; import javax.annotation.Resource; @@ -21,6 +26,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { @Resource UserMapper userMapper; @Override public Map<String, String> selectUserByUserId(int userId) { return userMapper.selectUserByUserId(userId); } @Resource private UserMapper mapper; @Override user-server/src/main/resources/mapper/UserMapper.xml
@@ -2,4 +2,11 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yuanchu.limslaboratory.mapper.UserMapper"> <select id="selectUserByUserId" parameterType="int" resultType="Map"> select u.account account,u.name uname,u.phone,u.email,u.info,e.byname,e.`name`,e.link_name,e.link_phone from enterprise_user_list el,enterprise e,`user` u where e.id = el.enterprise_id and el.user_id = u.id and u.id = #{userId} </select> </mapper>