zoujiajian 2 ani în urmă
părinte
comite
1e20e540d6

+ 2 - 3
netflix-dao/src/main/java/com/cyksj/mapper/GoodsDonQaRelateMapper.java

@@ -1,7 +1,6 @@
 package com.cyksj.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.cyksj.model.entity.GoodsDon;
 import com.cyksj.model.entity.GoodsDonQaRelate;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -16,8 +15,8 @@ import java.util.List;
  */
 public interface GoodsDonQaRelateMapper extends BaseMapper<GoodsDonQaRelate> {
 
-	@Select("select g.id,g.title from (select goods_id from goods_don_qa_relate where question_id = #{questionId}) gqr inner join goods_don g on g.id = gqr.goods_id")
-	List<GoodsDon> getQaGoodsByQaId(Long questionId);
+	@Select("select g.id from (select goods_id from goods_don_qa_relate where question_id = #{questionId}) gqr inner join goods_don g on g.id = gqr.goods_id")
+	List<Long> getQaGoodsByQaId(Long questionId);
 
 	void batchInsert(@Param("id") Long id, @Param("list") List<Long> goodsIds);
 }

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/model/entity/GoodsDonQa.java

@@ -40,5 +40,5 @@ public class GoodsDonQa extends BaseEntity{
 
 	@DbIgnore
 	@TableField(exist = false)
-	private List<GoodsDon> goodsDons;
+	private List<Long> goodsIds;
 }

+ 18 - 0
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonQaGoodsView.java

@@ -0,0 +1,18 @@
+package com.cyksj.model.views;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: GoodsDonQaGoodsView
+ * 创建者: JavaZou
+ * 创建时间:2024/5/27 13:33
+ */
+@Getter
+@Setter
+public class GoodsDonQaGoodsView {
+	private Long goodsId;
+
+	private String title;
+}

+ 2 - 2
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonQaView.java

@@ -18,7 +18,7 @@ import java.util.Date;
 @SearchBean(tables = "goods_don_qa gq left join goods_don_qa_relate gqr on gqr.question_id = gq.id" +
 		" left join goods_don g on g.id = gqr.goods_id",
 		where = "gq.deleted is true",
-		groupBy = "gq.*")
+		groupBy = "gq.id,gq.type,gq.problem,gq.status,gq.created_time,gq.update_time")
 public class GoodsDonQaView {
 	@DbField("gq.id")
 	private Long id;
@@ -29,7 +29,7 @@ public class GoodsDonQaView {
 	@DbField("gq.problem")
 	private String problem;
 
-	@DbField("groups_concat(g.title)")
+	@DbField("GROUP_CONCAT(g.title)")
 	private String title;
 
 	@DbField("gq.status")

+ 5 - 6
netflix-service/src/main/java/com/cyksj/service/mange/goods/GoodsDonQaServiceImpl.java

@@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.mapper.GoodsDonQaMapper;
 import com.cyksj.mapper.GoodsDonQaRelateMapper;
-import com.cyksj.model.entity.GoodsDon;
 import com.cyksj.model.entity.GoodsDonQa;
 import com.cyksj.model.entity.GoodsDonQaRelate;
 import com.cyksj.service.mange.GoodsDonQaService;
@@ -17,7 +16,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * 项目名: yhlxj2
@@ -36,9 +34,10 @@ public class GoodsDonQaServiceImpl extends ServiceImpl<GoodsDonQaMapper, GoodsDo
 		checkQAParams(goodsDonQa);
 
 		Long id = goodsDonQa.getId();
-		List<Long> goodsIds = goodsDonQa.getGoodsDons().stream().map(GoodsDon::getId).collect(Collectors.toList());
+		List<Long> goodsIds = goodsDonQa.getGoodsIds();
 		if (id != null) {
 			goodsDonQaRelateMapper.delete(Wrappers.lambdaQuery(GoodsDonQaRelate.class).notIn(GoodsDonQaRelate::getGoodsId, goodsIds).eq(GoodsDonQaRelate::getQuestionId, id));
+			this.updateById(goodsDonQa);
 		} else {
 			this.save(goodsDonQa);
 			id = goodsDonQa.getId();
@@ -66,8 +65,8 @@ public class GoodsDonQaServiceImpl extends ServiceImpl<GoodsDonQaMapper, GoodsDo
 		if (StrUtil.isNotBlank(content)) {
 			goodsDonQa.setUrl(null);
 		}
-		List<GoodsDon> goodsDons = goodsDonQa.getGoodsDons();
-		if (CollUtil.isEmpty(goodsDons)) {
+		List<Long> goodsIds = goodsDonQa.getGoodsIds();
+		if (CollUtil.isEmpty(goodsIds)) {
 			throw BusinessRuntimeException.getInstance("请选择对应展示平台");
 		}
 	}
@@ -75,7 +74,7 @@ public class GoodsDonQaServiceImpl extends ServiceImpl<GoodsDonQaMapper, GoodsDo
 	@Override
 	public GoodsDonQa getDetailById(Long id) {
 		GoodsDonQa byId = this.getById(id);
-		byId.setGoodsDons(goodsDonQaRelateMapper.getQaGoodsByQaId(id));
+		byId.setGoodsIds(goodsDonQaRelateMapper.getQaGoodsByQaId(id));
 		return byId;
 	}
 }

+ 1 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/GoodsDonQuestionController.java

@@ -84,7 +84,7 @@ public class GoodsDonQuestionController {
 	 * 批量上下架
 	 */
 	@PutMapping("/update/status/batch")
-	public Result<String> batchUpdateStatusByIds(List<Long> ids, Boolean status) {
+	public Result<String> batchUpdateStatusByIds(@RequestParam("ids") List<Long> ids, Boolean status) {
 		goodsDonQaService.update(null, Wrappers.lambdaUpdate(GoodsDonQa.class)
 				.set(GoodsDonQa::getStatus, status)
 				.ne(GoodsDonQa::getStatus, status)