zhijiezhao 3 лет назад
Родитель
Сommit
a9fd849f67

+ 2 - 1
pom.xml

@@ -30,10 +30,11 @@
     </dependencyManagement>
 
     <dependencies>
-		<dependency>
+        <dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-webflux</artifactId>
 		</dependency>
+
 		<dependency>
 			<groupId>org.springframework.cloud</groupId>
 			<artifactId>spring-cloud-starter</artifactId>

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

@@ -3,6 +3,7 @@ package com.caimei365.user;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 
 /**
  * `@EnableEurekaClient`: 声明一个Eureka客户端,只能注册到Eureka Server
@@ -14,6 +15,7 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 
 @EnableDiscoveryClient
 @SpringBootApplication
+@EnableFeignClients(basePackages = {"com.caimei365.user.feign"})
 public class UserApplication {
 
     public static void main(String[] args) {

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

@@ -157,7 +157,7 @@ public class BaseApi {
     }
 
     @ApiOperation("超级会员购买记录接口")
-    @GetMapping("super/history")
+    @GetMapping("/super/history")
     public ResponseJson findVipHistory(Integer userId,
                                        @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
                                        @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
@@ -168,11 +168,11 @@ public class BaseApi {
     }
 
     @ApiOperation("超级会员会员中心")
-    @GetMapping("super/center")
-    public ResponseJson<Map<String, Object>> superCenter(Integer userId) {
+    @GetMapping("/super/center")
+    public ResponseJson<Map<String, Object>> superCenter(Integer userId,Integer source) {
         if (null == userId) {
             return ResponseJson.error("参数异常:用户Id不能为空!", null);
         }
-        return baseService.superCenter(userId);
+        return baseService.superCenter(userId,source);
     }
 }

+ 6 - 6
src/main/java/com/caimei365/user/controller/RegisterApi.java

@@ -248,14 +248,14 @@ public class RegisterApi {
         return registerService.temporaryData(id);
     }
 
-    @ApiOperation("现金开通超级会员")
-    @GetMapping("super/money")
-    public ResponseJson superVipUpgrade(SuperVipDto superVipDto, @RequestHeader HttpHeaders headers) {
-        return registerService.superVipUpgrade(superVipDto, headers);
-    }
+//    @ApiOperation("现金开通超级会员")
+//    @GetMapping("super/money")
+//    public ResponseJson superVipUpgrade(SuperVipDto superVipDto, @RequestHeader HttpHeaders headers) {
+//        return registerService.superVipUpgrade(superVipDto, headers);
+//    }
 
     @ApiOperation("采美豆开通超级会员")
-    @GetMapping("super/beans")
+    @GetMapping("/super/beans")
     public ResponseJson superVipUpByBeans(Integer userId,Integer packageId, @RequestHeader HttpHeaders headers) {
         if (null == userId) {
             return ResponseJson.error("参数异常:购买套餐不能为空!", null);

+ 16 - 0
src/main/java/com/caimei365/user/feign/VipProductFeign.java

@@ -0,0 +1,16 @@
+package com.caimei365.user.feign;
+
+import com.caimei365.user.model.ResponseJson;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.Map;
+
+@FeignClient("CAIMEI365-CLOUD-COMMODITY")
+public interface VipProductFeign {
+    @GetMapping("/commodity/svip/product/page")
+    public ResponseJson<Map<String, Object>> getSvipProductPage(@RequestParam Integer userId, @RequestParam Integer source,
+                                                                @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                                                @RequestParam(value = "pageSize", defaultValue = "20") int pageSize);
+}

+ 11 - 1
src/main/java/com/caimei365/user/mapper/SuperVipMapper.java

@@ -3,6 +3,7 @@ package com.caimei365.user.mapper;
 import com.caimei365.user.model.po.SuperVipPo;
 import com.caimei365.user.model.po.VipPayHistoryPo;
 import com.caimei365.user.model.vo.CouponVo;
+import com.caimei365.user.model.vo.ProductItemVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -22,7 +23,14 @@ public interface SuperVipMapper {
      * @param useTime 当月月份
      * @return
      */
-    List<CouponVo> findVipCoupon(@Param("userId") Integer userId, @Param("useTime") Integer useTime);
+    List<CouponVo> findVipCoupon(Integer userId, Integer useTime);
+
+    /**
+     * 查当月优惠券是否被领取
+     * @param userId
+     * @return
+     */
+    List<Integer> findCouponGet(@Param("userId") Integer userId,Integer useTime);
     /**
      * 查vip信息
      *
@@ -121,4 +129,6 @@ public interface SuperVipMapper {
      * @return
      */
     SuperVipPo findEndTime(Integer userId);
