yonge 3 年之前
父节点
当前提交
7701bf4366

+ 23 - 1
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/SubjectController.java

@@ -4,6 +4,9 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 
+import java.util.Map;
+import java.util.stream.Collectors;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -43,11 +46,30 @@ public class SubjectController extends BaseController {
 		return succeed(subjectService.get(id));
 	}
 
+	@ApiOperation(value = "删除指定科目")
+	@PostMapping("/delete/{id}")
+	@PreAuthorize("@pcs.hasPermissions('subject/get')")
+	public HttpResponseResult<Subject> delete(@ApiParam(value = "科目编号", required = true) @PathVariable("id") Long id) {
+		subjectService.deleteById(id);
+		return succeed();
+	}
+
 	@ApiOperation(value = "分页查询科目列表")
 	@GetMapping("/queryPage")
 	@PreAuthorize("@pcs.hasPermissions('subject/queryPage')")
 	public HttpResponseResult<PageInfo<Subject>> queryPage(SubjectQueryInfo queryInfo) {
-		return succeed(subjectService.queryPage(queryInfo));
+		PageInfo<Subject> pageInfo = subjectService.queryPage(queryInfo);
+
+		Map<Long, Subject> map = subjectService.findBySubjectByIdList(pageInfo.getRows().stream().map(t -> t.getId()).collect(Collectors.toList())).stream()
+				.collect(Collectors.toMap(Subject::getId, t -> t));
+
+		pageInfo.getRows().forEach(row -> {
+
+			row.setParentSubjectName(map.get(row.getParentSubjectId()).getName());
+
+		});
+
+		return succeed(pageInfo);
 	}
 
 	@ApiOperation(value = "分页查询科目树状列表")

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/SubjectDao.java

@@ -30,5 +30,7 @@ public interface SubjectDao extends BaseDAO<Long, Subject> {
     List<Subject> findBySubjectByIdList(@Param("subjectIdList") String subjectIdList);
 
     List<Subject> findBySubjectIds(@Param("subjectIds") List<Long> subjectIds);
+    
+    int deleteById(Long id);
 
 }

+ 20 - 25
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/Subject.java

@@ -2,7 +2,6 @@ package com.yonge.cooleshow.biz.dal.entity;
 
 import io.swagger.annotations.ApiModelProperty;
 
-import java.math.BigDecimal;
 import java.util.List;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -29,6 +28,8 @@ public class Subject {
 	@ApiModelProperty(value = "父级编号",required = false)
 	private Long parentSubjectId;
 	
+	private String parentSubjectName;
+	
 	@ApiModelProperty(value = "图片地址",required = false)
 	private String img;
 	
@@ -38,42 +39,20 @@ public class Subject {
 	/**  */
 	private java.util.Date updateTime;
 	
+	private String desc;
+	
 	/**  */
 	@ApiModelProperty(value = "是否删除1是,0否",required = false)
 	private YesOrNoEnum delFlag;
 
 	/**  */
-	@ApiModelProperty(value = "课程费用",required = false)
-	private BigDecimal fee;
-
-	/**  */
-	@ApiModelProperty(value = "对内1对外2",required = false)
-	private Integer tenantId = 1;
-
-	/**  */
 	@ApiModelProperty(value = "子节点列表",required = false)
 	private List<Subject> subjects;
 
-	public Integer getTenantId() {
-		return tenantId;
-	}
-
-	public void setTenantId(Integer tenantId) {
-		this.tenantId = tenantId;
-	}
-
 	public List<Subject> getSubjects() {
 		return subjects;
 	}
 
-	public BigDecimal getFee() {
-		return fee;
-	}
-
-	public void setFee(BigDecimal fee) {
-		this.fee = fee;
-	}
-
 	public void setSubjects(List<Subject> subjects) {
 		this.subjects = subjects;
 	}
@@ -110,6 +89,14 @@ public class Subject {
 		return this.parentSubjectId;
 	}
 			
+	public String getParentSubjectName() {
+		return parentSubjectName;
+	}
+
+	public void setParentSubjectName(String parentSubjectName) {
+		this.parentSubjectName = parentSubjectName;
+	}
+
 	public void setCreateTime(java.util.Date createTime){
 		this.createTime = createTime;
 	}
@@ -142,6 +129,14 @@ public class Subject {
 		this.img = img;
 	}
 
+	public String getDesc() {
+		return desc;
+	}
+
+	public void setDesc(String desc) {
+		this.desc = desc;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SubjectService.java

@@ -17,6 +17,8 @@ public interface SubjectService extends BaseService<Long, Subject> {
 	 * @return
 	 */
 	PageInfo<Subject> queryPageTree(SubjectQueryInfo queryInfo);
+    
+    int deleteById(Long id);
 
 	/**
 	 * 修改、新增科目树状列表

+ 6 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SubjectServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 import com.yonge.cooleshow.biz.dal.vo.SubjectSelectVo;
+
 import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,6 +40,11 @@ public class SubjectServiceImpl extends BaseServiceImpl<Long, Subject> implement
     }
 
     @Override
+	public int deleteById(Long id) {
+		return subjectDao.deleteById(id);
+	}
+
+	@Override
     public void upSetSubject(Subject subject) {
         if (subject.getDelFlag() == YesOrNoEnum.YES) {
             subjectDao.delete(subject.getId());

+ 10 - 3
cooleshow-user/user-biz/src/main/resources/config/mybatis/SubjectMapper.xml

@@ -12,6 +12,7 @@
         <result column="code_" property="code"/>
         <result column="parent_subject_id_" property="parentSubjectId"/>
         <result column="img_" property="img"/>
+        <result column="desc_" property="desc"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
         <result column="del_flag_" property="delFlag" typeHandler="com.yonge.cooleshow.common.dal.CustomEnumTypeHandler"/>
@@ -30,8 +31,8 @@
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.yonge.cooleshow.biz.dal.entity.Subject" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
-        INSERT INTO subject (id_,name_,code_,parent_subject_id_,img_,create_time_,update_time_)
-        VALUES(#{id},#{name},#{code},#{parentSubjectId},#{img},now(),now())
+        INSERT INTO subject (id_,name_,code_,parent_subject_id_,img_,create_time_,update_time_,desc_)
+        VALUES(#{id},#{name},#{code},#{parentSubjectId},#{img},now(),now(),#{desc})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -56,6 +57,9 @@
             <if test="name != null">
                 name_ = #{name},
             </if>
+            <if test="desc != null">
+                desc_ = #{desc},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>
@@ -114,6 +118,9 @@
       </foreach>
     </select>
 
-
+	<delete id="deleteById">
+		update subject set del_flag_ = 1 where id_ = #{id};
+		update subject set del_flag_ = 1 where parent_subject_id_ = #{id};
+	</delete>
 
 </mapper>