Forráskód Böngészése

Merge remote-tracking branch 'origin/dev_v2.2.0' into dev_v2.2.0

wangliang 3 éve
szülő
commit
b31ba943b5

+ 54 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/BasicCampusParams.java

@@ -0,0 +1,54 @@
+package com.qmth.distributed.print.business.bean.params;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description: 基础校区参数(保存用)
+ * @Author: CaoZixuan
+ * @Date: 2021-08-03
+ */
+public class BasicCampusParams {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "校区id")
+    private Long id;
+
+    @ApiModelProperty(value = "校区名称")
+    @NotNull(message = "请输入校区名称")
+    @Length(min = 1,message = "请输入校区名称")
+    private String campusName;
+
+    @ApiModelProperty(value = "校区编号")
+    @NotNull(message = "请输入校区编码")
+    @Length(min = 1,message = "请输入校区编码")
+    private String campusCode;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getCampusName() {
+        return campusName;
+    }
+
+    public void setCampusName(String campusName) {
+        this.campusName = campusName;
+    }
+
+    public String getCampusCode() {
+        return campusCode;
+    }
+
+    public void setCampusCode(String campusCode) {
+        this.campusCode = campusCode;
+    }
+}

+ 11 - 11
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/CampusResult.java → distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/BasicCampusResult.java

@@ -9,7 +9,7 @@ import io.swagger.annotations.ApiModelProperty;
  * @Author: CaoZixuan
  * @Date: 2021-08-03
  */
-public class CampusResult {
+public class BasicCampusResult {
 
     @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "校区id")
@@ -23,10 +23,10 @@ public class CampusResult {
 
     @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "印刷室id")
-    private Long printRoomId;
+    private Long printHouseId;
 
     @ApiModelProperty(value = "印刷室")
-    private String printRoomName;
+    private String printHouseName;
 
     @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "创建时间")
@@ -60,20 +60,20 @@ public class CampusResult {
         this.campusCode = campusCode;
     }
 
