XiaoRuby
2023-07-17 0042c9bee29a876a754e4d542bfba956822e7844
user-server/src/main/java/com/yuanchu/limslaboratory/controller/UserController.java
@@ -8,6 +8,9 @@
import com.yuanchu.limslaboratory.pojo.User;
import com.yuanchu.limslaboratory.service.UserService;
import com.yuanchu.limslaboratory.shiro.realm.ShiroRealm;
import com.yuanchu.limslaboratory.utils.JackSonUtil;
import com.yuanchu.limslaboratory.utils.MyUtil;
import com.yuanchu.limslaboratory.utils.RedisUtil;
import com.yuanchu.limslaboratory.utils.SpringUtil;
import com.yuanchu.limslaboratory.vo.NewPersonnelVo;
import com.yuanchu.limslaboratory.vo.PagePersonnelVo;
@@ -20,6 +23,7 @@
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
@@ -87,28 +91,30 @@
    @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为空!");
    public Result<?> getUserById(@RequestHeader("X-Token") String token) throws Exception {
        Object o = RedisUtil.get(token);
        Map<String, Object> unmarshal = null;
        if (!ObjectUtils.isEmpty(o)){
            unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(o), Map.class);
            Map<String, String> map = userService.selectUserByUserId((Integer) unmarshal.get("id"));
            MyUtil.PrintLog(map.toString());
            return Result.success(map);
        }
        return Result.fail("Token错误!");
    }
    @PostMapping("/add_new_personnel")
    @ApiOperation("实验室管理-->人员管理-->新增人员")
    public Result<?> addNewPersonnel(@RequestBody NewPersonnelVo newPersonnelVo) {
        newPersonnelVo.setPassword("123456");
        Integer isAddSuccess = userService.addNewPersonnel(newPersonnelVo);
    public Result<?> addNewPersonnel(@RequestHeader("X-Token") String token, @RequestBody NewPersonnelVo newPersonnelVo) throws Exception {
        Object redisUserMessage = RedisUtil.get(token);
        Map<String, Object> user = null;
        Integer isAddSuccess = 0;
        if (!ObjectUtils.isEmpty(redisUserMessage)) {
            user = JackSonUtil.unmarshal(JackSonUtil.marshal(redisUserMessage), Map.class);
            newPersonnelVo.setPassword("123456");
            isAddSuccess = userService.addNewPersonnel(newPersonnelVo, user.get("enterpriseId").toString());
        }
        if (isAddSuccess == 1){
            return Result.success("添加【" + newPersonnelVo.getName() + "】成功,默认密码为:" + newPersonnelVo.getPassword());
        }