소스 검색

Merge remote-tracking branch 'origin/sit' into sit

lyx 4 주 전
부모
커밋
7b87830530

+ 12 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/LifeGroupBuyMainVo.java

@@ -27,6 +27,18 @@ public class LifeGroupBuyMainVo extends LifeGroupBuyMain {
     @ApiModelProperty(value = "商家名称")
     private String storeName;
 
+    @ApiModelProperty(value = "商家评分")
+    private String scoreAvg;
+
+    @ApiModelProperty(value = "商家经营种类")
+    private String businessName;
+
+    @ApiModelProperty(value = "商家地址")
+    private String address;
+
+    @ApiModelProperty(value = "团购图片url")
+    private String imagePaths;
+
     @ApiModelProperty(value = "商家手机号")
     private String phone;
 

+ 4 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/LifeUserOrderCommentVo.java

@@ -17,4 +17,8 @@ public class LifeUserOrderCommentVo extends LifeUserOrder {
     private String groupBuyType;
 
     private String storeType;
+
+    private String businessTypesName;
+
+    private String storeName;
 }

+ 3 - 2
alien-entity/src/main/java/shop/alien/mapper/LifeFansMapper.java

@@ -98,9 +98,10 @@ public interface LifeFansMapper extends BaseMapper<LifeFans> {
             "    select info.id, info.store_name name, user.head_img image, concat('store_', user.phone) phoneId, info.store_blurb blurb ,IFNULL(user.nick_name, user.name) username, user.account_blurb accountBlurb  " +
             "    from follow foll " +
             "    join store_user user on foll.phone = user.phone " +
-            "    join store_info info on info.id = user.store_id " +
+            "    LEFT JOIN store_info info ON user.store_id IS NOT NULL AND info.id = user.store_id " +
+            "    and info.delete_flag = 0" +
             "    left join store_img img on img.store_id = user.store_id and img.img_type = '10' and img.delete_flag = 0 " +
-            "    where foll.flag = 'store' and user.delete_flag = 0 and info.delete_flag = 0 " +
+            "    where foll.flag = 'store' and user.delete_flag = 0 " +
             ") foll " +
             "left join life_fans fans on fans.followed_id = foll.phoneId and fans.fans_id = #{fansId} and fans.delete_flag = 0 " +
             "left join life_fans fans2 on fans2.followed_id = foll.phoneId and fans2.delete_flag = 0 " +

+ 62 - 0
alien-entity/src/main/java/shop/alien/mapper/LifeGroupBuyMainMapper.java

@@ -1,5 +1,6 @@
 package shop.alien.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -8,10 +9,14 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
+import org.apache.poi.ss.formula.functions.T;
 import shop.alien.entity.store.LifeGroupBuyMain;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import shop.alien.entity.store.vo.LifeGroupBuyMainVo;
 import shop.alien.entity.store.vo.LifeGroupBuyThaliVo;
 
+import java.util.List;
+
 /**
 * @author youch
 * @description 针对表【life_group_buy_main(团购主表)】的数据库操作Mapper
@@ -47,6 +52,63 @@ public interface LifeGroupBuyMainMapper extends BaseMapper<LifeGroupBuyMain> {
             @Param("buyCount") int buyCount,
             @Param("soldOutStatus") int soldOutStatus
     );
+
+    @Select("SELECT\n" +
+            "    g.id AS id,\n" +
+            "    g.group_no AS group_no,\n" +
+            "    g.group_type AS group_type,\n" +
+            "    g.status AS status,\n" +
+            "    g.approval_comments AS approval_comments,\n" +
+            "    g.store_id AS store_id,\n" +
+            "    g.image_id AS image_id,\n" +
+            "    g.group_name AS group_name,\n" +
+            "    g.start_time_type AS start_time_type,\n" +
+            "    g.start_time_value AS start_time_value,\n" +
+            "    g.end_time AS end_time,\n" +
+            "    g.inventory_num AS inventory_num,\n" +
+            "    g.quota_type AS quota_type,\n" +
+            "    g.quota_value AS quota_value,\n" +
+            "    g.original_price AS original_price,\n" +
+            "    g.preferential_price AS preferential_price,\n" +
+            "    g.effective_date_type AS effective_date_type,\n" +
+            "    g.effective_date_value AS effective_date_value,\n" +
+            "    g.disable_date_type AS disable_date_type,\n" +
+            "    g.disable_date_value AS disable_date_value,\n" +
+            "    g.write_off AS write_off,\n" +
+            "    g.reservation_rules AS reservation_rules,\n" +
+            "    g.use_rules AS use_rules,\n" +
+            "    g.applicable_num AS applicable_num,\n" +
+            "    g.other_rules AS other_rules,\n" +
+            "    g.invoice_type AS invoice_type,\n" +
+            "    g.invoice_describe AS invoice_describe,\n" +
+            "    g.insured_flag AS insured_flag,\n" +
+            "    g.insured_price AS insured_price,\n" +
+            "    g.coupon_id AS coupon_id,\n" +
+            "    g.delete_flag AS delete_flag,\n" +
+            "    g.created_time AS created_time,\n" +
+            "    g.updated_time AS updated_time,\n" +
+            "    g.created_user_id AS created_user_id,\n" +
+            "    g.updated_user_id AS updated_user_id,\n" +
+            "    s.store_name AS store_name,\n" +
+            "    s.store_address AS store_address,\n" +
+            "    s.store_tel AS store_tel,\n" +
+            "    ROUND(s.score_avg) AS scoreAvg,\n" +
+            "    s.business_types_name AS businessName,\n" +
+            "    s.query_address AS address,\n" +
+            "    IFNULL(GROUP_CONCAT(img.img_url SEPARATOR ','), '') AS imagePaths\n" +
+            "FROM\n" +
+            "    life_group_buy_main g\n" +
+            "LEFT JOIN store_info s \n" +
+            "    ON g.store_id = s.id \n" +
+            "    AND s.delete_flag = 0 \n" +
+            "LEFT JOIN store_img img \n" +
+            "    ON FIND_IN_SET(img.id, g.image_id) > 0 \n" +
+            "    AND img.delete_flag = 0\t\t \n" +
+            "WHERE\n" +
+            "    g.delete_flag = 0\n" +
+            "GROUP BY\n" +
+            "    g.id")
+    List<LifeGroupBuyMainVo> getLifeGroupInfo(@Param(Constants.WRAPPER) LambdaQueryWrapper<LifeGroupBuyMainVo> queryWrapper);
 }
 
 

+ 2 - 2
alien-entity/src/main/java/shop/alien/mapper/StoreCommentMapper.java

@@ -167,7 +167,7 @@ WHERE
 		AND delete_flag = 0)
  */
     @Select("SELECT " +
-            "luo.*,lgbm.group_type groupBuyType,lgbm.group_name groupBuyName,lgbm.image_id groupBuyImgId,store.business_section storeType " +
+            "luo.*,lgbm.group_type groupBuyType,lgbm.group_name groupBuyName,lgbm.image_id groupBuyImgId,store.business_section storeType, store.business_types_name businessTypesName, store.store_name storeName " +
             "FROM life_user_order luo LEFT JOIN order_coupon_middle ocm ON luo.id = ocm.order_id LEFT JOIN life_group_buy_main lgbm ON ocm.coupon_id = lgbm.id LEFT JOIN store_info store on luo.store_id = store.id " +
             "WHERE luo.`status` in (2,7) " +
             "AND luo.coupon_type = 2 " +
@@ -177,7 +177,7 @@ WHERE
     IPage<LifeUserOrderCommentVo> getCommentOrderWPJPage(IPage<LifeUserOrderCommentVo> page, @Param("userId") String userId);
 
     @Select("SELECT " +
-            "luo.*,lgbm.group_type groupBuyType,lgbm.group_name groupBuyName,lgbm.image_id groupBuyImgId,store.business_section storeType " +
+            "luo.*,lgbm.group_type groupBuyType,lgbm.group_name groupBuyName,lgbm.image_id groupBuyImgId,store.business_section storeType, store.business_types_name businessTypesName, store.store_name storeName " +
             "FROM life_user_order luo LEFT JOIN order_coupon_middle ocm ON luo.id = ocm.order_id LEFT JOIN life_group_buy_main lgbm ON ocm.coupon_id = lgbm.id LEFT JOIN store_info store on luo.store_id = store.id " +
             "WHERE luo.`status` in (2,7) " +
             "AND luo.coupon_type = 2 " +

+ 7 - 0
alien-entity/src/main/java/shop/alien/mapper/StoreInfoMapper.java

@@ -123,4 +123,11 @@ public interface StoreInfoMapper extends BaseMapper<StoreInfo> {
     @Select("SELECT a.* FROM store_info a " +
             "left join store_user b on a.id =b.store_id  where b.phone = #{phoneIdNew} limit 1")
     StoreMainInfoVo getStoreNameByPhone(String phoneIdNew);
+
+    @Select(
+            "select " +
+            "            ROUND(ST_Distance_Sphere(ST_GeomFromText(CONCAT('POINT(', REPLACE(#{position}, ',', ' '), ')' )), ST_GeomFromText(CONCAT('POINT(', REPLACE(store_position, ',', ' '), ')' ))) / 1000, 2) dist " +
+            "from store_info where id = #{storeId}"
+            )
+    Double getStoreDistance(@Param("position") String position,@Param("storeId") Integer storeId);
 }

+ 11 - 0
alien-gateway/src/main/java/shop/alien/gateway/controller/LifeUserController.java

@@ -3,10 +3,12 @@ package shop.alien.gateway.controller;
 import io.swagger.annotations.*;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import shop.alien.entity.result.R;
 import shop.alien.entity.store.vo.LifeUserVo;
 import shop.alien.gateway.config.BaseRedisService;
+import shop.alien.gateway.service.ActivityInviteConfigService;
 import shop.alien.gateway.service.LifeUserService;
 
 /**
@@ -24,6 +26,8 @@ public class LifeUserController {
 
     private final BaseRedisService baseRedisService;
 
+    private final ActivityInviteConfigService activityInviteConfigService;
+
     @ApiOperation("用户登录")
     @ApiOperationSupport(order = 1)
     @ApiImplicitParams({
@@ -50,6 +54,13 @@ public class LifeUserController {
         if (null == userVo) {
             return R.fail("登录失败");
         }
+
+        if(StringUtils.isNotBlank(inviteCode)){
+           String bindResult =  activityInviteConfigService.bindInviteCode(userVo.getId(), inviteCode);
+           if(StringUtils.isNotBlank(bindResult) && !bindResult.equals("绑定成功")){
+               return R.fail(bindResult);
+           }
+        }
         return R.data(userVo);
     }
 

+ 0 - 10
alien-gateway/src/main/java/shop/alien/gateway/service/LifeUserService.java

@@ -75,11 +75,6 @@ public class LifeUserService extends ServiceImpl<LifeUserGatewayMapper, LifeUser
                 String token = getToken(phoneNum, userVo.getUserName(), tokenMap);
                 userVo.setToken(token);
                 baseRedisService.setString("user_" + phoneNum, token);
-                // 生成邀请记录
-                if (StringUtils.isNotEmpty(inviteCode)) {
-                    activityInviteConfigService.bindInviteCode(lifeUser.getId(), inviteCode);
-                }
-
                 // 二手平台登录log,同一个macip登录多账号记录
                 addLifeUserLogInfo(user2, macIp);
 
@@ -98,11 +93,6 @@ public class LifeUserService extends ServiceImpl<LifeUserGatewayMapper, LifeUser
             String token = getToken(phoneNum, user.getUserName(), tokenMap);
             userVo.setToken(token);
             baseRedisService.setString("user_" + phoneNum, token);
-            if (StringUtils.isNotEmpty(inviteCode)) {
-                // 生成邀请记录
-                activityInviteConfigService.bindInviteCode(user.getId(), inviteCode);
-            }
-
             // 二手平台登录log,同一个macip登录多账号记录
             addLifeUserLogInfo(user, macIp);
 

+ 5 - 6
alien-job/src/main/java/shop/alien/job/feign/AlienStoreFeign.java

@@ -45,16 +45,15 @@ public interface AlienStoreFeign {
 
     /**
      * 处理退款
-     *
-     * @param outTradeNo   订单编号
+     * @param outTradeNo 订单编号
      * @param refundAmount 退款金额
      * @param refundReason 退款原因
      * @return
      */
     @GetMapping("/ali/processRefund")
-    public String processRefund(@RequestParam("outTradeNo") String outTradeNo,
-                                @RequestParam("refundAmount") String refundAmount,
-                                @RequestParam("refundReason") String refundReason,
-                                @RequestParam("partialRefundCode") String partialRefundCode);
+    public String processRefund(@RequestParam(value = "outTradeNo") String outTradeNo,
+                                   @RequestParam(value = "refundAmount") String refundAmount,
+                                   @RequestParam(value = "refundReason") String refundReason,
+                                   @RequestParam(value = "partialRefundCode") String partialRefundCode);
 
 }

+ 7 - 5
alien-store/src/main/java/shop/alien/store/controller/AliController.java

@@ -288,19 +288,21 @@ public class AliController {
         return R.data(aliApi.promotionPackagePay(price, subject));
     }
 
-    @ApiOperation("退款")
+    @ApiOperation("处理退款")
     @ApiOperationSupport(order = 13)
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "outTradeNo", value = "订单号", dataType = "String", paramType = "query", required = true),
+            @ApiImplicitParam(name = "outTradeNo", value = "订单号", dataType = "String", paramType = "query", required = true),
             @ApiImplicitParam(name = "refundAmount", value = "退款金额", dataType = "String", paramType = "query", required = true),
             @ApiImplicitParam(name = "refundReason", value = "退款原因", dataType = "String", paramType = "query", required = true),
-            @ApiImplicitParam(name = "partialRefundCode", value = "退款编号", dataType = "String", paramType = "query", required = true)
+            @ApiImplicitParam(name = "partialRefundCode", value = "部分退款编号", dataType = "String", paramType = "query")
     })
     @GetMapping("/processRefund")
     public String processRefund(@RequestParam("outTradeNo") String outTradeNo,
                                 @RequestParam("refundAmount") String refundAmount,
                                 @RequestParam("refundReason") String refundReason,
-                                @RequestParam("partialRefundCode") String partialRefundCode) {
+                                @RequestParam(value = "partialRefundCode", required = false) String partialRefundCode) {
+        log.info("AliController.processRefund?outTradeNo={}, refundAmount={}, refundReason={}, partialRefundCode={}",
+                outTradeNo, refundAmount, refundReason, partialRefundCode);
         return aliApi.processRefund(outTradeNo, refundAmount, refundReason, partialRefundCode);
     }