+
+
 }

+ 5 - 6
src/main/java/com/caimei365/user/model/vo/CouponVo.java

@@ -2,6 +2,7 @@ package com.caimei365.user.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -10,18 +11,16 @@ import java.util.Date;
 /**
  * Description
  *
- * @author : plf
- * @date : 2021/8/12
+ * 优惠券
  */
 @Data
+@NoArgsConstructor
 public class CouponVo implements Serializable {
 
-
     /**
-     * 领券时间
+     * 领券标记,1表示已领,0未领
      */
-    @JsonFormat(pattern = "yyyy.MM.dd", timezone = "GMT+8")
-    private Date getTime;
+    private Integer getFlag;
     /**
      * 优惠券id
      */

+ 43 - 0
src/main/java/com/caimei365/user/model/vo/LadderPriceVo.java

@@ -0,0 +1,43 @@
+package com.caimei365.user.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 阶梯价格
+ *
+ * @author : Charles
+ * @date : 2021/4/9
+ */
+@Data
+public class LadderPriceVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private Integer id;
+    /**
+     * 商品id
+     */
+    private Integer productId;
+    /**
+     * 第几阶梯
+     */
+    private Integer ladderNum;
+    /**
+     * 购买数量
+     */
+    private Integer buyNum;
+    /**
+     * 购买价格
+     */
+    private Double buyPrice;
+    /**
+     * 下一阶数量
+     */
+    private Integer maxNum;
+    /**
+     * 显示数量 如:1~3
+     */
+    private String numRange;
+
+}
+

+ 237 - 0
src/main/java/com/caimei365/user/model/vo/ProductItemVo.java

@@ -0,0 +1,237 @@
+package com.caimei365.user.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 顶部购物车数据
+ *
+ * @author : Charles
+ * @date : 2021/4/9
+ */
+@Data
+public class ProductItemVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    /**
+     * itemId
+     */
+    private Integer id;
+    /**
+     * 商品productID
+     */
+    private Integer productId;
+    /**
+     * 名称name
+     */
+    private String name;
+    /**
+     * 主图mainImage
+     */
+    private String image;
+    /**
+     * 品牌
+     */
+    private String brandName;
+    /**
+     * 包装规格
+     */
+    private String unit;
+    /**
+     * 商品货号
+     */
+    private String code;
+    /**
+     * 机构价
+     */
+    private Double price;
+    /**
+     * 是否公开机构价 0公开价格 1不公开价格
+     */
+    private Integer priceFlag;
+    /**
+     * 计算后价格等级
+     */
+    private Integer priceGrade;
+    /**
+     * 商品可见度:(3:所有人可见,2:普通机构可见,1:会员机构可见)
+     */
+    private String visibility;
+    /**
+     * 所属供应商Id,关联供应商表
+     */
+    private Integer shopId;
+    /**
+     * 搜索关键词searchKey
+     */
+    private String keyword;
+    /**
+     * 美博会商品活动状态
+     */
+    private Integer beautyActFlag;
+    /**
+     * 商品原价
+     */
+    private Double originalPrice;
+    /**
+     * 成本价选中标志:1固定成本 2比例成
+     */
+    private Integer costCheckFlag;
+    /**
+     * 固定成本价
+     */
+    private Double costPrice;
+    /**
+     * 购买数量
+     */
+    private Integer number;
+    /**
+     * 是否是赠品 2是,其他否
+     */
+    private Integer productType;
+    /**
+     * 增量
+     */
+    private Integer step;
+    /**
+     * 起订量
+     */
+    private Integer minBuyNumber;
+    /**
+     * 最大购买量
+     */
+    private Integer maxBuyNumber;
+    /**
+     * 商品上架状态:0逻辑删除 1待审核 2已上架 3已下架 8审核未通过 9已冻结
+     */
+    private Integer validFlag;
+    /**
+     * 活动状态:1有效,0失效
+     */
+    private Integer actStatus;
+    /**
+     * 启用阶梯价格标识:1是,0否
+     */
+    private Integer ladderPriceFlag;
+    /**
+     * 库存
+     */
+    private Integer stock;
+    /**
+     * 购物车失效状态:0有效,1后台删除的,2冻结的,3下架,4售罄 >7库存不足,5价格仅会员可见,6未公开价格
+     */
+    private Integer status;
+    /**
+     * 阶梯价
+     */
+    List<LadderPriceVo> ladderPrices;
+    /**
+     * 促销活动
+     */
+    private PromotionsVo promotions;
+    /**
+     * 商品的类别:1正常商品(默认),2二手商品
+     */
+    private String productCategory;
+    /**
+     * 商品货号
+     */
+    private String productCode;
+    /**
+     * 商品是否默认选中
+     */
+    private Boolean productsChecked = false;
+    /**
+     * 成本大于复购价 或 当前机构价小于复购价
+     */
+    private Boolean repurchasePriceState = false;
+    /**
+     * 是否含税 0不含税,1含税,2未知
+     */
+    private String includedTax;
+    /**
+     * 发票类型(基于是否含税基础) 1增值税票,2普通票, 3不能开票
+     */
+    private String invoiceType;
+    /**
+     * 机构税率
+     */
+    private BigDecimal taxRate;
+    /**
+     * 用户身份: 2-会员机构, 4-普通机构
+     */
+    private Integer userIdentity;
+    /**
+     * 是否启用详聊,1不开启,2开启(开启详聊不展示交易价)
+     */
+    private Integer detailTalkFlag;
+    /**
+     * 内部商品名称
+     */
+    private String aliasName;
+    /**
+     * 市场价
+     */
+    private Double normalPrice;
+    /**
+     * 所在分类名称
+     */
+    private String typeName;
+    /**
+     * 供应商主推商品标志 0否 1是
+     */
+    private Integer featuredFlag;
+    /**
+     * 商品属性:1产品,2仪器
+     */
+    private Integer commodityType;
+    /**
+     * 一级分类ID
+     */
+    private Integer bigTypeId;
+    /**
+     * 二级分类Id
+     */
+    private Integer smallTypeId;
+    /**
+     * 三级分类Id
+     */
+    private Integer tinyTypeId;
+    /**
+     * 初始化商品数量0,提供前端使用(组合商品)
+     */
+    private Integer initProductNum;
+    /**
+     * 初始化商品总金额,提供前端使用(组合商品)
+     */
+    private Double totalPrice;
+    /**
+     * 再次购买价格
+     */
+    private Double discountPrice;
+    /**
+     * 是否复购 0否 1是
+     */
+    private Integer repurchaseFlag;
+    /**
+     * 判断是否勾选(前端使用)
+     */
+    private Boolean isChecked = false;
+
+    /**
+     * 优惠券标识是否显示
+     */
+    private Boolean couponsLogo = false;
+
+    /**
+     * 超级会员优惠商品标识:0不是,1是
+     */
+    private Integer svipProductFlag;
+
+    /**
+     * 超级会员优惠价标签
+     */
+    private String svipPriceTag;
+}

