Browse Source

超级会员会员中心

zhijiezhao 3 years ago
parent
commit
1314870882

+ 7 - 1
src/main/java/com/caimei365/user/controller/BaseApi.java

@@ -161,6 +161,12 @@ public class BaseApi {
     public ResponseJson findVipHistory(Integer userId,
                                        @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
                                        @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
-        return baseService.findVipHistory(userId,pageNum,pageSize);
+        return baseService.findVipHistory(userId, pageNum, pageSize);
+    }
+
+    @ApiOperation("超级会员会员中心")
+    @GetMapping("super/center")
+    public ResponseJson<Map<String, Object>> superCenter(Integer userId) {
+        return baseService.superCenter(userId);
     }
 }

+ 7 - 0
src/main/java/com/caimei365/user/mapper/SuperVipMapper.java

@@ -105,4 +105,11 @@ public interface SuperVipMapper {
      * @return
      */
     List<VipPayHistoryPo> findVipHistory(@Param("userId") Integer userId);
+
+    /**
+     * 查会员是否过期
+     * @param userId
+     * @return
+     */
+    SuperVipPo findEndTime(Integer userId);
 }

+ 8 - 15
src/main/java/com/caimei365/user/model/dto/SuperVipDto.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * @author zzj
@@ -16,27 +17,19 @@ import java.io.Serializable;
 @AllArgsConstructor
 public class SuperVipDto implements Serializable {
 
-    /**
-     * 用户Id
-     */
+
     @ApiModelProperty("用户Id")
     private Integer userId;
 
-//    /**
-//     * 开通支付采美豆数量
-//     */
-//    @ApiModelProperty("支付采美豆数量")
-//    private Integer userBeans;
-//
-//    /**
-//     * 开通支付现金数量
-//     */
-//    @ApiModelProperty("支付现金数量")
-//    private Integer userPay;
-
     /**
      * 购买套餐id,1套餐12个月,2套餐3个月,3套餐1个月
      */
     @ApiModelProperty("购买套餐id")
     private Integer userPackage;
+
+    @ApiModelProperty("套餐到期时间")
+    private Date endTime;
+
+    @ApiModelProperty("过期套餐标记,0未开通,-1过期,1未过期")
+    private String endFlag;
 }

+ 2 - 0
src/main/java/com/caimei365/user/service/BaseService.java

@@ -92,4 +92,6 @@ public interface BaseService {
     ResponseJson updateMobile(MobileDto mobileDto);
 
     ResponseJson findVipHistory(Integer userId,Integer pageNum,Integer pageSize);
+
+    ResponseJson<Map<String, Object>> superCenter(Integer userId);
 }

+ 33 - 1
src/main/java/com/caimei365/user/service/impl/BaseServiceImpl.java

@@ -8,7 +8,9 @@ import com.caimei365.user.model.ResponseJson;
 import com.caimei365.user.components.RedisService;
 import com.caimei365.user.model.dto.MobileDto;
 import com.caimei365.user.model.dto.PasswordDto;
+import com.caimei365.user.model.dto.SuperVipDto;
 import com.caimei365.user.model.po.ShopPo;
+import com.caimei365.user.model.po.SuperVipPo;
 import com.caimei365.user.model.po.VipPayHistoryPo;
 import com.caimei365.user.model.vo.ClubTemporaryVo;
 import com.caimei365.user.model.vo.ShopVo;
@@ -24,6 +26,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -456,10 +459,39 @@ public class BaseServiceImpl implements BaseService {
      * @return
      */
     @Override
-    public ResponseJson findVipHistory(Integer userId,Integer pageNum,Integer pageSize) {
+    public ResponseJson findVipHistory(Integer userId, Integer pageNum, Integer pageSize) {
+        if (null == userId) {
+            return ResponseJson.error("参数异常:用户Id不能为空!", null);
+        }
         PageHelper.startPage(pageNum, pageSize);
         List<VipPayHistoryPo> vipHistory = vipMapper.findVipHistory(userId);
         PageInfo<VipPayHistoryPo> pageInfo = new PageInfo<>(vipHistory);
         return ResponseJson.success(pageInfo);
     }
+
+    @Override
+    public ResponseJson<Map<String, Object>> superCenter(Integer userId) {
+        if (null == userId) {
+            return ResponseJson.error("参数异常:用户Id不能为空!", null);
+        }
+        //1.封装vipDto看超级会员是否过期,0未开通,-1过期,1未过期
+        SuperVipPo superVip = vipMapper.findSuperVip(userId);
+        SuperVipDto superVipDto = new SuperVipDto();
+        if (superVip == null) {
+            superVipDto.setEndFlag("0");
+        }
+        SuperVipPo endTime = vipMapper.findEndTime(userId);
+        if (endTime == null) {
+            superVipDto.setEndFlag("-1");
+            superVipDto.setEndTime(superVip.getEndTime());
+        }
+        superVipDto.setEndFlag("1");
+        superVipDto.setEndTime(endTime.getEndTime());
+        Map<String, Object> map = new HashMap(3);
+        map.put("vip", superVipDto);
+        //todo 2.查专属优惠卷
+
+        //todo 3.查专属商品
+        return ResponseJson.success(map);
+    }
 }

+ 6 - 0
src/main/resources/mapper/SuperVipMapper.xml

@@ -99,4 +99,10 @@
         where userId = #{userId}
         order by payTime desc
     </select>
+    <select id="findEndTime" resultType="com.caimei365.user.model.po.SuperVipPo">
+        select beginTime, endTime, delFlag, updateTime
+        from cm_svip_user
+        where userId = #{userId}
+          and (now() between beginTime and endTime)
+    </select>
 </mapper>