From c678894e37d15cca116d962eba5c107c99176945 Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期四, 20 七月 2023 17:39:05 +0800
Subject: [PATCH] 开始上课的主页中课包列表展示;bmi工具类匹配对应的身体状态

---
 cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/WeeksOfCourseRest.java     |   18 ++++
 cloud-server-course/src/main/java/com/dsh/course/util/DateTimeHelper.java                              |   13 +++
 cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java              |   42 ++++++++--
 cloud-server-account/src/main/java/com/dsh/account/util/BMIBodyUtil.java                               |   21 +++++
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java        |   51 +++++++++---
 cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassInfoVo.java   |    6 
 cloud-server-course/src/main/java/com/dsh/course/feignclient/model/CourseOfStoreVo.java                |   11 --
 cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuPhysicalVo.java |    2 
 cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java         |    2 
 cloud-server-course/src/main/java/com/dsh/course/feignclient/model/WeeksOfCourseRest.java              |   18 ++++
 cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java                  |    2 
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java               |   21 +++-
 cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java                        |    5 +
 13 files changed, 168 insertions(+), 44 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
index 5079f5f..d757092 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
@@ -6,9 +6,9 @@
 import com.dsh.account.feignclient.competition.model.PurchaseRecordVo;
 import com.dsh.account.model.vo.classDetails.AppointmentRecordVo;
 import com.dsh.account.model.vo.classDetails.ClasspaymentRequest;
+import com.dsh.account.model.vo.classDetails.CourseVenue;
 import com.dsh.account.model.vo.classDetails.classInsVo.*;
 import com.dsh.account.model.vo.commentDetail.StuCommentsVo;
-import com.dsh.account.model.vo.exploreDetail.LonLatRequest;
 import com.dsh.account.model.vo.medalDetail.GongVo;
 import com.dsh.account.model.vo.medalDetail.StuMedalVo;
 import com.dsh.account.model.vo.sourceDetail.CouponStuAvailableVo;
@@ -18,10 +18,7 @@
 import com.dsh.account.service.StudentHonorService;
 import com.dsh.account.service.TAppUserService;
 import com.dsh.account.service.TStudentService;