-}
+}

+ 11 - 11
alien-store/src/main/java/shop/alien/store/controller/LifeGroupPackageController.java

@@ -12,11 +12,14 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 import shop.alien.entity.result.R;
 import shop.alien.entity.store.LifeCoupon;
+import shop.alien.entity.store.LifeGroupBuyMain;
 import shop.alien.entity.store.StoreGroupInfo;
 import shop.alien.entity.store.StoreHotelGroupRoomInfo;
 import shop.alien.entity.store.vo.LifeCouponVo;
+import shop.alien.entity.store.vo.LifeGroupBuyMainVo;
 import shop.alien.entity.store.vo.LifeTuanGouParamVo;
 import shop.alien.mapper.LifeCouponMapper;
+import shop.alien.mapper.LifeGroupBuyMainMapper;
 import shop.alien.mapper.StoreGroupInfoMapper;
 import shop.alien.mapper.StoreHotelGroupRoomInfoMapper;
 import shop.alien.store.service.LifeCouponService;
@@ -49,6 +52,8 @@ public class LifeGroupPackageController {
 
     private final StoreHotelGroupRoomInfoMapper storeHotelGroupRoomInfoMapper;
 
+    private final LifeGroupBuyMainMapper lifeGroupBuyMainMapper;
+
     @ApiOperation("新建团购")
     @PostMapping("/addOrUpdateGroupPackage")
     public R<Boolean> addOrUpdateGroupPackage(@RequestBody LifeTuanGouParamVo lifeTuanGouParamVo) {
@@ -169,17 +174,12 @@ public class LifeGroupPackageController {
 
     @ApiOperation("猜你喜欢")
     @GetMapping("/getRecommendForYou")
-    private R<IPage<LifeCoupon>> getRecommendForYou() {
-        LambdaUpdateWrapper<LifeCoupon> wrapper = new LambdaUpdateWrapper<>();
-        List<LifeCoupon> lifeCoupons = lifeCouponMapper.selectList(wrapper);
+    private R<IPage<LifeGroupBuyMainVo>> getRecommendForYou() {
+        LambdaQueryWrapper<LifeGroupBuyMainVo> wrapper = new LambdaQueryWrapper<>();
+        List<LifeGroupBuyMainVo> lifeGroupBuyMains = lifeGroupBuyMainMapper.getLifeGroupInfo(wrapper);
         // 打乱数据顺序
-        Collections.shuffle(lifeCoupons);
-        Random random = new Random();
-        for (LifeCoupon coupon : lifeCoupons) {
-            // 生成 1 到 5 之间的随机整数
-            int randomScore = random.nextInt(5) + 1;
-            coupon.setRateScore(randomScore);
-        }
-        return R.data(ListToPage.setPage(lifeCoupons, 1, 4));
+        Collections.shuffle(lifeGroupBuyMains);
+//        Random random = new Random();
+        return R.data(ListToPage.setPage(lifeGroupBuyMains, 1, 4));
     }
 }

+ 6 - 3
alien-store/src/main/java/shop/alien/store/service/impl/StoreInfoServiceImpl.java

@@ -1063,10 +1063,13 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
         result.setStorePositionLatitude(result.getStorePosition().split(",")[1]);
         // 设置距离
         if ((jingdu != null && !jingdu.isEmpty()) && (weidu != null && !weidu.isEmpty())) {
-            double storeJing = Double.parseDouble(result.getStorePosition().split(",")[0]);
+            /*double storeJing = Double.parseDouble(result.getStorePosition().split(",")[0]);
             double storeWei = Double.parseDouble(result.getStorePosition().split(",")[1]);
-            double storeDistance = DistanceUtil.haversineCalculateDistance(Double.parseDouble(jingdu), Double.parseDouble(weidu), storeJing, storeWei);
-            result.setDistance(storeDistance);
+            double storeDistance = DistanceUtil.haversineCalculateDistance(Double.parseDouble(jingdu), Double.parseDouble(weidu), storeJing, storeWei);*/
+
+            Double distance = storeInfoMapper.getStoreDistance(jingdu + "," + weidu,result.getId());
+
+            result.setDistance(distance);
         }
         // 计算店铺到最近地铁站的距离
         JSONObject nearbySubway = gaoDeMapUtil.getNearbySubway(result.getStorePosition().split(",")[0], result.getStorePosition().split(",")[1]);