Kaynağa Gözat

用户的Crud操作

ljx 4 yıl önce
ebeveyn
işleme
03d987d0da

+ 1 - 1
src/main/java/com/imed/costaccount/model/User.java

@@ -59,7 +59,7 @@ public class User implements Serializable {
 	/**
 	 * 删除时间,如果存在表示已删除13位时间戳
 	 */
-	@TableLogic
+	@TableLogic(value = "0",delval = "UNIX_TIMESTAMP(NOW()) * 1000")
 	private Long deleteTime;
 
 }

+ 37 - 0
src/main/java/com/imed/costaccount/model/dto/UserDto.java

@@ -0,0 +1,37 @@
+package com.imed.costaccount.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.dto
+ * @date 2021-07-26 11:41
+ */
+@Data
+@ApiModel("操作用户相关参数dto参数")
+public class UserDto {
+    @ApiModelProperty(name = "id", value = "编号")
+    private Integer id;
+
+    @ApiModelProperty(name = "name", value = "姓名")
+    @NotBlank(message = "姓名")
+    private String name;
+
+    @ApiModelProperty(name = "account", value = "账户")
+    @NotBlank(message = "账号不能为空")
+    private String account;
+
+    @ApiModelProperty(name = "password", value = "密码")
+    private String password;
+
+    @ApiModelProperty(name = "hospId", value = "医院Id")
+    private Integer hospId;
+
+    @ApiModelProperty(name = "hospitalStatus", value = "在院状态")
+    private Integer hospitalStatus;
+}

+ 15 - 1
src/main/java/com/imed/costaccount/service/UserService.java

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.model.User;
 import com.imed.costaccount.model.dto.LoginDTO;
+import com.imed.costaccount.model.dto.UserDto;
 import com.imed.costaccount.model.vo.LoginVO;
+import com.imed.costaccount.model.vo.UserVO;
 
 import java.util.List;
 import java.util.Map;
@@ -40,6 +42,18 @@ public interface UserService extends IService<User> {
      * @param name
      * @return
      */
-    List<User> getByUserName(String name);
+    List<UserVO> getByUserName(String name);
+
+    /**
+     * 保存用户信息
+     * @param userDto
+     */
+    void saveUser(UserDto userDto);
+
+    /**
+     * 删除用户
+     * @param userDto
+     */
+    void updateByUser(UserDto userDto);
 }
 

+ 63 - 3
src/main/java/com/imed/costaccount/service/impl/UserServiceImpl.java

@@ -10,24 +10,34 @@ import com.imed.costaccount.common.exception.CostException;
 import com.imed.costaccount.common.token.JwtUtil;
 import com.imed.costaccount.common.util.BeanUtil;
 import com.imed.costaccount.common.util.PageUtils;
+import com.imed.costaccount.constants.NumberConstant;
 import com.imed.costaccount.mapper.UserMapper;
 import com.imed.costaccount.model.Hosptail;
 import com.imed.costaccount.model.User;
 import com.imed.costaccount.model.dto.LoginDTO;
+import com.imed.costaccount.model.dto.UserDto;
 import com.imed.costaccount.model.vo.LoginVO;
 import com.imed.costaccount.model.vo.UserVO;
 import com.imed.costaccount.service.HosptailService;
 import com.imed.costaccount.service.UserService;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.ObjectUtils;
 import org.springframework.util.StringUtils;
 
 import javax.jws.soap.SOAPBinding;
+import javax.validation.constraints.NotBlank;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 
+/**
+ * @author 11290
+ */
 @Service("userService")
 public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
 
@@ -99,11 +109,61 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
      * @return
      */
     @Override
