Răsfoiți Sursa

合作渠道

zoujiajian 2 luni în urmă
părinte
comite
aeca73c81d

+ 7 - 0
netflix-dao/src/main/java/com/cyksj/mapper/CooperationInfoMapper.java

@@ -0,0 +1,7 @@
+package com.cyksj.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.CooperationInfo;
+
+public interface CooperationInfoMapper extends BaseMapper<CooperationInfo> {
+}

+ 44 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/CooperationInfo.java

@@ -0,0 +1,44 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotNull;
+
+@Getter
+@Setter
+public class CooperationInfo extends BaseEntity {
+
+    /**
+     * 产品及规格
+     */
+    @NotNull
+    @Length(max = 1000)
+    private String productSpec;
+
+    /**
+     * 报价
+     */
+    @NotNull
+    @Length(max = 255)
+    private String quotation;
+
+    /**
+     * 联系方式
+     */
+    @NotNull
+    @Length(max = 255)
+    private String contactWay;
+
+    /**
+     * 状态 0-待处理 1-已联系 2-无效
+     */
+    private Integer status;
+
+    /**
+     * 备注
+     */
+    @Length(max = 2000)
+    private String remark;
+}

+ 34 - 0
netflix-web/src/main/java/com/cyksj/web/controller/cooperation/CooperationInfoFrontController.java

@@ -0,0 +1,34 @@
+package com.cyksj.web.controller.cooperation;
+
+import com.cyksj.dto.Result;
+import com.cyksj.enums.GatewayResponse;
+import com.cyksj.mapper.CooperationInfoMapper;
+import com.cyksj.model.entity.CooperationInfo;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * server/合作信息
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/applets/cooperation")
+public class CooperationInfoFrontController {
+
+	private final CooperationInfoMapper cooperationInfoMapper;
+
+	/**
+	 * 提交合作信息
+	 */
+	@PostMapping("/info")
+	public Result<String> submit(@RequestBody @Validated CooperationInfo cooperationInfo) {
+		cooperationInfo.setStatus(0);
+		cooperationInfo.setRemark("");
+		cooperationInfoMapper.insert(cooperationInfo);
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+}

+ 94 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/cooperation/CmsCooperationInfoController.java

@@ -0,0 +1,94 @@
+package com.cyksj.web.controller.manage.cooperation;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cyksj.dto.Result;
+import com.cyksj.enums.GatewayResponse;
+import com.cyksj.mapper.CooperationInfoMapper;
+import com.cyksj.model.entity.CooperationInfo;
+import com.ejlchina.searcher.BeanSearcher;
+import com.ejlchina.searcher.SearchResult;
+import com.ejlchina.searcher.util.MapUtils;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * admin/合作信息
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/manage/cooperation")
+public class CmsCooperationInfoController {
+
+	private final BeanSearcher beanSearcher;
+
+	private final HttpServletRequest request;
+
+	private final CooperationInfoMapper cooperationInfoMapper;
+
+	/**
+	 * 合作信息列表
+	 */
+	@GetMapping("/info/list")
+	public Result<SearchResult<CooperationInfo>> getInfoList() {
+		SearchResult<CooperationInfo> search = beanSearcher.search(CooperationInfo.class, MapUtils.flatBuilder(request.getParameterMap())
+				.orderBy(CooperationInfo::getId).desc()
+				.build());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
+
+	/**
+	 * 合作信息详情
+	 */
+	@GetMapping("/info/{id}")
+	public Result<CooperationInfo> getInfo(@PathVariable Long id) {
+		return GatewayResponse.SUCCESS.newBuilder().toResult(cooperationInfoMapper.selectById(id));
+	}
+
+	/**
+	 * 是否有待处理合作信息
+	 */
+	@GetMapping("/info/pending/exists")
+	public Result<Boolean> hasPending() {
+		Integer selectCount = cooperationInfoMapper.selectCount(Wrappers.lambdaQuery(CooperationInfo.class)
+				.eq(CooperationInfo::getStatus, 0));
+		return GatewayResponse.SUCCESS.newBuilder().toResult(selectCount > 0);
+	}
+
+	/**
+	 * 标记已联系
+	 */
+	@PutMapping("/info/mark/status/{id}")
+	public Result<String> markStatus(@PathVariable Long id) {
+		cooperationInfoMapper.update(null, Wrappers.lambdaUpdate(CooperationInfo.class)
+				.set(CooperationInfo::getStatus, 1)
+				.eq(CooperationInfo::getId, id)
+				.eq(CooperationInfo::getStatus, 0));
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+
+	/**
+	 * 标记无效
+	 */
+	@PutMapping("/info/mark/invalid/{id}")
+	public Result<String> markInvalid(@PathVariable Long id) {
+		cooperationInfoMapper.update(null, Wrappers.lambdaUpdate(CooperationInfo.class)
+				.set(CooperationInfo::getStatus, 2)
+				.eq(CooperationInfo::getId, id));
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+
+	/**
+	 * 修改备注
+	 */
+	@PutMapping("/info/remark")
+	public Result<String> updateRemark(@RequestBody CooperationInfo cooperationInfo) {
+		Assert.notNull(cooperationInfo.getId(), "记录不存在");
+		cooperationInfoMapper.update(null, Wrappers.lambdaUpdate(CooperationInfo.class)
+				.set(CooperationInfo::getRemark, cooperationInfo.getRemark() == null ? "" : cooperationInfo.getRemark())
+				.eq(CooperationInfo::getId, cooperationInfo.getId()));
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+}