+ 78 - 0
src/main/java/com/caimei365/user/model/vo/PromotionsVo.java

@@ -0,0 +1,78 @@
+package com.caimei365.user.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 促销活动
+ *
+ * @author : Charles
+ * @date : 2021/4/9
+ */
+@Data
+public class PromotionsVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private Integer id;
+    /**
+     * 促销名称
+     */
+    private String name;
+    /**
+     * 促销描述
+     */
+    private String description;
+    /**
+     * 分类: 1单品促销,2凑单促销,3店铺促销
+     */
+    private Integer type;
+    /**
+     * 促销方式:1优惠,2满减,3满赠
+     */
+    private Integer mode;
+    /**
+     * 优惠价/满减/满赠的设定价格(如满999赠商品)
+     */
+    private Double touchPrice;
+    /**
+     * 减免价格
+     */
+    private Double reducedPrice;
+    /**
+     * 开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date beginTime;
+    /**
+     * 结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+    /**
+     * 时效:1永久,2区间过期,其它无效
+     */
+    private Integer status;
+    /**
+     * 店铺id(店铺促销时供应商ID)
+     */
+    private Integer shopId;
+    /**
+     * 商品id
+     */
+    private Integer productId;
+    /**
+     * 主订单id
+     */
+    private Integer orderId;
+    /**
+     * 该优惠下商品
+     */
+    private List<ProductItemVo> productList;
+    /**
+     * 该优惠下赠品品
+     */
+    private List<ProductItemVo> giftList;
+}

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

