Browse Source

bugfix-呵呵改版

Aslee 3 years ago
parent
commit
b7b901cce1

+ 9 - 0
src/main/java/com/caimei365/commodity/controller/HeheApi.java

@@ -32,6 +32,15 @@ public class HeheApi {
 
     private final HeheService heheService;
 
+    /**
+     * 轮播图
+     */
+    @ApiOperation("轮播图")
+    @GetMapping("/home/carousel")
+    public ResponseJson<List<ImageLinkVo>> getHomeCarousel() {
+        return heheService.getHomeCarousel();
+    }
+
     /**
      * 获取首页分类列表
      */

+ 8 - 0
src/main/java/com/caimei365/commodity/mapper/HeheMapper.java

@@ -61,5 +61,13 @@ public interface HeheMapper {
      */
     List<HeHeActivityVo> getActivityList(Integer userId);
 
+    /**
+     * 查询活动轮播图
+     */
     String getActivityImageById(Integer activityId);
+
+    /**
+     * 查询首页轮播图
+     */
+    List<ImageLinkVo> getHomeCarousel();
 }

+ 1 - 1
src/main/java/com/caimei365/commodity/mapper/PageMapper.java

@@ -83,7 +83,7 @@ public interface PageMapper {
      * @param id     楼层id
      * @param source
      */
-    List<FloorImageVo> getFloorImageByCentreId(Integer id, Integer source);
+    List<FloorImageVo> getFloorImageByCentreId(Integer id, Integer source, Integer limitNum);
 
     /**
      * 获取商品及价格

+ 5 - 0
src/main/java/com/caimei365/commodity/service/HeheService.java

@@ -45,6 +45,11 @@ public interface HeheService {
      */
     ResponseJson<HeheProductVo> getProductDetails(Integer productId, Integer userId);
 
+    /**
+     * 查询轮播图
+     */
+    ResponseJson<List<ImageLinkVo>> getHomeCarousel();
+
     /**
      * 设置商品详情
      */

+ 33 - 10
src/main/java/com/caimei365/commodity/service/impl/HeheServiceImpl.java

@@ -119,7 +119,12 @@ public class HeheServiceImpl implements HeheService {
                 iterator.remove();
             } else {
                 pageService.setFloorLinkType(floorContent);
-                List<FloorImageVo> floorImageList = pageMapper.getFloorImageByCentreId(floor.getId(), source);
+                Integer limitNum = 6;
+                String templateType = floorContent.getTemplateType();
+                if ("5".equals(templateType) || "9".equals(templateType)) {
+                    limitNum = null;
+                }
+                List<FloorImageVo> floorImageList = pageMapper.getFloorImageByCentreId(floor.getId(), source, limitNum);
                 setFloorImageProduct(userId, floorImageList);
                 floor.setFloorImageList(floorImageList);
                 floor.setFloorContent(floorContent);
@@ -197,6 +202,12 @@ public class HeheServiceImpl implements HeheService {
         return ResponseJson.success(product);
     }
 
+    @Override
+    public ResponseJson<List<ImageLinkVo>> getHomeCarousel() {
+        List<ImageLinkVo> imageList = heheMapper.getHomeCarousel();
+        return ResponseJson.success(imageList);
+    }
+
     private void setProductInfo(HeheProductVo product, Integer userId) {
         product.setMainImage(ImageUtils.getImageURL("product", product.getMainImage(), 0, domain));
         // 活动id
@@ -234,23 +245,24 @@ public class HeheServiceImpl implements HeheService {
         //税费
         boolean addTaxFlag = ("0".equals(product.getIncludedTax()) && ("1".equals(product.getInvoiceType()) || "2".equals(product.getInvoiceType())));
         if (addTaxFlag) {
+            // 售价税费
             BigDecimal addedValueTax = MathUtil.div(MathUtil.mul(product.getPrice(), product.getClubTaxPoint()), BigDecimal.valueOf(100), 2);
             BigDecimal price = MathUtil.add(product.getPrice(), addedValueTax);
             product.setPrice(price);
-            if (null != product.getNormalPrice()) {
-                addedValueTax = MathUtil.div(MathUtil.mul(product.getNormalPrice(), product.getClubTaxPoint()), BigDecimal.valueOf(100), 2);
-                price = MathUtil.add(product.getNormalPrice(), addedValueTax);
-                product.setNormalPrice(price);
-            }
+            // 原价税费
+            addedValueTax = MathUtil.div(MathUtil.mul(product.getNormalPrice(), product.getClubTaxPoint()), BigDecimal.valueOf(100), 2);
+            price = MathUtil.add(product.getNormalPrice(), addedValueTax);
+            product.setNormalPrice(price);
         }
         // 查询用户的注册时间
         Date registerTime = heheMapper.getUserRegisterTime(userId);
         String[] productIdArr = {product.getProductId().toString()};
         // 用户在该商品上可领取的优惠券列表
         List<HeheCouponVo> couponList = heheMapper.getCouponList(userId, productIdArr, registerTime, null);
+        List<HeheCouponVo> receiveCouponList = new ArrayList<>();
         if (null != userId) {
             // 用户在该商品上已领取未使用的优惠券列表
-            List<HeheCouponVo> receiveCouponList = heheMapper.getReceiveCouponList(userId, productIdArr, null, 1);
+            receiveCouponList = heheMapper.getReceiveCouponList(userId, productIdArr, null, 1);
             couponList.addAll(receiveCouponList);
         }
         // 单价满足优惠条件的优惠券列表
@@ -260,7 +272,7 @@ public class HeheServiceImpl implements HeheService {
         if (couponList.size() > 0) {
             // 有可用优惠券
             couponList.forEach(coupon->{
-                if (1 == coupon.getNoThresholdFlag() || MathUtil.compare(product.getPrice(), coupon.getTouchPrice()) > 0) {
+                if (1 == coupon.getNoThresholdFlag() || MathUtil.compare(product.getPrice(), coupon.getTouchPrice()) >= 0) {
                     ableCouponList.add(coupon);
                 } else {
                     unableCouponList.add(coupon);
@@ -274,8 +286,10 @@ public class HeheServiceImpl implements HeheService {
                 product.setCouponPrice(MathUtil.sub(product.getPrice(), biggestCoupon.getCouponAmount()));
                 // 原价-最大优惠金额=原价券后价
                 product.setNormalCouponPrice(MathUtil.sub(product.getNormalPrice(), biggestCoupon.getCouponAmount()));
-                // 优惠券id
-                product.setCouponId(biggestCoupon.getCouponId());
+                //这张优惠券未领取才返回优惠券id显示领券购买
+                if (null != biggestCoupon.getUseStatus() && 0 == biggestCoupon.getUseStatus()) {
+                    product.setCouponId(biggestCoupon.getCouponId());
+                }
                 // 券后价标签
                 product.setCouponStatus(1);
             } else {
@@ -287,6 +301,15 @@ public class HeheServiceImpl implements HeheService {
                 product.setCouponInfo("券|满" + smallestCoupon.getTouchPrice() + "元减" + smallestCoupon.getCouponAmount());
             }
         }
+        if (1 == product.getActiveStatus() || 1 == product.getCollageStatus() || 1 == product.getDiscountStatus()) {
+            if (1 != product.getCollageStatus() && product.getPrice().compareTo(product.getNormalPrice()) == 0) {
+                // 原价与售价相同,不显示原价
+                product.setNormalPrice(BigDecimal.ZERO);
+            }
+        } else if (product.getCouponPrice().compareTo(BigDecimal.ZERO) == 0) {
+            // 不参与任何活动且未使用优惠券,不显示原价
+            product.setNormalPrice(BigDecimal.ZERO);
+        }
     }
 
 

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

@@ -118,7 +118,7 @@ public class PageServiceImpl implements PageService {
             FloorContentVo floorContent = pageMapper.getFloorContentByCentreId(floor.getId());
             setFloorLinkType(floorContent);
             floor.setFloorContent(floorContent);
-            List<FloorImageVo> floorImageList = pageMapper.getFloorImageByCentreId(floor.getId(), source);
+            List<FloorImageVo> floorImageList = pageMapper.getFloorImageByCentreId(floor.getId(), source, null);
             setFloorImageProduct(userId, floorImageList, source);
             floor.setFloorImageList(floorImageList);
         }
@@ -391,7 +391,7 @@ public class PageServiceImpl implements PageService {
                 iterator.remove();
             } else {
                 setFloorLinkType(floorContent);
-                List<FloorImageVo> floorImageList = pageMapper.getFloorImageByCentreId(floor.getId(), source);
+                List<FloorImageVo> floorImageList = pageMapper.getFloorImageByCentreId(floor.getId(), source, null);
                 setFloorImageProduct(userId, floorImageList, source);
                 floor.setFloorImageList(floorImageList);
                 String templateTypeStr = floorContent.getTemplateType();
@@ -487,7 +487,7 @@ public class PageServiceImpl implements PageService {
                 floorContent.setTemplateClassify(4);
             }
         }
-        List<FloorImageVo> floorImageList = pageMapper.getFloorImageByCentreId(centreId, source);
+        List<FloorImageVo> floorImageList = pageMapper.getFloorImageByCentreId(centreId, source, null);
         setFloorImageProduct(userId, floorImageList, source);
         Map<String, Object> map = new HashMap<>(2);
         map.put("floorContent", floorContent);

+ 1 - 1
src/main/resources/bootstrap.yml

@@ -9,7 +9,7 @@ spring:
     config:                             # Config客户端配置
       profile: @activatedProperties@    # 启用配置后缀名称
       label: master                     # 分支名称
-#      uri: http://192.168.2.92:18001
+#      uri: http://192.168.2.100:18001
       # uri: http://47.119.112.46:18001          # 配置中心地址
       uri: http://120.79.162.1:18001          # 配置中心地址(正式环境)
       name: commodity                   # 配置文件名称

+ 12 - 2
src/main/resources/mapper/HeheMapper.xml

@@ -6,7 +6,7 @@
         select id as bigTypeId, name, icon as crmIcon
         from hehe_home_type
         where status = 1
-        order by -sort desc
+        order by -sort desc,addTime desc
         limit 8
     </select>
     <select id="getProductList" resultType="com.caimei365.commodity.model.vo.HeheProductVo">
@@ -58,7 +58,7 @@
             AND p.name LIKE CONCAT('%',#{productName},'%')
         </if>
         <if test="sortType == 1 and productIds != null and productIds != ''">
-            and chp.productId not in (#{productIds})
+            and chp.productId not in (${productIds})
         </if>
         <if test="sortType == 1">
             order by rand()
@@ -305,5 +305,15 @@
     <select id="getActivityImageById" resultType="java.lang.String">
         SELECT detailsImage FROM cm_hehe_activity WHERE id = #{activityId}
     </select>
+    <select id="getHomeCarousel" resultType="com.caimei365.commodity.model.vo.ImageLinkVo">
+        SELECT
+            image,link
+        FROM
+            cm_hehe_image
+        WHERE
+            status = 1
+        ORDER BY
+            - sort DESC
+    </select>
 
 </mapper>

+ 3 - 0
src/main/resources/mapper/PageMapper.xml

@@ -113,6 +113,9 @@
             and appletsStatus = 1
         </if>
         order by -sort desc, createDate desc
+        <if test="limitNum != null">
+            limit ${limitNum}
+        </if>
     </select>
     <select id="getProductItemById" resultType="com.caimei365.commodity.model.vo.ProductItemVo">
         select