黄远 5 anni fa
parent
commit
95f5863448

+ 10 - 0
lift-common/src/main/java/cn.com.ty.lift.common/constants/ApiConstants.java

@@ -113,6 +113,16 @@ public class ApiConstants {
          * 普通用户
          */
         int TYPE_USER = 3;
+
+        /**
+         * 专家标识-是
+         */
+        int IS_EXPERT = 1;
+
+        /**
+         * 专家表示否
+         */
+        int NOT_EXPERT = 0;
     }
 
     /**

+ 19 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/controller/ExpertController.java

@@ -1,6 +1,11 @@
 package cn.com.ty.lift.system.user.controller;
 
 
+import cn.com.ty.lift.system.user.dao.entity.model.ExpertRequest;
+import cn.com.ty.lift.system.user.service.IExpertService;
+import cn.com.xwy.boot.web.dto.RestResponse;
+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;
@@ -17,4 +22,18 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/expert")
 public class ExpertController {
 
+    @Autowired
+    private IExpertService expertService;
+
+    /**
+     * @param
+     * @return
+     * @description 添加专家信息
+     * @date 2020-01-03 14:52
+     */
+    @PostMapping("/add")
+    public RestResponse add(ExpertRequest expertRequest) {
+        return expertService.add(expertRequest);
+    }
+
 }

+ 6 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/entity/Expert.java