@@ -47,13 +47,13 @@ public interface BaseService {
     /**
      * 绑定账号,发送短信验证
      *
-     * @param mobile           运营人员手机号
-     * @param bindMobile       机构手机号
-     * @param userId           机构Id
-     * @param platformType     0:www,1:crm/h5,2:小程序
-     * @param isCheckCaptcha   是否检查图片验证码,0:检查,1:不检查
-     * @param imgCode          图片验证码
-     * @param token            图片验证码token
+     * @param mobile         运营人员手机号
+     * @param bindMobile     机构手机号
+     * @param userId         机构Id
+     * @param platformType   0:www,1:crm/h5,2:小程序
+     * @param isCheckCaptcha 是否检查图片验证码,0:检查,1:不检查
+     * @param imgCode        图片验证码
+     * @param token          图片验证码token
      */
     ResponseJson getBindSmsCode(String mobile, String bindMobile, Integer userId, Integer platformType, Integer isCheckCaptcha, String imgCode, String token);
 
@@ -69,12 +69,12 @@ public interface BaseService {
      * 修改密码(找回密码)
      *
      * @param passwordDto {
-     *                           mobileOrEmail 手机号或邮箱
-     *                           smsCode       短信验证码(旧:activationCode)
-     *                           password      密码
-     *                           confirmPwd    确认密码
-     *                           status        1:手机号找回,2:邮箱找回
-     * }
+     *                    mobileOrEmail 手机号或邮箱
+     *                    smsCode       短信验证码(旧:activationCode)
+     *                    password      密码
+     *                    confirmPwd    确认密码
+     *                    status        1:手机号找回,2:邮箱找回
+     *                    }
      */
     ResponseJson updatePassword(PasswordDto passwordDto);
 
@@ -82,16 +82,16 @@ public interface BaseService {
      * 更换手机号
      *
      * @param mobileDto {
-     *                      mobile          旧手机号(contractMobile)
-     *                      smsCode         旧手机短信验证码(mobileCode)
-     *                      newMobile       新手机号(contractMobile2)
-     *                      newSmsCode      新手机短信验证码(mobileCode)
-     *                      userId          用户Id
-     * }
+     *                  mobile          旧手机号(contractMobile)
+     *                  smsCode         旧手机短信验证码(mobileCode)
+     *                  newMobile       新手机号(contractMobile2)
+     *                  newSmsCode      新手机短信验证码(mobileCode)
+     *                  userId          用户Id
+     *                  }
      */
     ResponseJson updateMobile(MobileDto mobileDto);
 
-    ResponseJson findVipHistory(Integer userId,Integer pageNum,Integer pageSize);
+    ResponseJson findVipHistory(Integer userId, Integer pageNum, Integer pageSize);
 
-    ResponseJson<Map<String, Object>> superCenter(Integer userId);
+    ResponseJson<Map<String, Object>> superCenter(Integer userId, Integer source);
 }

+ 7 - 7
src/main/java/com/caimei365/user/service/RegisterService.java