-import com.dsh.account.util.DateUtil;
-import com.dsh.account.util.ResultUtil;
-import com.dsh.account.util.TokenUtil;
-import com.dsh.account.util.ToolUtil;
+import com.dsh.account.util.*;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -29,7 +26,10 @@
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -68,17 +68,42 @@
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<ClassInfoVo> queryCouponRecord(LonLatRequest lonLatRequest){
+    public ResultUtil<ClassInfoVo> queryCouponRecord(){
         try {
             Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
             if(null == userIdFormRedis){
                 return ResultUtil.tokenErr();
             }
-            return ResultUtil.success(tappuService.queryUserOfStus(userIdFormRedis,lonLatRequest.getLongitude(),lonLatRequest.getLatitude()));
+            return ResultUtil.success(tappuService.queryUserOfStus(userIdFormRedis));
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
         }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/api/startCource/weeksOfCourseDetails")
+    @ApiOperation(value = "上课首页-课程列表", tags = {"APP-开始上课"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(value = "查询时间yyyy-MM-dd", name = "time", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "用户经度", name = "longitude", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "用户纬度", name = "latitude", required = true, dataType = "string"),
+    })
+    public ResultUtil<List<CourseVenue>> queryWeeksOfClassInfo(String time,Integer stuId, String longitude, String latitude){
+        try {
+            Integer appUserId = tokenUtil.getUserIdFormRedis();
+            if(null == appUserId){
+                return ResultUtil.tokenErr();
+            }
+            return ResultUtil.success(tappuService.queryWeekOfCourseDetails(appUserId,stuId,time,longitude,latitude));
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+
     }
 
 
@@ -94,6 +119,7 @@
         TStudent tStudent = istuService.getById(stuID);
         if (ToolUtil.isNotEmpty(tStudent)){
             vo.setBmi(tStudent.getBmi());
+            vo.setBodyStatus(BMIBodyUtil.getBodyStatus(tStudent.getBmi()));
             vo.setUrl(tStudent.getLateralSurface());
             vo.setHeight(tStudent.getHeight());
             vo.setWeight(tStudent.getWeight());
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
index cc350a7..b5e5e0b 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
@@ -17,7 +17,7 @@
 
 
     @PostMapping("/base/coursePack/storeOfCourse")
-    List<CourseOfStoreVo> getStoreOfCourses();
+    List<CourseOfStoreVo> getStoreOfCourses(@RequestBody WeeksOfCourseRest courseRest);
 
     @PostMapping("/base/coursePack/stuOfCourses")
     StuWithCoursesListVo getStuOfCoursesDetails(@RequestBody GetStuOfCoursesDetails getStuOfCoursesDetails);
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/WeeksOfCourseRest.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/WeeksOfCourseRest.java
new file mode 100644
index 0000000..7793418
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/WeeksOfCourseRest.java
@@ -0,0 +1,18 @@
+package com.dsh.account.feignclient.course.model;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class WeeksOfCourseRest {
+
+    @ApiModelProperty(value = "学员id")
+    private Integer stuId;
+
+    @ApiModelProperty(value = "用户id")
+    private Integer appUserId;
+
+    @ApiModelProperty(value = "时间 ")
+    private String time;
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassInfoVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassInfoVo.java
index 0ebd4b9..728e10c 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassInfoVo.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassInfoVo.java
@@ -3,7 +3,6 @@
 
 import com.dsh.account.model.vo.classDetails.ExerciseVideo;
 import com.dsh.account.model.vo.classDetails.RegisteredCourse;
-import com.dsh.account.model.vo.classDetails.WeekedCourse;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -42,6 +41,9 @@
     @ApiModelProperty(value = "bmi指数")
     private Double bmi;
 
+    @ApiModelProperty(value = "身体状态")
+    private String bodyStatus;
+
     @ApiModelProperty(value = "课包-已报名课程列表")
     private List<RegisteredCourse> courseList;
 
@@ -54,8 +56,6 @@
     @ApiModelProperty(value = "剩余学时数")
     private Integer remainingNums;
 
-    @ApiModelProperty(value = "课包-本周可预约课包列表")
-    private List<WeekedCourse> weekCourseList;
 
     @ApiModelProperty(value = "课程-课后练习视频2个列表")
     private List<ExerciseVideo> exerciseVideoList;
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuPhysicalVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuPhysicalVo.java
index e07a661..2b8badc 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuPhysicalVo.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuPhysicalVo.java
@@ -12,6 +12,8 @@
     private Double weight;
     @ApiModelProperty(value = "BMI参数")
     private Double bmi;
+    @ApiModelProperty(value = "身体状态")
+    private String bodyStatus;
     @ApiModelProperty(value = "图片链接")
     private String url;
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
index f269beb..6dc643d 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
@@ -6,6 +6,7 @@
 import com.dsh.account.model.JoinPlayPaiVo;
 import com.dsh.account.model.LoginSMSCodeVo;
 import com.dsh.account.model.LoginWeChatVo;
+import com.dsh.account.model.vo.classDetails.CourseVenue;
 import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo;
 import com.dsh.account.model.vo.userBenefitDetail.*;
 import com.dsh.account.util.ResultUtil;
@@ -24,7 +25,7 @@
  */
 public interface TAppUserService extends IService<TAppUser> {
 
-    ClassInfoVo queryUserOfStus(Integer id,String longitude,String latitude);
+    ClassInfoVo queryUserOfStus(Integer id);
 
 
     /**
@@ -133,4 +134,6 @@
     ResultUtil exchangeAddPaymentCallback(String code, String orderNumber,Integer payType);
 
     List<StoreResponse> queryStoresOfExchange(Integer goodsType,Integer pointsMerId);
+
+    List<CourseVenue> queryWeekOfCourseDetails(Integer appUserId ,Integer stuId, String time, String longitude, String latitude);
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index c00f7e4..0202bb2 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -41,7 +41,6 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
@@ -129,7 +128,7 @@
     private SiteClient stClient;
 
     @Override
-    public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) {
+    public ClassInfoVo queryUserOfStus(Integer id) {
         TAppUser tAppUser = this.baseMapper.selectById(id);
         ClassInfoVo classInfoVo = new ClassInfoVo();
         if (ToolUtil.isNotEmpty(tAppUser)){
@@ -148,6 +147,7 @@
                 classInfoVo.setHeight(tStudent.getHeight());
                 classInfoVo.setWeight(tStudent.getWeight());
                 classInfoVo.setBmi(tStudent.getBmi());
+                classInfoVo.setBodyStatus(BMIBodyUtil.getBodyStatus(tStudent.getBmi()));
 
                 List<RegisteredCourse> courseList = new ArrayList<>();
 //                总学时数
@@ -174,9 +174,6 @@
                 classInfoVo.setDeductedNums(deduct);
                 classInfoVo.setRemainingNums(remain);
 
-                List<CourseOfStoreVo> storeOfCourses = paymentClient.getStoreOfCourses();
-                classInfoVo.setWeekCourseList(dealDatas(storeOfCourses,longitude,latitude));
-
                 List<ExerciseVideo> videos = new ArrayList<>();
 
                 classInfoVo.setExerciseVideoList(videos);
@@ -198,7 +195,7 @@
      * @param latitude
      * @return
      */
-    public List<WeekedCourse> dealDatas(List<CourseOfStoreVo> storeOfCourses,String longitude ,@RequestBody String latitude){
+    public List<WeekedCourse> dealDatas(List<CourseOfStoreVo> storeOfCourses, String longitude , String latitude){
         List<WeekedCourse> weekedCourses = new ArrayList<>();
         for (int i = 1; i < 8; i++) {
             WeekedCourse weekedCourse = new WeekedCourse();
@@ -1150,4 +1147,16 @@
     }
 
 
+    @Override
+    public List<CourseVenue> queryWeekOfCourseDetails(Integer appUserId ,Integer stuId, String time,String longitude,String latitude) {
+        WeeksOfCourseRest weeksOfCourseRest = new WeeksOfCourseRest();
+        weeksOfCourseRest.setTime(time);
+        weeksOfCourseRest.setStuId(stuId);
+        weeksOfCourseRest.setAppUserId(appUserId);
+        paymentClient.getStoreOfCourses(weeksOfCourseRest);
+// TODO: 2023/7/20 查询课包周课包列表 
+        return null;
+    }
+
+
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/BMIBodyUtil.java b/cloud-server-account/src/main/java/com/dsh/account/util/BMIBodyUtil.java
new file mode 100644
index 0000000..b83bc6e
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/util/BMIBodyUtil.java
@@ -0,0 +1,21 @@
+package com.dsh.account.util;
+
+
+
+public class BMIBodyUtil {
+
+    public static String getBodyStatus(double bmi) {
+        if (bmi < 18.5) {
+            return "偏瘦";
+        } else if (bmi >= 18.5 && bmi < 24) {
+            return "正常";
+        } else if (bmi >= 24 && bmi < 28) {
+            return "偏胖";
+        } else if (bmi >= 28 && bmi < 32) {
+            return "肥胖";
+        } else {
+            return "非常肥胖";
+        }
+    }
+
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
index 346ebf8..2d21968 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -33,11 +33,9 @@
 import javax.servlet.http.HttpServletResponse;
 import java.io.PrintWriter;
 import java.math.BigDecimal;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Api
@@ -118,20 +116,43 @@
      * 获取发布的 课包列表
      */
     @PostMapping("/base/coursePack/storeOfCourse")
-    public List<CourseOfStoreVo> getStuCourseWithStores(){
-        List<CourseOfStoreVo> courseOfStoreVos = tcpService.queryStoreOfCourse();
-        if (courseOfStoreVos.size() > 0){
-            for (CourseOfStoreVo courseOfStoreVo : courseOfStoreVos) {
-                String[] split = courseOfStoreVo.getClassWeeks().split(";");
-                List<Integer> integers = new ArrayList<>();
-                for (String s : split) {
-                    int num = Integer.parseInt(s);
-                    integers.add(num);
+    public List<CourseOfStoreVo> getStuCourseWithStores(@RequestBody WeeksOfCourseRest courseRest){
+        List<CourseOfStoreVo> course = new ArrayList<>();
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        try {
+            Date parse = simpleDateFormat.parse(courseRest.getTime());
+            List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
+                    .eq("appUserId",courseRest.getAppUserId() )
+                    .eq("studentId",courseRest.getStuId())
+                    .eq("payStatus",2)
+                    .eq("status",1)
+                    .eq("state",1)
+                    .groupBy("coursePackageId"));
+            if (list.size() >  0){
+                for (TCoursePackagePayment tCoursePackagePayment : list) {
+                    TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId());
+//                    获取课程有效结束时间,判断 查询的日期parse 是否在有效期范围内
+                    Date expirationDate = DateTimeHelper.getExpirationDate(tCoursePackagePayment.getInsertTime(),tCoursePackage.getValidDays());
+                    String classWeeks = tCoursePackage.getClassWeeks();
+                    if (expirationDate.after(parse) && StrUtils.dealStrToList(classWeeks).contains(DateTimeHelper.getDayOfWeek(parse))){
+                        CourseOfStoreVo storeVo = new CourseOfStoreVo();
+                        storeVo.setCourseId(tCoursePackage.getId());
+                        // TODO: 2023/7/20 查询课包对应门店信息
+//                        storeVo.setCourseName();
+//                        storeVo.setClassStartTime();
+//                        storeVo.setClassEndTime();
+//                        storeVo.setStoreId();
+//                        storeVo.setStoreName();
+//                        storeVo.setLat();
+//                        storeVo.setLon();
+                        course.add(storeVo);
+                    }
                 }
-                courseOfStoreVo.setClassWeekList(integers);
             }
+            return course;
+        } catch (ParseException e) {
+            return null;
         }
-        return tcpService.queryStoreOfCourse();
     }
 
 
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
index 3e180ec..7d47a56 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
@@ -19,7 +19,7 @@
     List<StuCourseResp> getStuCoursePayment();
 
     @PostMapping("/base/coursePack/storeOfCourse")
-    List<CourseOfStoreVo> getStoreOfCourses();
+    List<CourseOfStoreVo> getStoreOfCourses(@RequestBody WeeksOfCourseRest courseRest);
 
     @PostMapping("/base/coursePack/stuOfCourses")
     StuWithCoursesListVo getStuOfCoursesDetails(@RequestBody GetStuOfCoursesDetails getStuOfCoursesDetails);
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/CourseOfStoreVo.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/CourseOfStoreVo.java
index 3ef657c..7238916 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/CourseOfStoreVo.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/CourseOfStoreVo.java
@@ -3,8 +3,6 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.util.List;
-
 
 @Data
 public class CourseOfStoreVo {
@@ -21,21 +19,16 @@
     @ApiModelProperty(value = "课包结束时间")
     private String classEndTime;
 
-    @ApiModelProperty(value = "课包 周列表 分号隔开")
-    private String classWeeks;
-
     @ApiModelProperty(value = "门店id")
     private Integer storeId;
 
-    @ApiModelProperty(value = "门店名称")
-    private String storeName;
+    @ApiModelProperty(value = "门店详细地址")
+    private String storeAddress;
 
     @ApiModelProperty(value = "经度")
     private String lat;
 
     @ApiModelProperty(value = "纬度")
     private String lon;
-
-    private List<Integer> classWeekList;
 
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/WeeksOfCourseRest.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/WeeksOfCourseRest.java
new file mode 100644
index 0000000..fc38ce7
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/WeeksOfCourseRest.java
@@ -0,0 +1,18 @@
+package com.dsh.course.feignclient.model;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class WeeksOfCourseRest {
+
+    @ApiModelProperty(value = "学员id")
+    private Integer stuId;
+
+    @ApiModelProperty(value = "用户id")
+    private Integer appUserId;
+
+    @ApiModelProperty(value = "时间 yyyy-MM-dd")
+    private String time;
+
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/util/DateTimeHelper.java b/cloud-server-course/src/main/java/com/dsh/course/util/DateTimeHelper.java
index 017f6ac..a06b0d6 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/util/DateTimeHelper.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/util/DateTimeHelper.java
@@ -1789,5 +1789,18 @@
         return Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
     }
 
+    /**
+     * 获取有效期数的结束时间
+     * @param startTime 开始时间
+     * @param validPeriod 有效期数
+     * @return 结束时间
+     */
+    public static Date getExpirationDate(Date startTime, int validPeriod){
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(startTime);
+        calendar.add(Calendar.DAY_OF_MONTH, validPeriod);
+        return calendar.getTime();
+    }
+
 
 }

--
Gitblit v1.7.1