-    public Long getPrintRoomId() {
-        return printRoomId;
+    public Long getPrintHouseId() {
+        return printHouseId;
     }
 
-    public void setPrintRoomId(Long printRoomId) {
-        this.printRoomId = printRoomId;
+    public void setPrintHouseId(Long printHouseId) {
+        this.printHouseId = printHouseId;
     }
 
-    public String getPrintRoomName() {
-        return printRoomName;
+    public String getPrintHouseName() {
+        return printHouseName;
     }
 
-    public void setPrintRoomName(String printRoomName) {
-        this.printRoomName = printRoomName;
+    public void setPrintHouseName(String printHouseName) {
+        this.printHouseName = printHouseName;
     }
 
     public Long getCreateTime() {

+ 5 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/BasicCampus.java

@@ -33,7 +33,7 @@ public class BasicCampus extends BaseEntity implements Serializable {
 
     @ApiModelProperty(value = "印刷室id")
     @JsonSerialize(using = ToStringSerializer.class)
-    private Long printRoomId;
+    private Long printHouseId;
 
     @ApiModelProperty(value = "是否可用")
     private Boolean enable;
@@ -70,12 +70,12 @@ public class BasicCampus extends BaseEntity implements Serializable {
         this.campusCode = campusCode;
     }
 
-    public Long getPrintRoomId() {
-        return printRoomId;
+    public Long getPrintHouseId() {
+        return printHouseId;
     }
 
-    public void setPrintRoomId(Long printRoomId) {
-        this.printRoomId = printRoomId;
+    public void setPrintHouseId(Long printHouseId) {
+        this.printHouseId = printHouseId;
     }
 
     public Boolean getEnable() {

+ 11 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicCampusMapper.java

@@ -1,7 +1,11 @@
 package com.qmth.distributed.print.business.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.distributed.print.business.bean.result.BasicCampusResult;
 import com.qmth.distributed.print.business.entity.BasicCampus;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,11 @@ import com.qmth.distributed.print.business.entity.BasicCampus;
  */
 public interface BasicCampusMapper extends BaseMapper<BasicCampus> {
 
+    /**
+     * 查找基础校区信息
+     * @param schoolId 学校id
+     * @return 基础校区信息
+     */
+    List<BasicCampusResult> findBasicCampusResult(@Param("schoolId") Long schoolId);
+
 }

+ 22 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/BasicCampusService.java

@@ -1,8 +1,12 @@
 package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.distributed.print.business.bean.params.BasicCampusParams;
+import com.qmth.distributed.print.business.bean.result.BasicCampusResult;
 import com.qmth.distributed.print.business.entity.BasicCampus;
 
+import java.util.List;
+
 /**
  * <p>
  * 基础校区表 服务类
@@ -12,6 +16,24 @@ import com.qmth.distributed.print.business.entity.BasicCampus;
  * @since 2021-08-02
  */
 public interface BasicCampusService extends IService<BasicCampus> {
+    /**
+     * 根据学校id查询该学校的基础校区(不分页)
+     * @param schoolId 学校id
+     * @return 校区结果集
+     */
+    List<BasicCampusResult> basicCampusList(Long schoolId);
 
+    /**
+     * 新增/编辑 校区基础信息
+     * @param basicCampusParams 基础校区信息参数
+     * @return 新增或编辑的校区id
+     */
+    Long saveBasicCampus(BasicCampusParams basicCampusParams);
 
+    /**
+     * 根据校区id删除校区(逻辑删除)
+     * @param id 要删除的校区主键
+     * @return 是否成功
+     */
+    Boolean removeBasicCampusById(Long id);
 }

+ 65 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCampusServiceImpl.java

@@ -1,10 +1,21 @@
 package com.qmth.distributed.print.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.distributed.print.business.bean.params.BasicCampusParams;
+import com.qmth.distributed.print.business.bean.result.BasicCampusResult;
 import com.qmth.distributed.print.business.entity.BasicCampus;
 import com.qmth.distributed.print.business.mapper.BasicCampusMapper;
 import com.qmth.distributed.print.business.service.BasicCampusService;
+import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * <p>
@@ -16,5 +27,59 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class BasicCampusServiceImpl extends ServiceImpl<BasicCampusMapper, BasicCampus> implements BasicCampusService {
+    @Resource
+    private BasicCampusMapper basicCampusMapper;
+
+    @Override
+    public List<BasicCampusResult> basicCampusList(Long schoolId) {
+        return basicCampusMapper.findBasicCampusResult(schoolId);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Long saveBasicCampus(BasicCampusParams basicCampusParams) {
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        Long schoolId = sysUser.getSchoolId();
+        Long orgId = sysUser.getOrgId();
+
+        String campusName = basicCampusParams.getCampusName();
+        String campusCode = basicCampusParams.getCampusCode();
+        if (!SystemConstant.strNotNull(campusCode)){
+            throw ExceptionResultEnum.ERROR.exception("缺少校区编号");
+        }
+        Long campusId;
+        if (SystemConstant.longNotNull(basicCampusParams.getId())){
+            // 编辑
+            campusId = basicCampusParams.getId();
+            UpdateWrapper<BasicCampus> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.lambda()
+                    .set(BasicCampus::getCampusName,campusName)
+                    .set(BasicCampus::getOrgId,orgId)
+                    .set(BasicCampus::getSchoolId,schoolId)
+                    .set(BasicCampus::getUpdateId,sysUser.getId())
+                    .eq(BasicCampus::getId,campusId);
+            this.update(updateWrapper);
+        }else {
+            // 新增
+            campusId = SystemConstant.getDbUuid();
+            BasicCampus basicCampus = new BasicCampus();
+            basicCampus.setId(campusId);
+            basicCampus.setCampusCode(campusCode);
+            basicCampus.setCampusName(campusName);
+            basicCampus.setOrgId(orgId);
+            basicCampus.setEnable(true);
+            basicCampus.setCreateId(sysUser.getId());
+            basicCampus.setSchoolId(schoolId);
+            this.save(basicCampus);
+        }
+        return campusId;
+    }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Boolean removeBasicCampusById(Long id) {
+        UpdateWrapper<BasicCampus> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().set(BasicCampus::getEnable,false).eq(BasicCampus::getId,id);
+        return this.update(updateWrapper);
+    }
 }

+ 21 - 0
distributed-print-business/src/main/resources/mapper/BasicCampusMapper.xml

@@ -2,4 +2,25 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.qmth.distributed.print.business.mapper.BasicCampusMapper">
 
+    <select id="findBasicCampusResult"
+            resultType="com.qmth.distributed.print.business.bean.result.BasicCampusResult">
+        SELECT
+            cam.id AS campusId,
+            campus_name AS campusName,
+            campus_code AS campusCode,
+            print_house_id AS printHouseId,
+            org.name AS printHouseName,
+            cam.create_id AS createId,
+            cam.create_time AS createTime
+        FROM
+            basic_campus cam
+                LEFT JOIN
+            sys_org org ON cam.print_house_id = org.id
+                AND org.type = 'PRINTING_HOUSE'
+                AND org.enable = TRUE
+        WHERE
+            cam.school_id = #{schoolId}
+          AND cam.enable = TRUE
+        ORDER BY cam.create_time DESC;
+    </select>
 </mapper>

+ 44 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCampusController.java

@@ -1,9 +1,24 @@
 package com.qmth.distributed.print.api;
 
 
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.distributed.print.business.bean.params.BasicCampusParams;
+import com.qmth.distributed.print.business.bean.result.EditResult;
+import com.qmth.distributed.print.business.service.BasicCampusService;
+import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.util.Result;
+import com.qmth.teachcloud.common.util.ResultUtil;
+import com.qmth.teachcloud.common.util.ServletUtil;
+import io.swagger.annotations.*;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
 /**
  * <p>
  * 基础校区表 前端控制器
@@ -12,8 +27,36 @@ import org.springframework.web.bind.annotation.RestController;
  * @author wangliang
  * @since 2021-08-02
  */
+@Api(tags = "校区管理controller")
 @RestController
-@RequestMapping("/basic-campus")
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.basic}/campus")
 public class BasicCampusController {
+    @Resource
+    private BasicCampusService basicCampusService;
+
+    @ApiOperation(value = "校区管理-查询")
+    @RequestMapping(value = "/query", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
+    public Result findBasicCampusList() {
+        Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
+        return ResultUtil.ok(basicCampusService.basicCampusList(schoolId));
+    }
+
+    @ApiOperation(value = "校区管理-新增/编辑")
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = EditResult.class)})
+    public Result saveBasicCampus(@Valid @RequestBody BasicCampusParams basicCampusParams, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+        }
+        return ResultUtil.ok(basicCampusService.saveBasicCampus(basicCampusParams));
+    }
+
+    @ApiOperation(value = "校区管理-删除(逻辑)")
+    @RequestMapping(value = "/delete", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
+    public Result deleteBasicCampus(@ApiParam(value = "校区id",required = true) String id) {
+        return ResultUtil.ok(basicCampusService.removeBasicCampusById(SystemConstant.convertIdToLong(id)));
+    }
 
 }

+ 9 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -281,4 +281,13 @@ public class SystemConstant {
     public static boolean strNotNull(String str) {
         return str != null && str.length() > 0 && !str.equals("null");
     }
+
+    /**
+     * Long 类型的参数不为空
+     * @param x 参数
+     * @return true:不为空、false:为空
+     */
+    public static boolean longNotNull(Long x){
+        return x != null && x > 0;
+    }
 }