@@ -144,13 +144,13 @@ public interface RegisterService {
      */
     ResponseJson<ClubTemporaryVo> temporaryData(Integer id);
 
-    /**
-     * 购买超级会员
-     * @param superVipDto
-     * @param headers
-     * @return
-     */
-    ResponseJson superVipUpgrade(SuperVipDto superVipDto, HttpHeaders headers);
+//    /**
+//     * 购买超级会员
+//     * @param superVipDto
+//     * @param headers
+//     * @return
+//     */
+//    ResponseJson superVipUpgrade(SuperVipDto superVipDto, HttpHeaders headers);
 
     /**
      * 采美豆购买超级会员

+ 20 - 14
src/main/java/com/caimei365/user/service/impl/BaseServiceImpl.java

@@ -1,6 +1,7 @@
 package com.caimei365.user.service.impl;
 
 import com.caimei365.user.components.CommonService;
+import com.caimei365.user.feign.VipProductFeign;
 import com.caimei365.user.mapper.BaseMapper;
 import com.caimei365.user.mapper.LoginMapper;
 import com.caimei365.user.mapper.SuperVipMapper;
@@ -12,10 +13,7 @@ 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;
-import com.caimei365.user.model.vo.UserLoginVo;
-import com.caimei365.user.model.vo.UserVo;
+import com.caimei365.user.model.vo.*;
 import com.caimei365.user.service.BaseService;
 import com.caimei365.user.utils.*;
 import com.github.pagehelper.PageHelper;
@@ -26,10 +24,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;
+import java.util.*;
 
 
 /**
@@ -53,6 +48,8 @@ public class BaseServiceImpl implements BaseService {
     private LoginMapper loginMapper;
     @Value("${spring.cloud.config.profile}")
     private String profile;
+    @Resource
+    private VipProductFeign vipFeign;
 
     /**
      * 获取图片验证码
@@ -468,19 +465,28 @@ public class BaseServiceImpl implements BaseService {
         map.put("history", historyPageInfo);
         //查过期时间
         SuperVipDto vipEnd = findEnd(userId);
-        map.put("vip",vipEnd);
+        map.put("vip", vipEnd);
         return ResponseJson.success(map);
     }
 
+
+
     @Override
-    public ResponseJson<Map<String, Object>> superCenter(Integer userId) {
+    public ResponseJson<Map<String, Object>> superCenter(Integer userId, Integer source) {
         //1.封装vipDto看超级会员是否过期,0未开通,-1过期,1未过期
         SuperVipDto vipEnd = findEnd(userId);
         Map<String, Object> map = new HashMap(3);
         map.put("vip", vipEnd);
-        //todo 2.查专属优惠卷
-
-        //todo 3.查优惠商品
+        //2.查当月vip优惠卷
+        Integer useTime = Calendar.getInstance().get(Calendar.MONTH);
+        List<CouponVo> vipCoupon = vipMapper.findVipCoupon(userId, useTime + 1);
+        List<Integer> couponGet = vipMapper.findCouponGet(userId, useTime + 1);
+        vipCoupon.forEach(couponVo -> couponVo.setGetFlag(couponGet.contains(couponVo.getCouponId()) ? 1 : 0));
+        map.put("coupon", vipCoupon);
+        //3.查优惠商品
+        ResponseJson<Map<String, Object>> svipProductPage = vipFeign.getSvipProductPage(userId, source, 1, 10);
+        PaginationVo<ProductItemVo> page = (PaginationVo<ProductItemVo>) svipProductPage.getData().get("svipProductPage");
+        map.put("product",page);
         return ResponseJson.success(map);
     }
 
@@ -497,7 +503,7 @@ public class BaseServiceImpl implements BaseService {
             if (endTime == null) {
                 superVipDto.setVipFlag(-1);
                 superVipDto.setEndTime(superVip.getEndTime());
-            }else{
+            } else {
                 superVipDto.setVipFlag(1);
                 superVipDto.setEndTime(superVip.getEndTime());
             }

+ 9 - 9
src/main/java/com/caimei365/user/service/impl/RegisterServiceImpl.java

@@ -950,15 +950,15 @@ public class RegisterServiceImpl implements RegisterService {
         return ResponseJson.success(clubTemporary);
     }
 
-    /**
-     * 现金买超级会员
-     */
-    @Override
-    public ResponseJson superVipUpgrade(SuperVipDto superVipDto, HttpHeaders headers) {
-
-
-        return null;
-    }
+//    /**
+//     * 现金买超级会员
+//     */
+//    @Override
+//    public ResponseJson superVipUpgrade(SuperVipDto superVipDto, HttpHeaders headers) {
+//
+//
+//        return null;
+//    }
 
     /**
      * 采美豆买超级会员

+ 12 - 4
src/main/resources/mapper/SuperVipMapper.xml

@@ -107,13 +107,12 @@
 
 
     <select id="findVipCoupon" resultType="com.caimei365.user.model.vo.CouponVo">
-        SELECT cc.`id` AS "couponId",
+        SELECT cc.`id` AS 'couponId',
         cc.`couponAmount`,
         cc.`touchPrice`,
         cc.`startDate`,
         cc.`endDate`,
         cc.`couponType`,
-        cc.`userId`,
         cc.`shopId`,
         cc.`productType`,
         cc.`categoryType`
@@ -121,10 +120,19 @@
         INNER JOIN cm_svip_coupon cs ON cs.couponId = cc.id
         WHERE cc.delFlag = 0
         AND cc.status != 2
-        <if test="useTime != null and userTime != ''">
-            AND cs.useTime=#{userTime}
+        <if test="useTime != null and useTime != ''">
+            AND cs.useTime=#{useTime}
         </if>
         ORDER BY cs.created_time DESC
     </select>
 
+    <select id="findCouponGet" resultType="java.lang.Integer">
+        SELECT a.couponId
+        FROM cm_coupon_club a
+        INNER JOIN cm_svip_coupon cs ON a.couponId = cs.couponId
+        WHERE userId = #{userId}
+        AND useTime = #{useTime}
+    </select>
+
+
 </mapper>

+ 2 - 5
src/test/java/com/caimei365/user/UserApplicationTests.java

@@ -34,11 +34,8 @@ class UserApplicationTests {
 //    @Test
 //    public static void main(String[] args) {
 //        Calendar cal = Calendar.getInstance();
-//        Date now = new Date();
-//        System.out.println(now);
-//        cal.setTime(now);
-//        cal.add(Calendar.MONTH,1);
-//        System.out.println(cal.getTime());
+//        System.out.println(cal.get(Calendar.MONTH));
+//
 //    }
 //    @Resource
 //    SuperVipMapper mapper;