Ver código fonte

联合丽格

huangzhiguo 2 anos atrás
pai
commit
49d46f68c7

+ 9 - 3
src/main/java/com/caimei365/commodity/controller/ProcurementApi.java

@@ -51,13 +51,19 @@ public class ProcurementApi {
      * @return
      */
     @ApiOperation("查看集采详情")
-    @ApiImplicitParam(readOnly = true, name = "id", value = "集采Id")
+    @ApiImplicitParams({
+            @ApiImplicitParam(readOnly = true, name = "id", value = "集采Id"),
+            @ApiImplicitParam(readOnly = true, name = "userId", value = "用户Id")
+    })
     @GetMapping("/detail")
-    public ResponseJson<Map<String,Object>> detailProcurement(String id) {
+    public ResponseJson<Map<String,Object>> detailProcurement(String id, Integer userId) {
         if (null == id) {
             return ResponseJson.error(-1,"参数id不能为空", null);
         }
-        return procurementService.detailProcurement(id);
+        if (null == userId) {
+            return ResponseJson.error(-1,"userId不能为空", null);
+        }
+        return procurementService.detailProcurement(id, userId);
     }
 
 //    /**

+ 1 - 1
src/main/java/com/caimei365/commodity/model/po/ProcurePo.java

@@ -49,7 +49,7 @@ public class ProcurePo {
      */
     private String createUserId;
     /**
-     * 是否实现 0 以实现 1 未实现
+     * 是否实现 0 未实现 1 以实现
      */
     private String isAchieve;
     /**

+ 2 - 1
src/main/java/com/caimei365/commodity/service/ProcurementService.java

@@ -28,9 +28,10 @@ public interface ProcurementService {
     /**
      * 查看详情
      * @param id
+     * @param userId
      * @return
      */
-    ResponseJson<Map<String,Object>> detailProcurement(String id);
+    ResponseJson<Map<String,Object>> detailProcurement(String id, Integer userId);
 
     /**
      * 我参与的 | 我创建的

+ 5 - 3
src/main/java/com/caimei365/commodity/service/impl/AdditionalService.java

@@ -64,11 +64,13 @@ public class AdditionalService {
     /**
      * 根据条件删除
      *
-     * @param additional
+     * @param additionalId
      */
-    public void deleteByParams(AdditionalPo additional) {
+    public void deleteByAdditionalId(String additionalId) {
         //调用dao
-        additionalRepository.delete(additional);
+        Query query = new Query();
+        query.addCriteria(Criteria.where("additionalId").is(additionalId));
+        mongoTemplate.remove(query, AdditionalPo.class);
     }
 
     /**

+ 18 - 16
src/main/java/com/caimei365/commodity/service/impl/PageServiceImpl.java

@@ -753,22 +753,24 @@ public class PageServiceImpl implements PageService {
 //            priceUtilService.setPriceByUserId(price, userId, 0);
             List<MallProductSkuVo> organizeSkus = priceMapper.findOrganizeSkus(productId);
             // 设置价格
-            product.setPrice(organizeSkus.get(0).getPrice());
-            product.setMinBuyNumber(organizeSkus.get(0).getMinBuyNumber());
-            product.setUnit(organizeSkus.get(0).getUnit());
-            product.setStock(organizeSkus.get(0).getStock());
-            product.setOrganizeSkus(organizeSkus);
-            product.setSkuId(organizeSkus.get(0).getSkuId());
-            /*product.setActStatus(price.getActStatus());
-            product.setPromotions(price.getPromotions());
-            product.setUserIdentity(price.getUserIdentity());
-            product.setSvipProductFlag(price.getSvipProductFlag());
-            product.setSvipPriceTag(price.getSvipPriceTag());*/
-            //设置展示的价格等级
-            product.setPriceGrade(priceUtilService.getPriceGrade(product.getPrice()));
-            //查询商品收藏情况,1未收藏,0未收藏,未收藏过该商品用户是null
-            Integer like = likeMapper.findLike(userId, productId);
-            product.setUserLike(like);
+            if (null != organizeSkus) {
+                product.setPrice(organizeSkus.get(0).getPrice());
+                product.setMinBuyNumber(organizeSkus.get(0).getMinBuyNumber());
+                product.setUnit(organizeSkus.get(0).getUnit());
+                product.setStock(organizeSkus.get(0).getStock());
+                product.setOrganizeSkus(organizeSkus);
+                product.setSkuId(organizeSkus.get(0).getSkuId());
+                /*product.setActStatus(price.getActStatus());
+                product.setPromotions(price.getPromotions());
+                product.setUserIdentity(price.getUserIdentity());
+                product.setSvipProductFlag(price.getSvipProductFlag());
+                product.setSvipPriceTag(price.getSvipPriceTag());*/
+                //设置展示的价格等级
+                product.setPriceGrade(priceUtilService.getPriceGrade(product.getPrice()));
+                //查询商品收藏情况,1未收藏,0未收藏,未收藏过该商品用户是null
+                Integer like = likeMapper.findLike(userId, productId);
+                product.setUserLike(like);
+            }
         }
         // 设置售罄标记
         /*Integer flag = priceMapper.getSaleOutFlag(product.getProductId()) > 0 ? 0 : 1;

+ 75 - 62
src/main/java/com/caimei365/commodity/service/impl/ProcurementServiceImpl.java

@@ -62,9 +62,6 @@ public class ProcurementServiceImpl implements ProcurementService {
         // 所有集采信息
         List<ProcurePo> list = procureService.findList(pageNo, pageSize, userId, status);
 
-        // 用户信息获取
-        List<String> userIds = list.stream().map(ProcurePo::getUserId).collect(Collectors.toList());
-        List<UserVo> userInfo = procurementMapper.selUserInfo(userIds);
         if (null != list && list.size() > 0) {
             list.forEach(p -> {
                 ProcurementDto procurementDto = new ProcurementDto();
@@ -72,13 +69,8 @@ public class ProcurementServiceImpl implements ProcurementService {
                 List<AdditionalPo> additionalPoList = additionalService.findProcureById(p.getId());
                 procurementDto.setId(p.getId());
                 procurementDto.setUserId(p.getUserId());
-                if (null != userInfo) {
-                    Integer i = Integer.parseInt(p.getUserId());
-                    List<UserVo> collect = userInfo.stream().filter(u -> u.getUserId().equals(i)).collect(Collectors.toList());
-                    if (null != collect && collect.size()>0) {
-                        procurementDto.setUserName(collect.get(0).getUserName());
-                    }
-                }
+
+                procurementDto.setUserName(p.getClubName());
                 String imageURL = ImageUtils.getImageURL("product", p.getProductImage(), 0, domain);
                 if (StringUtils.isNotBlank(imageURL)) {
                     procurementDto.setProductImage(imageURL);
@@ -91,7 +83,18 @@ public class ProcurementServiceImpl implements ProcurementService {
                 }
                 procurementDto.setNumber(p.getNumber());
                 procurementDto.setIsAchieve(p.getIsAchieve());
-                procurementDto.setIsInvolved(p.getIsInvolved());
+                // 是否参与
+                if (p.getCreateUserId().equals(userId.toString())) {
+                    procurementDto.setIsInvolved(2);
+                } else {
+                    List<String> stringList = additionalPoList.stream().map(a -> a.getAdditionalId()).collect(Collectors.toList());
+                    List<ProcurePo> collect = involvedList.stream().filter(item -> stringList.contains(item.getId())).collect(Collectors.toList());
+                    if (null != collect && collect.size() > 0) {
+                        procurementDto.setIsInvolved(1);
+                    } else {
+                        procurementDto.setIsInvolved(0);
+                    }
+                }
                 procurementDto.setDelFlag(p.getDelFlag());
                 // 参与机构数量
                 procurementDto.setPartNumber(additionalPoList.size());
@@ -111,8 +114,6 @@ public class ProcurementServiceImpl implements ProcurementService {
                     additionalService.findProcureById(p.getId()).forEach(s -> {
                         procurementDto.setSId(s.getAdditionalId());
                         procurementDto.setProcurePo(procureService.findById(s.getAdditionalId()));
-                        procurementDto.setIsInvolved(procurementDto.getProcurePo().getIsInvolved());
-                        procurementDto.setIsAchieve(procurementDto.getProcurePo().getIsAchieve());
                     });
                 }
                 if (status == 0||(status != 0&&procurementDto.getIsInvolved() != 0 )) {
@@ -137,25 +138,22 @@ public class ProcurementServiceImpl implements ProcurementService {
      * @return
      */
     @Override
-    public ResponseJson<Map<String, Object>> detailProcurement(String id) {
+    public ResponseJson<Map<String, Object>> detailProcurement(String id, Integer userId) {
         Map<String, Object> map = new HashMap<>();
-
+        // 我参与的
+        List<ProcurePo> involvedList = procureService.findInvolvedList(userId.toString());
+        // 参与集采集合
+        List<AdditionalPo> additionalPoLi = additionalService.findProcureById(id);
         // 参与者集合
         List<ProcurementDto> procurementList = new ArrayList<>();
         ProcurementDto procurementDto = new ProcurementDto();
-//        ProcurementDto procurement = new ProcurementDto();
-        // 参与者
+        // 发起者
         ProcurePo procurePo = procureService.findById(id.toString());
-        // 发起者信息
-        List<String> userProcurIds = new ArrayList<>();
-        userProcurIds.add(procurePo.getUserId());
-        List<UserVo> userProcurInfo = procurementMapper.selUserInfo(userProcurIds);
+
         // 发起者信息设置
         procurementDto.setId(procurePo.getId());
         procurementDto.setUserId(procurePo.getUserId());
-        if (null != userProcurInfo && userProcurInfo.size() > 0) {
-            procurementDto.setUserName(userProcurInfo.get(0).getUserName());
-        }
+        procurementDto.setUserName(procurePo.getClubName());
         procurementDto.setProductImage(procurePo.getProductImage());
         procurementDto.setProductName(procurePo.getProductName());
         procurementDto.setPrice(procurePo.getPrice());
@@ -165,46 +163,56 @@ public class ProcurementServiceImpl implements ProcurementService {
         }
         procurementDto.setNumber(procurePo.getNumber());
         procurementDto.setIsAchieve(procurePo.getIsAchieve());
-        procurementDto.setIsInvolved(procurePo.getIsInvolved());
+        // 是否参与
+        List<AdditionalPo> additionalPos = additionalService.findProcureById(procurePo.getId());
+        String Iscreate = procurePo.getCreateUserId() == null ? "0" : procurePo.getCreateUserId();
+        if (Iscreate.equals(userId.toString())) {
+            procurementDto.setIsInvolved(2);
+        } else {
+            List<String> stringList = additionalPos.stream().map(a -> a.getAdditionalId()).collect(Collectors.toList());
+            List<ProcurePo> collect = involvedList.stream().filter(item -> stringList.contains(item.getId())).collect(Collectors.toList());
+            if (null != collect && collect.size() > 0) {
+                procurementDto.setIsInvolved(1);
+            } else {
+                procurementDto.setIsInvolved(0);
+            }
+        }
+        // sid
+        for(AdditionalPo add: additionalPoLi) {
+            if (add.getProcureId().equals(procurePo.getId())) {
+                procurementDto.setSId(add.getAdditionalId());
+            }
+        }
         procurementDto.setDelFlag(procurePo.getDelFlag());
-//        if (procurementDto.getCreateUserId() == null) {
-//            procurementDto.setIsInvolved(1);
-//        } else {
-//            procurementDto.setIsInvolved(2);
-//        }
         map.put("procurement", procurementDto);
 
         List<AdditionalPo> additionalPoList =( List<AdditionalPo> ) MongodbUtils.find(AdditionalPo.class, new String[]{"procureId"}, new String[]{procurePo.getId()});
         for (AdditionalPo s : additionalPoList) {
-            procurementDto = new ProcurementDto();
+            ProcurementDto procurement = new ProcurementDto();
             // 参与者
             ProcurePo procure = procureService.findById(s.getAdditionalId());
-            // 发起者信息
-            List<String> userProcurIds1 = new ArrayList<>();
-            userProcurIds.add(procure.getUserId());
-            List<UserVo> userProcurInfo1 = procurementMapper.selUserInfo(userProcurIds1);
-            // 发起者信息设置
-            procurementDto.setId(procure.getId());
-            procurementDto.setUserId(procure.getUserId());
-            if (null != userProcurInfo1 && userProcurInfo1.size() > 0) {
-                procurementDto.setUserName(userProcurInfo1.get(0).getUserName());
-            }
-            procurementDto.setProductImage(procure.getProductImage());
-            procurementDto.setProductName(procure.getProductName());
-            procurementDto.setPrice(procure.getPrice());
-            procurementDto.setSaveTime(returnFormat.format(procure.getSaveTime()));
+
+            // 参与者信息设置
+            procurement.setId(procure.getId());
+            procurement.setUserId(procure.getUserId());
+
+            procurement.setUserName(procure.getClubName());
+            procurement.setProductImage(procure.getProductImage());
+            procurement.setProductName(procure.getProductName());
+            procurement.setPrice(procure.getPrice());
+            procurement.setSaveTime(returnFormat.format(procure.getSaveTime()));
             if (StringUtils.isNotBlank(procure.getCreateUserId())) {
-                procurementDto.setCreateUserId(procurePo.getCreateUserId());
+                procurement.setCreateUserId(procurePo.getCreateUserId());
             }
-            procurementDto.setNumber(procure.getNumber());
-            procurementDto.setIsAchieve(procure.getIsAchieve());
-            procurementDto.setDelFlag(procure.getDelFlag());
-            if (procurementDto.getCreateUserId() == null) {
-                procurementDto.setIsInvolved(1);
+            procurement.setNumber(procure.getNumber());
+            procurement.setIsAchieve(procure.getIsAchieve());
+            procurement.setDelFlag(procure.getDelFlag());
+            if (procurement.getCreateUserId() == null) {
+                procurement.setIsInvolved(1);
             } else {
-                procurementDto.setIsInvolved(2);
+                procurement.setIsInvolved(2);
             }
-            procurementList.add(procurementDto);
+            procurementList.add(procurement);
         }
 
 //        // 设置参与者信息
@@ -370,15 +378,14 @@ public class ProcurementServiceImpl implements ProcurementService {
                 procurePo = s;
             }
         }
-        List<String> userIds = new ArrayList<>();
+        /*List<String> userIds = new ArrayList<>();
         userIds.add(procurePo.getUserId());
-        List<UserVo> userInfo = procurementMapper.selUserInfo(userIds);
+        List<UserVo> userInfo = procurementMapper.selUserInfo(userIds);*/
         // 返回赋值
         procurementDto.setId(procurePo.getId());
         procurementDto.setUserId(procurePo.getUserId());
-        if (null != userInfo && userInfo.size() > 0) {
-            procurementDto.setUserName(userInfo.get(0).getUserName());
-        }
+
+        procurementDto.setUserName(procurePo.getClubName());
         String imageURL = ImageUtils.getImageURL("product", procurePo.getProductImage(), 0, domain);
         if (StringUtils.isNotBlank(imageURL)) {
             procurementDto.setProductImage(imageURL);
@@ -447,7 +454,7 @@ public class ProcurementServiceImpl implements ProcurementService {
     @Override
     public ResponseJson participateProcurement(ProcurementDto procurementDto,Integer status) throws Exception {
         ProcurePo procurePo = new ProcurePo();
-        java.lang.String id=procurementDto.getId();
+        String id=procurementDto.getId();
         if (status ==1) {
 //            procureService.deleteById(procurePo.getId());
             id=((AdditionalPo)MongodbUtils.find(AdditionalPo.class, new java.lang.String[]{"additionalId"}, new java.lang.String[]{procurementDto.getId()}).get(0)).getProcureId();
@@ -462,6 +469,7 @@ public class ProcurementServiceImpl implements ProcurementService {
         String time = saveFormat.format(new Date());
         procurePo.setSaveTime(Long.valueOf(saveFormat.parse(time).getTime()));
         procurePo.setNumber(procurementDto.getNumber());
+        procurePo.setClubName(procurementDto.getUserName());
 //        procurePo.setCreateUserId(procurementDto.getUserId());
         procurePo.setIsAchieve("0");
         procurePo.setIsInvolved(1);
@@ -512,14 +520,19 @@ public class ProcurementServiceImpl implements ProcurementService {
         // 更新集采信息
         if (1 == procurementType) {
             // 删除集采
-            ProcurePo procurePo = new ProcurePo();
+            /*ProcurePo procurePo = new ProcurePo();
             procurePo.setId(id.toString());
             procurePo.setIsInvolved(0);
             MongodbUtils.updateFirst("_id", procurePo.getId(),
                     new String[]{"IsInvolved"},
                     new String[]{procurePo.getIsInvolved().toString()},
-                    ProcurePo.class);
-//            // 退出集采
+                    ProcurePo.class);*/
+            // 退出集采
+            procureService.deleteById(id);
+            // 删除关系
+            additionalService.deleteByAdditionalId(id);
+
+
 //            AdditionalPo additionalPo = new AdditionalPo();
 //            ProcurePo procurePo = new ProcurePo();
 //            // 主集采下所有参与者 参与id

+ 1 - 1
src/main/resources/mapper/PriceMapper.xml

@@ -229,7 +229,7 @@
                cmps.cmPercent
         FROM cm_sku cs
                  LEFT JOIN cm_mall_product_sku cmps ON cs.skuId = cmps.skuId
-        WHERE cmps.productId = #{productId} OR cmps.mallProductId = #{productId}
+        WHERE cmps.delFlag = 0 ( cmps.productId = #{productId} OR cmps.mallProductId = #{productId} )
         ORDER BY cmps.price ASC
     </select>
     <select id="findLowPrice" resultType="com.caimei365.commodity.model.vo.ProductItemVo">

+ 32 - 28
src/test/java/com/caimei365/commodity/ProductApplicationTests.java

@@ -1,28 +1,32 @@
-package com.caimei365.commodity;
-
-import com.caimei365.commodity.model.po.ProcurePo;
-import com.caimei365.commodity.service.impl.ProcureService;
-import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-@SpringBootTest
-class ProductApplicationTests {
-    // 集采 | 接龙参与信息
-    @Autowired
-    ProcureService procureService;
-    @Test
-    void contextLoads() {
-        List<ProcurePo> list = procureService.findInvolvedList("111224");
-        System.out.println(list);
-//        String[] split = new String[]{"wwe","dsfsdf","","","dsfds"};
-//        Object[] objects = Arrays.stream(split).filter(StringUtils::isNotEmpty).toArray();
-//        System.out.println(Arrays.toString(objects));
-
-    }
-
-
-}
+//package com.caimei365.commodity;
+//
+//import com.caimei365.commodity.model.po.ProcurePo;
+//import com.caimei365.commodity.service.impl.AdditionalService;
+//import com.caimei365.commodity.service.impl.ProcureService;
+//import org.junit.jupiter.api.Test;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.boot.test.context.SpringBootTest;
+//
+//import javax.annotation.Resource;
+//import java.util.List;
+//
+//@SpringBootTest
+//class ProductApplicationTests {
+//    // 集采 | 接龙参与信息
+//    @Autowired
+//    ProcureService procureService;
+//    @Resource
+//    AdditionalService additionalService;
+//    @Test
+//    void contextLoads() {
+//        procureService.deleteById("64621b982a166252142ecfbc");
+//        additionalService.deleteByAdditionalId("64621b982a166252142ecfbc");
+////        System.out.println(list);
+////        String[] split = new String[]{"wwe","dsfsdf","","","dsfds"};
+////        Object[] objects = Arrays.stream(split).filter(StringUtils::isNotEmpty).toArray();
+////        System.out.println(Arrays.toString(objects));
+//
+//    }
+//
+//
+//}