ソースを参照

医院相关操作1.0

ljx 4 年 前
コミット
3d1b6c309f

+ 1 - 0
src/main/java/com/imed/costaccount/common/shiro/ShiroConfig.java

@@ -48,6 +48,7 @@ public class ShiroConfig {
         filterMap.put("/costAccount/user/**","anon");
         filterMap.put("/costAccount/getHospArea/**","anon");
         filterMap.put("/costAccount/excel/**","anon");
+        filterMap.put("/costAccount/hosptail/**","anon");
         filterMap.put("/costAccount/login", "anon");
         filterMap.put("/**/*.jpg", "anon");
         filterMap.put("/**/*.png", "anon");

+ 11 - 11
src/main/java/com/imed/costaccount/common/util/PageUtils.java

@@ -27,7 +27,7 @@ public class PageUtils implements Serializable {
 	/**
 	 * 当前页数
 	 */
-	private int currPage;
+	private int curr;
 	/**
 	 * 列表数据
 	 */
@@ -38,13 +38,13 @@ public class PageUtils implements Serializable {
 	 * @param list        列表数据
 	 * @param totalCount  总记录数
 	 * @param pageSize    每页记录数
-	 * @param currPage    当前页数
+	 * @param curr    当前页数
 	 */
-	public PageUtils(List<?> list, int totalCount, int pageSize, int currPage) {
+	public PageUtils(List<?> list, int totalCount, int pageSize, int curr) {
 		this.list = list;
 		this.totalCount = totalCount;
 		this.pageSize = pageSize;
-		this.currPage = currPage ;
+		this.curr = curr ;
 		this.totalPage = (int)Math.ceil((double)totalCount/pageSize);
 	}
 
@@ -55,15 +55,15 @@ public class PageUtils implements Serializable {
 		this.list = page.getRecords();
 		this.totalCount = (int)page.getTotal();
 		this.pageSize = (int)page.getSize();
-		this.currPage = (int)page.getCurrent();
+		this.curr = (int)page.getCurrent();
 		this.totalPage = (int)page.getPages();
 	}
 
-	public int getTotalCount() {
+	public int gettotalCount() {
 		return totalCount;
 	}
 
-	public void setTotalCount(int totalCount) {
+	public void settotalCount(int totalCount) {
 		this.totalCount = totalCount;
 	}
 
@@ -83,12 +83,12 @@ public class PageUtils implements Serializable {
 		this.totalPage = totalPage;
 	}
 
-	public int getCurrPage() {
-		return currPage;
+	public int getCurr() {
+		return curr;
 	}
 
-	public void setCurrPage(int currPage) {
-		this.currPage = currPage;
+	public void setCurr(int curr) {
+		this.curr = curr;
 	}
 
 	public List<?> getList() {

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

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

+ 54 - 0
src/main/java/com/imed/costaccount/model/dto/HosptailDto.java

@@ -0,0 +1,54 @@
+package com.imed.costaccount.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.dto
+ * @date 2021-07-26 16:09
+ */
+
+/**
+ * 需要补充 TODO 那些不能为空
+ */
+@Data
+@ApiModel("操作院区参数dto参数")
+public class HosptailDto {
+    /**
+     * 医院或者病区Id
+     */
+    @ApiModelProperty(name = "id",value = "医院或者病区Id")
+    private Integer id;
+    /**
+     * 是否是院区(0不是 1是)
+     */
+    @ApiModelProperty(name = "name",value = "医院或院区名称")
+    private String name;
+    /**
+     * 账号
+     */
+    @ApiModelProperty(name = "is_hosptail",value = "是否为院区(0.不是,1.是)默认为0")
+    private Integer isHosptail;
+    /**
+     * 医院唯一标识
+     */
+    @ApiModelProperty(name = "sign",value = "如果是院区医院的id,默认为0")
+    private String sign;
+    /**
+     * 如果是院区医院的id,默认为0
+     */
+    @ApiModelProperty(name = "parentId",value = "如果是院区医院的名称,默认为")
+    private Integer parentId;
+    /**
+     * 如果是院区医院的名称,默认为'
+     */
+    @ApiModelProperty(name = "parentName",value = "医院唯一标识,院区不存在次内容")
+    private String parentName;
+    /**
+     * 创建时间13位时间戳
+     */
+    @ApiModelProperty(name = "createTime",value = "创建时间13位时间戳")
+    private Long createTime;
+}

+ 56 - 0
src/main/java/com/imed/costaccount/model/vo/HosptailVO.java

@@ -0,0 +1,56 @@
+package com.imed.costaccount.model.vo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.*;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.vo
+ * @date 2021-07-26 15:58
+ */
+@Getter
+@Setter
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@ApiModel
+public class HosptailVO {
+    /**
+     * 医院或者病区Id
+     */
+    @ApiModelProperty(name = "id",value = "医院或者病区Id")
+    private Integer id;
+    /**
+     * 是否是院区(0不是 1是)
+     */
+    @ApiModelProperty(name = "name",value = "医院或院区名称")
+    private String name;
+    /**
+     * 账号
+     */
+    @ApiModelProperty(name = "is_hosptail",value = "是否为院区(0.不是,1.是)默认为0")
+    private Integer isHosptail;
+    /**
+     * 医院唯一标识
+     */
+    @ApiModelProperty(name = "sign",value = "如果是院区医院的id,默认为0")
+    private String sign;
+    /**
+     * 如果是院区医院的id,默认为0
+     */
+    @ApiModelProperty(name = "parentId",value = "如果是院区医院的名称,默认为")
+    private Integer parentId;
+    /**
+     * 如果是院区医院的名称,默认为'
+     */
+    @ApiModelProperty(name = "parentName",value = "医院唯一标识,院区不存在次内容")
+    private String parentName;
+    /**
+     * 创建时间13位时间戳
+     */
+    @ApiModelProperty(name = "createTime",value = "创建时间13位时间戳")
+    private Long createTime;
+}

+ 14 - 1
src/main/java/com/imed/costaccount/service/HosptailService.java

@@ -3,6 +3,7 @@ package com.imed.costaccount.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.model.Hosptail;
+import com.imed.costaccount.model.dto.HosptailDto;
 import com.imed.costaccount.model.vo.CommonVO;
 
 import java.util.List;
@@ -37,6 +38,18 @@ public interface HosptailService extends IService<Hosptail> {
      * @param pageSize
      * @return
      */
-    PageUtils queryList(Integer page, Integer pageSize);
+    PageUtils queryList(Integer page, Integer pageSize,String name);
+
+    /**
+     * 添加医院信息
+     * @param hosptailDto
+     */
+    void saveHosptail(HosptailDto hosptailDto);
+
+    /**
+     * 修改医院信息
+     * @param hosptailDto
+     */
+    void updateByHosptail(HosptailDto hosptailDto);
 }
 

+ 44 - 12
src/main/java/com/imed/costaccount/service/impl/HosptailServiceImpl.java

@@ -7,9 +7,9 @@ import com.imed.costaccount.common.exception.CostException;
 import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.mapper.HosptailMapper;
 import com.imed.costaccount.model.Hosptail;
-import com.imed.costaccount.model.User;
+import com.imed.costaccount.model.dto.HosptailDto;
 import com.imed.costaccount.model.vo.CommonVO;
-import com.imed.costaccount.model.vo.UserVO;
+import com.imed.costaccount.model.vo.HosptailVO;
 import com.imed.costaccount.service.HosptailService;
 import com.imed.costaccount.utils.BeanUtil;
 import org.springframework.stereotype.Service;
@@ -17,9 +17,8 @@ import org.springframework.stereotype.Service;
 import java.util.*;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
+import org.springframework.util.StringUtils;
 
 
 @Service("hosptailService")
@@ -33,16 +32,49 @@ public class HosptailServiceImpl extends ServiceImpl<HosptailMapper, Hosptail> i
      * @return
      */
     @Override
-    public PageUtils queryList(Integer page, Integer pageSize) {
-//        Page<Hosptail> hosptailPage = new Page<>(page, pageSize);
-//        Page<Hosptail> pages = this.page(hosptailPage);
-//        List<UserVO> userVOS = com.imed.costaccount.common.util.BeanUtil.convertList(records, UserVO.class);
-//        PageUtils pageUtils = new PageUtils(pages);
-//        pageUtils.setList(userVOS);
-//        return pageUtils;
-        return null;
+    public PageUtils queryList(Integer page, Integer pageSize,String name) {
+        Page<Hosptail> hosptailPage = new Page<>(page, pageSize);
+        Page<Hosptail> pages = this.page(hosptailPage,new QueryWrapper<Hosptail>()
+                .lambda().like(!StringUtils.isEmpty(name),Hosptail::getName,name));
+        List<Hosptail> records = pages.getRecords();
+        List<HosptailVO> hosptailVOList = BeanUtil.convertList(records, HosptailVO.class);
+        PageUtils pageUtils = new PageUtils(pages);
+        pageUtils.setList(hosptailVOList);
+        return pageUtils;
+    }
+
+    /**
+     * 添加医院信息
+     *
+     * @param hosptailDto
+     */
+    @Override
+    public void saveHosptail(HosptailDto hosptailDto) {
+        // TODO 可能需要补充没有传递的数据
+        Hosptail hosptail = BeanUtil.convertObj(hosptailDto, Hosptail.class);
+        hosptail.setCreateTime(System.currentTimeMillis());
+        baseMapper.insert(hosptail);
     }
 
+    /**
+     * 修改医院信息
+     *
+     * @param hosptailDto
+     */
+    @Override
+    public void updateByHosptail(HosptailDto hosptailDto) {
+        Hosptail hosptail = baseMapper.selectOne(new QueryWrapper<Hosptail>().lambda().
+                eq(!StringUtils.isEmpty(hosptailDto.getId()), Hosptail::getId, hosptailDto.getId()));
+        if (Objects.isNull(hosptail)) {
+            throw new CostException("不存在相关医院信息");
+        }
+        baseMapper.deleteById(hosptail.getId());
+        Hosptail hosptailRequest = BeanUtil.convertObj(hosptailDto, Hosptail.class);
+        hosptailRequest.setId(null);
+        baseMapper.insert(hosptailRequest);
+    }
+
+
     /**
      * 通过医院标识获取院区列表
      * @param sign

+ 9 - 4
src/main/java/com/imed/costaccount/service/impl/UserServiceImpl.java

@@ -25,6 +25,10 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.ObjectUtils;
 import org.springframework.util.StringUtils;
 
 import java.util.ArrayList;
@@ -122,6 +126,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
      * @param userDto
      */
     @Override
+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
     public void saveUser(UserDto userDto) {
 //        User user = (User) SecurityUtils.getSubject().getPrincipal();
 //        // 医院的Id
@@ -144,15 +149,15 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
      * @param userDto
      */
     @Override
+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
     public void updateByUser(UserDto userDto) {
-        QueryWrapper<User> wrapper = new QueryWrapper<>();
-        User user = baseMapper.selectOne(new QueryWrapper<User>().lambda().like(!StringUtils.isEmpty(userDto.getId()),User::getId,userDto.getId()));
+        User user = baseMapper.selectOne(new QueryWrapper<User>().lambda().like(
+                !StringUtils.isEmpty(userDto.getId()),User::getId,userDto.getId()));
         if (Objects.isNull(user)) {
             throw new CostException("用户不存在");
         }
         baseMapper.deleteById(user.getId());
-        User userRequest = new User();
-        BeanUtil.convertObj(user,userRequest);
+        User userRequest = BeanUtil.convertObj(userDto,User.class);
         user.setId(null);
         user.setHospitalStatus(userDto.getHospitalStatus());
         if (!StringUtils.isEmpty(userDto.getPassword()) ){

+ 11 - 10
src/main/java/com/imed/costaccount/web/HosptailController.java

@@ -8,6 +8,7 @@ import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.common.util.Result;
 import com.imed.costaccount.model.Hosptail;
 import com.imed.costaccount.model.User;
+import com.imed.costaccount.model.dto.HosptailDto;
 import com.imed.costaccount.service.HosptailService;
 import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,18 +42,19 @@ public class HosptailController {
      */
     @GetMapping("/list")
     public Result list(@RequestParam(defaultValue = "1", value = "page") Integer page,
-                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize){
+                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
+                       @RequestParam(value = "name",required = false) String name){
 //       TODO  User user = (User) SecurityUtils.getSubject().getPrincipal();  没有token
 
-        PageUtils pageUtils = hosptailService.queryList(page,pageSize);
+        PageUtils pageUtils = hosptailService.queryList(page,pageSize,name);
         return Result.ok(pageUtils);
     }
 
     /**
      * 信息
      */
-    @RequestMapping("/info/{id}")
-    public Result info(@PathVariable("id") Integer id){
+    @RequestMapping("/getById")
+    public Result info(Integer id){
 		Hosptail hosptail = hosptailService.getById(id);
         return Result.ok(hosptail);
     }
@@ -61,8 +63,9 @@ public class HosptailController {
      * 保存
      */
     @RequestMapping("/save")
-    public Result save(@RequestBody Hosptail hosptail){
-		hosptailService.save(hosptail);
+    public Result save(@RequestBody HosptailDto hosptailDto){
+        hosptailDto.setCreateTime(System.currentTimeMillis());
+		hosptailService.saveHosptail(hosptailDto);
         return Result.ok();
     }
 
@@ -71,11 +74,9 @@ public class HosptailController {
      * 修改的操作是作废新增
      */
     @RequestMapping("/update")
-    public Result update(@RequestBody Hosptail hosptail){
+    public Result update(@RequestBody HosptailDto hosptailDto){
         // 作废操作
-        hosptailService.removeById(hosptail.getId());
-        // 新增操作
-		hosptailService.save(hosptail);
+        hosptailService.updateByHosptail(hosptailDto);
         return Result.ok();
     }