-    public List<User> getByUserName(String name) {
+    public List<UserVO> getByUserName(String name) {
         QueryWrapper<User> wrapper = new QueryWrapper<>();
-//        wrapper.like(StringUtils.isEmpty())
-        return null;
+        wrapper.like(!StringUtils.isEmpty(name),"name",name);
+        List<User> users = baseMapper.selectList(wrapper);
+        List<UserVO> userVOS = BeanUtil.convertList(users, UserVO.class);
+        return userVOS;
     }
 
+    /**
+     * 保存用户信息
+     *
+     * @param userDto
+     */
+    @Override
+    public void saveUser(UserDto userDto) {
+//        User user = (User) SecurityUtils.getSubject().getPrincipal();
+//        // 医院的Id
+//        Integer hospId = user.getHospId();
+
+        Integer hospId=1;
+        User userRequest = BeanUtil.convertObj(userDto, User.class);
+        if (StringUtils.isEmpty(userDto.getPassword())){
+            throw new CostException("密码不能为空");
+        }
+        userRequest.setPassword(SecureUtil.md5(userDto.getPassword()));
+        userRequest.setHospId(hospId);
+        userRequest.setCreateTime(System.currentTimeMillis());
+        baseMapper.insert(userRequest);
+    }
+
+    /**
+     * 修改用户
+     *
+     * @param userDto
+     */
+    @Override
+    public void updateByUser(UserDto userDto) {
+        QueryWrapper<User> wrapper = new QueryWrapper<>();
+        wrapper.eq("id",userDto.getId());
+        User user = baseMapper.selectOne(wrapper);
+        if (Objects.isNull(user)) {
+            throw new CostException("用户不存在");
+        }
+        baseMapper.deleteById(user.getId());
+        User userRequest = new User();
+        BeanUtil.convertObj(user,userRequest);
+        user.setId(null);
+        user.setHospitalStatus(userDto.getHospitalStatus());
+        if (!StringUtils.isEmpty(userDto.getPassword()) ){
+            String newPassWord = SecureUtil.md5(userDto.getPassword());
+            user.setPassword(newPassWord);
+        }
+        baseMapper.insert(userRequest);
+    }
+
+
 
 }

+ 20 - 16
src/main/java/com/imed/costaccount/web/UserController.java

@@ -2,16 +2,19 @@ package com.imed.costaccount.web;
 
 import java.util.Arrays;
 import java.util.List;
-import java.util.Map;
 
 import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.common.util.Result;
 import com.imed.costaccount.model.User;
+import com.imed.costaccount.model.dto.UserDto;
+import com.imed.costaccount.model.vo.UserVO;
 import com.imed.costaccount.service.UserService;
 import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.Valid;
+
 /**
  * 用户表
  *
@@ -39,20 +42,25 @@ public class UserController {
     }
 
     /**
-     * 信息
+     * 根据姓名获取用户信息
      */
-    @GetMapping("/info/{name}")
-    public Result info(@PathVariable("name") String name){
-		List<User> user = userService.getByUserName(name);
+    @GetMapping("/getByName")
+    public Result getByName(String name){
+		List<UserVO> user = userService.getByUserName(name);
         return Result.ok(user);
     }
+//    @GetMapping("/getById")
+//    public Result getById(String id){
+//        User user = userService.getById(id);
+//        return Result.ok(user);
+//    }
 
     /**
-     * 保存
+     * 保存用户信息
      */
     @PostMapping("/save")
-    public Result save(@RequestBody User user){
-		userService.save(user);
+    public Result save(@RequestBody @Valid UserDto userDto){
+		userService.saveUser(userDto);
         return Result.ok();
     }
 
@@ -62,21 +70,17 @@ public class UserController {
      * 修改的操作是作废新增
      */
     @PutMapping("/update")
-    public Result update(@RequestBody User user){
-        // 作废操作
-        Integer id = user.getId();
-        userService.removeById(id);
-        // 新增操作
-		userService.save(user);
+    public Result update(@RequestBody @Valid UserDto userDto){
+        userService.updateByUser(userDto);
         return Result.ok();
     }
 
     /**
-     * 删除
+     * 批量删除
      */
     @DeleteMapping("/delete")
     public Result delete(@RequestBody Integer[] ids){
-		userService.removeByIds(Arrays.asList(ids));
+        userService.removeByIds(Arrays.asList(ids));
         return Result.ok();
     }
 

+ 2 - 1
src/main/resources/application-dev.yml

@@ -38,7 +38,8 @@ spring:
 mybatis-plus:
   mapper-locations: classpath*:/mapper/*.xml
   type-aliases-package: com.imed.costaccount.model
-
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
   global-config:
     db-config:
       id-type: auto