@@ -30,6 +30,12 @@ public class Expert implements Serializable {
     @TableId("id")
     private Long id;
 
+    /**
+     * 用户id
+     */
+    @TableField("user_id")
+    private Long userId;
+
     /**
      * 专家名称
      */

+ 3 - 3
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/entity/UserAccount.java

@@ -1,12 +1,12 @@
 package cn.com.ty.lift.system.user.dao.entity;
 
-import cn.com.ty.lift.system.user.dao.entity.model.UserRequest;
 import cn.com.ty.lift.common.utils.PojoUtils;
+import cn.com.ty.lift.system.user.dao.entity.model.UserRequest;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 /**
  * 实体类 - 表:user_account
@@ -39,7 +39,7 @@ public class UserAccount {
 
 	private String remarks;
 
-	private Date createDate;
+	private LocalDateTime createDate;
 
 	private int deleteFlag;
 

+ 18 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/entity/model/ExpertRequest.java

@@ -0,0 +1,18 @@
+package cn.com.ty.lift.system.user.dao.entity.model;
+
+import lombok.Data;
+
+/**
+ * @author huangyuan
+ * @date 2020-01-03
+ * @description 专家请求类
+ */
+@Data
+public class ExpertRequest{
+    private Long id;//id
+    private String mobile;//用户手机号
+    private String password;//用户密码
+    private Long userId;//用户id
+    private String name;//专家名称
+    private String description;//专家描述
+}

+ 1 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/entity/model/UserApplyResponse.java

@@ -16,6 +16,7 @@ public class UserApplyResponse {
     private String userName;//用户昵称
     private String userMobile;//用户手机号
     private Integer userType;//用户类型
+    private String userAvatarUrl;//用户头像路径
     private Integer applyType;//申请事项:1加入团队2加入项目
     private LocalDateTime applyDate;//申请日期
     private LocalDateTime dealDate;//处理日期

+ 1 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/entity/model/UserResponse.java

@@ -19,6 +19,7 @@ public class UserResponse {
     private String mobile;//用户手机号
     private String name;//用户昵称
     private Integer type;//用户类型
+    private String avatarUrl;//用户头像
     private Date createTime;//创建时间/注册时间
     private Integer expertFlag;//专家标识
     private String token;//验证token

+ 9 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/IExpertService.java

@@ -1,6 +1,8 @@
 package cn.com.ty.lift.system.user.service;
 
 import cn.com.ty.lift.system.user.dao.entity.Expert;
+import cn.com.ty.lift.system.user.dao.entity.model.ExpertRequest;
+import cn.com.xwy.boot.web.dto.RestResponse;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**
@@ -13,4 +15,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IExpertService extends IService<Expert> {
 
+    /**
+     * @param
+     * @return
+     * @description 添加专家信息
+     * @date 2020-01-03 14:53
+     */
+    RestResponse add(ExpertRequest expertRequest);
 }

+ 40 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/ExpertServiceImpl.java

@@ -1,10 +1,21 @@
 package cn.com.ty.lift.system.user.service.impl;
 
+import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.system.user.dao.entity.Expert;
+import cn.com.ty.lift.system.user.dao.entity.UserAccount;
+import cn.com.ty.lift.system.user.dao.entity.UserInfo;
+import cn.com.ty.lift.system.user.dao.entity.model.ExpertRequest;
 import cn.com.ty.lift.system.user.dao.mapper.ExpertMapper;
 import cn.com.ty.lift.system.user.service.IExpertService;
+import cn.com.ty.lift.system.user.service.IUserAccountService;
+import cn.com.ty.lift.system.user.service.IUserInfoService;
+import cn.com.xwy.boot.web.dto.RestResponse;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
 
 /**
  * <p>
@@ -17,4 +28,33 @@ import org.springframework.stereotype.Service;
 @Service
 public class ExpertServiceImpl extends ServiceImpl<ExpertMapper, Expert> implements IExpertService {
 
+    @Autowired
+    private IUserAccountService userAccountService;
+
+    @Autowired
+    private IUserInfoService userInfoService;
+
+    @Override
+    @Transactional
+    public RestResponse add(ExpertRequest expertRequest) {
+        UserAccount userAccount = new UserAccount();
+        userAccount.setMobile(expertRequest.getMobile());
+        //设置用户为专家
+        userAccount.setExpertFlag(ApiConstants.UserConstants.IS_EXPERT);
+        userAccount.setType(ApiConstants.UserConstants.TYPE_USER);
+        userAccountService.save(userAccount);
+        //设置专家基础信息
+        UserInfo userInfo  = new UserInfo();
+        userInfo.setMobile(expertRequest.getMobile());
+        userInfo.setUserId(userAccount.getUserId());
+        userInfoService.save(userInfo);
+        //设置专家信息
+        Expert expert = new Expert();
+        expert.setName(expertRequest.getName());
+        expert.setDescription(expertRequest.getDescription());
+        expert.setUpdateTime(LocalDateTime.now());
+        expert.setUserId(userAccount.getUserId());
+        this.save(expert);
+        return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, "保存专家信息成功");
+    }
 }

+ 2 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/UserApplicationService.java

@@ -158,12 +158,14 @@ public class UserApplicationService extends ServiceImpl<UserApplicationMapper, U
                 UserResponse userResponse = userIdToUserResponse.get(userApplication.getUserId());
                 //设置申请人用户信息
                 if (userResponse != null) {
+                    userApplyResponse.setUserAvatarUrl(userResponse.getAvatarUrl());
                     userApplyResponse.setUserName(userResponse.getName());
                     userApplyResponse.setUserMobile(userResponse.getMobile());
                     userApplyResponse.setUserType(userResponse.getType());
                 }
                 //设置申请基础信息
                 userApplyResponse.setApplyDate(userApplication.getApplyDate());
+                userApplyResponse.setApplyType(userApplication.getType());
                 userApplyResponse.setDealDate(userApplication.getDealDate());
                 userApplyResponse.setId(userApplication.getId());
                 userApplyResponse.setUserId(userApplication.getUserId());

+ 11 - 6
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/UserService.java

@@ -21,7 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -63,7 +63,7 @@ public class UserService implements IUserService {
         userAccount.setMobile(userRequest.getMobile());
         //设置账号(小梯号)
         userAccount.setAccount(userRequest.getAccount());
-        userAccount.setCreateDate(new Date());
+        userAccount.setCreateDate(LocalDateTime.now());
         //设置用户类型
         userAccount.setType(ApiConstants.UserConstants.TYPE_USER);
         //设置用户微信openId
@@ -201,13 +201,18 @@ public class UserService implements IUserService {
             for (Long userId : userIdList) {
                 UserAccount userAccount = userIdToUserAccount.get(userId);
                 UserInfo userInfo = userIdToUserInfo.get(userId);
-                if (userAccount != null && userInfo != null) {
-                    UserResponse userResponse = new UserResponse();
-                    userResponse.setName(userInfo.getName());
+                UserResponse userResponse = new UserResponse();
+                if (userAccount != null) {
+                    //设置用户手机号和用户类型
                     userResponse.setMobile(userAccount.getMobile());
                     userResponse.setType(userAccount.getType());
-                    userIdToUserResponse.put(userId, userResponse);
                 }
+                if(userInfo !=  null){
+                    //设置用户名和用户头像
+                    userResponse.setAvatarUrl(userInfo.getAvatarUrl());
+                    userResponse.setName(userInfo.getName());
+                }
+                userIdToUserResponse.put(userId, userResponse);
             }
         }
         return userIdToUserResponse;