ソースを参照

订单,积分,分类,退货的功能优化

wang 4 日 前
コミット
aeef55acdd

+ 9 - 1
yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopDetailController.java

@@ -15,6 +15,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yami.shop.bean.app.dto.ShopHeadInfoDto;
 import com.yami.shop.bean.model.ShopDetail;
 import com.yami.shop.bean.model.UserCollectionShop;
+import com.yami.shop.common.exception.GlobalException;
 import com.yami.shop.common.util.PageParam;
 import com.yami.shop.service.ShopDetailService;
 import com.yami.shop.service.UserCollectionShopService;
@@ -91,7 +92,14 @@ public class ShopDetailController {
 
     @GetMapping("/addrShop")
     @ApiOperation("根据地址获取最近店铺")
-    public ResponseEntity<List<ShopHeadInfoDto>> neighborShopByAddr(@RequestParam("addrId") Long addrId, @RequestParam("platform") Integer platform) {
+    public ResponseEntity<List<ShopHeadInfoDto>> neighborShopByAddr(@RequestParam("platform") Integer platform,
+                                                                    @RequestParam(value = "addrId", required = false) Long addrId,
+                                                                    @RequestParam(value = "lat", required = false) String lat,
+                                                                    @RequestParam(value = "lon", required = false) String lon) {
+        if (null == addrId) {
+            if (null == lat || null == lon) throw new GlobalException("当地址id为空时,经纬度不能为空");
+            return shopDetailService.neighborShopList(lat, lon, platform);
+        }
         return shopDetailService.neighborShopByAddr(addrId, platform);
     }
 

+ 1 - 0
yami-shop-service/src/main/java/com/yami/shop/service/ShopDetailService.java

@@ -107,6 +107,7 @@ public interface ShopDetailService extends IService<ShopDetail> {
     ResponseEntity<ShopHeadInfoDto> neighborShop(String lat, String lon);
 
     ResponseEntity<ShopHeadInfoDto> neighborShop(String lat, String lon, Integer platform);
+    ResponseEntity<List<ShopHeadInfoDto>> neighborShopList(String lat, String lon, Integer platform);
 
     ResponseEntity<List<ShopHeadInfoDto>> neighborShopByAddr(Long addr, Integer platform);
 }

+ 7 - 0
yami-shop-service/src/main/java/com/yami/shop/service/impl/ShopDetailServiceImpl.java

@@ -329,6 +329,13 @@ public class ShopDetailServiceImpl extends ServiceImpl<ShopDetailMapper, ShopDet
         return ResponseEntity.ok(dto);
     }
 
+    @Override
+    public ResponseEntity<List<ShopHeadInfoDto>> neighborShopList(String lat, String lon, Integer platform) {
+        List<ShopHeadInfoDto> collect = shopDetailMapper.neighborShop(lat, lon, platform)
+                .stream().map((s) -> ShopHeadInfoDto.builder().shopId(s.getShopId()).shopName(s.getShopName()).build()).collect(Collectors.toList());
+        return ResponseEntity.ok(collect);
+    }
+
     @Override
     public ResponseEntity<List<ShopHeadInfoDto>> neighborShopByAddr(Long addr, Integer platform) {
         UserAddr userAddr = userAddrMapper.selectById(addr);

+ 43 - 44
yami-shop-service/src/main/resources/mapper/PointsRecordMapper.xml

@@ -18,52 +18,51 @@
     </select>
 
       <select id="statisticsAllScorePoint" resultType="com.yami.shop.bean.dto.ScoreDataDto">
-
           SELECT
-          (
-          SUM(CASE WHEN points_type = 1 THEN points ELSE 0 END)
-          - SUM(
-          CASE WHEN points_audit IN (1, 2) AND expiry_date &lt;= NOW() THEN
-          CASE
-          WHEN points_audit = 1 THEN
-          CASE points_type
-          WHEN 1 THEN points
-          WHEN 3 THEN variable_points
-          ELSE 0
-          END
-          WHEN points_audit = 2 THEN
-          CASE points_type
-          WHEN 1 THEN points - variable_points
-          WHEN 3 THEN variable_points - variable_points
-          END
-          END
-          ELSE 0 END
-          )
-          - SUM(CASE WHEN points_type = 2 THEN variable_points ELSE 0 END)
-          + SUM(CASE WHEN points_type = 3 THEN variable_points ELSE 0 END)
-          ) AS total_available_points,
-          SUM(CASE WHEN points_type = 1 THEN points ELSE 0 END) AS total_recharged_points,
-          SUM(
-          CASE WHEN points_audit IN (1, 2) AND expiry_date &lt;= NOW() THEN
-          CASE
-          WHEN points_audit = 1 THEN
-          CASE points_type
-          WHEN 1 THEN points
-          WHEN 3 THEN variable_points
-          ELSE 0
-          END
-          WHEN points_audit = 2 THEN
-          CASE points_type
-          WHEN 1 THEN points - variable_points
-          WHEN 3 THEN variable_points - variable_points
-          END
-          END
-          ELSE 0 END
-          ) AS expired_points,
-          SUM(CASE WHEN points_type = 2 THEN variable_points ELSE 0 END) AS consumed_points,
-          SUM(CASE WHEN points_type = 3 THEN variable_points ELSE 0 END) AS refund_points
+              (
+                  SUM(CASE WHEN points_type = 1 THEN points ELSE 0 END)
+                      - SUM(
+                          CASE WHEN points_audit IN (1, 2) AND expiry_date &lt;= NOW() THEN
+                                   CASE
+                                       WHEN points_audit = 1 THEN
+                                           CASE points_type
+                                               WHEN 1 THEN points
+                                               WHEN 3 THEN points
+                                               ELSE 0
+                                               END
+                                       WHEN points_audit = 2 THEN
+                                           CASE points_type
+                                               WHEN 1 THEN points - variable_points
+                                               WHEN 3 THEN points
+                                               END
+                                       END
+                               ELSE 0 END
+                        )
+                      - SUM(CASE WHEN points_type = 2 THEN variable_points ELSE 0 END)
+                      + SUM(CASE WHEN points_type = 3 THEN points ELSE 0 END)
+                  ) AS total_available_points,
+              SUM(CASE WHEN points_type = 1 THEN points ELSE 0 END) AS total_recharged_points,
+              SUM(
+                      CASE WHEN points_audit IN (1, 2) AND expiry_date &lt;= NOW() THEN
+                               CASE
+                                   WHEN points_audit = 1 THEN
+                                       CASE points_type
+                                           WHEN 1 THEN points
+                                           WHEN 3 THEN points
+                                           ELSE 0
+                                           END
+                                   WHEN points_audit = 2 THEN
+                                       CASE points_type
+                                           WHEN 1 THEN points - variable_points
+                                           WHEN 3 THEN points
+                                           END
+                                   END
+                           ELSE 0 END
+              ) AS expired_points,
+              (SUM(CASE WHEN points_type = 2 THEN variable_points ELSE 0 END) - SUM(CASE WHEN points_type = 3 THEN points ELSE 0 END)) AS consumed_points,
+              SUM(CASE WHEN points_type = 3 THEN points ELSE 0 END) AS refund_points
           FROM
-          tz_points_record
+              tz_points_record
           WHERE
           user_id = #{userId}
           AND channel_id = #{platform}

+ 1 - 1
yami-shop-user/yami-shop-user-comment/src/main/java/com/yami/shop/user/comment/service/impl/UserScoreDetailServiceImpl.java

@@ -177,7 +177,7 @@ public class UserScoreDetailServiceImpl extends ServiceImpl<UserScoreDetailMappe
                     case 3:
                         pointsRecord.setPointsTypeStr("退款");
                         mark = "+";
-                        pointsRecord.setVariablePointsStr(mark + (null!=pointsRecord.getVariablePoints()?pointsRecord.getVariablePoints():"0"));
+                        pointsRecord.setVariablePointsStr(mark + pointsRecord.getPoints());
                         break;
                 }
             }