zoujiajian 3 éve
szülő
commit
ea5acd855c

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/manage/sys/DynamicListMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper.manage.sys;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.DynamicList;
+
+/*
+ *项目名: netflix
+ *文件名: DynamicListMapper
+ *创建者: JavaZou
+ *创建时间:2023/2/21 14:30
+ */
+public interface DynamicListMapper extends BaseMapper<DynamicList> {
+}

+ 31 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/DynamicList.java

@@ -0,0 +1,31 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotEmpty;
+
+/*
+ *项目名: netflix
+ *文件名: DynamicList
+ *创建者: JavaZou
+ *创建时间:2023/2/21 14:20
+ */
+@Getter
+@Setter
+public class DynamicList extends BaseEntity{
+	@NotEmpty(message = "图标不能为空")
+	private String icon;
+
+	@NotEmpty(message = "标题不能为空")
+	private String title;
+
+	@NotEmpty(message = "链接不能为空")
+	private String link;
+
+	private Integer sortNum;
+
+	private Boolean status;
+
+	private Boolean deleted;
+}

+ 114 - 0
netflix-web/src/main/java/com/cyksj/web/controller/sys/DynamicListController.java

@@ -0,0 +1,114 @@
+package com.cyksj.web.controller.sys;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.cyksj.common.exception.BusinessRuntimeException;
+import com.cyksj.dto.Result;
+import com.cyksj.enums.GatewayResponse;
+import com.cyksj.mapper.manage.sys.DynamicListMapper;
+import com.cyksj.model.entity.DynamicList;
+import com.ejlchina.searcher.BeanSearcher;
+import com.ejlchina.searcher.SearchResult;
+import com.ejlchina.searcher.util.MapUtils;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+/*
+ *项目名: netflix
+ *文件名: DynamicListController
+ *创建者: JavaZou
+ *创建时间:2023/2/21 14:22
+ */
+@RequestMapping("/sys/dynamic")
+@RestController
+@RequiredArgsConstructor
+public class DynamicListController {
+
+	private final DynamicListMapper dynamicListMapper;
+
+	private final BeanSearcher beanSearcher;
+
+	private final HttpServletRequest request;
+
+	/**
+	 * 新增列表
+	 */
+	@PostMapping
+	public Result<String> post(@RequestBody @Validated DynamicList dynamicList) {
+		dynamicListMapper.insert(dynamicList);
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+
+	/**
+	 * 编辑列表
+	 */
+	@PutMapping
+	public Result<String> put(@RequestBody @Validated DynamicList dynamicList) {
+		Long id = dynamicList.getId();
+		if (id == null || id < 1) {
+			throw BusinessRuntimeException.getInstance("该记录不存在");
+		}
+		DynamicList dl = dynamicListMapper.selectById(id);
+		if (dl == null || !dl.getDeleted()) {
+			throw BusinessRuntimeException.getInstance("该记录不存在");
+		}
+		BeanUtil.copyProperties(dynamicList, dl);
+		dynamicListMapper.updateById(dl);
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+
+	/**
+	 * 列表上下架
+	 */
+	@PutMapping("/put/status/{id}")
+	public Result<String> updateStatus(@PathVariable Long id) {
+		DynamicList dl = dynamicListMapper.selectById(id);
+		if (dl == null || !dl.getDeleted()) {
+			throw BusinessRuntimeException.getInstance("该记录不存在");
+		}
+		dl.setStatus(!dl.getStatus());
+		dynamicListMapper.updateById(dl);
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+
+	/**
+	 * 删除列表
+	 */
+	@DeleteMapping("/{id}")
+	public Result<String> deleteById(@PathVariable Long id) {
+		DynamicList dl = dynamicListMapper.selectById(id);
+		if (dl == null || !dl.getDeleted()) {
+			throw BusinessRuntimeException.getInstance("该记录不存在");
+		}
+		dl.setDeleted(false);
+		dynamicListMapper.updateById(dl);
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+
+	/**
+	 * 列表查询
+	 */
+	@GetMapping
+	public Result<SearchResult<DynamicList>> get() {
+		SearchResult<DynamicList> search = beanSearcher.search(DynamicList.class, MapUtils.flatBuilder(request.getParameterMap())
+				.field(DynamicList::getDeleted, true)
+				.orderBy(DynamicList::getSortNum).desc()
+				.orderBy(DynamicList::getId).desc()
+				.build());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
+
+	/**
+	 * 列表详情
+	 */
+	@GetMapping("/get/detail/{id}")
+	public Result<DynamicList> getDetailById(@PathVariable Long id) {
+		DynamicList dynamicList = dynamicListMapper.selectById(id);
+		if (dynamicList == null || !dynamicList.getDeleted()) {
+			throw BusinessRuntimeException.getInstance("该记录不存在");
+		}
+		return GatewayResponse.SUCCESS.newBuilder().toResult(dynamicList);
+	}
+}