Переглянути джерело

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

huangct 8 роки тому
батько
коміт
c2b3386706

+ 74 - 16
donate-console/src/main/java/com/uas/console/donate/model/Activity.java

@@ -8,6 +8,7 @@ import com.uas.console.donate.util.CollectionUtils;
 import javax.persistence.*;
 import java.io.Serializable;
 import java.text.SimpleDateFormat;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.Set;
 
@@ -190,6 +191,12 @@ public class Activity implements Serializable{
     @Transient
     private Double amount;
 
+    /**
+     * 活动所处阶段(前台显示)
+     */
+    @Transient
+    private String stage;
+
     public Long getId() {
         return id;
     }
@@ -316,22 +323,6 @@ public class Activity implements Serializable{
         this.receivePerson = receivePerson;
     }
 
-    public Double getAmount() {
-        Double amount = 0d;
-        if (!CollectionUtils.isEmpty(this.getProjects())) {
-            for (Project project : this.getProjects()) {
-                if (null != project.getTotalAmount()) {
-                    amount += project.getTotalAmount();
-                }
-            }
-        }
-        return amount;
-    }
-
-    public void setAmount(Double amount) {
-        this.amount = amount;
-    }
-
     public Integer getSumconnect() {
         return sumconnect;
     }
@@ -424,4 +415,71 @@ public class Activity implements Serializable{
     public void setProjects(Set<Project> projects) {
         this.projects = projects;
     }
+
+    @SuppressWarnings("deprecation")
+    public String getStage() {
+        if (null == endTime || null == receiveStartTime || null == receiveEndTime) {
+            return "进行中";
+        }
+        Date date = new Date();
+        Calendar now = Calendar.getInstance();
+        now.set(Calendar.YEAR, date.getYear());
+        now.set(Calendar.MONTH, date.getMonth());
+        now.set(Calendar.DAY_OF_MONTH, date.getDate());
+        // 活动结束时间
+        Calendar end = Calendar.getInstance();
+        end.set(Calendar.YEAR, endTime.getYear());
+        end.set(Calendar.MONTH, endTime.getMonth());
+        end.set(Calendar.DAY_OF_MONTH, endTime.getDate());
+        // 开奖时间
+        Calendar opening = Calendar.getInstance();
+        if (luckyTime != null) {
+            opening.set(Calendar.YEAR, luckyTime.getYear());
+            opening.set(Calendar.MONTH, luckyTime.getMonth());
+            opening.set(Calendar.DAY_OF_MONTH, luckyTime.getDate());
+        }
+        // 开始兑奖时间
+        Calendar prize = Calendar.getInstance();
+        prize.set(Calendar.YEAR, receiveStartTime.getYear());
+        prize.set(Calendar.MONTH, receiveStartTime.getMonth());
+        prize.set(Calendar.DAY_OF_MONTH, receiveStartTime.getDate());
+        // 兑奖截止时间
+        Calendar over = Calendar.getInstance();
+        over.set(Calendar.YEAR, receiveEndTime.getYear());
+        over.set(Calendar.MONTH, receiveEndTime.getMonth());
+        over.set(Calendar.DAY_OF_MONTH, receiveEndTime.getDate());
+        if (now.compareTo(end) > 0) {
+            return "已结束";
+        } else if (now.compareTo(over) > 0) {
+            return "进行中";
+        } else if (now.compareTo(prize) > 0) {
+            return "兑奖中";
+        } else if (null != luckyTime && now.compareTo(opening) > 0) {
+            return "待开奖";
+        }
+        return "进行中";
+    }
+
+    public void setStage(String stage) {
+        this.stage = stage;
+    }
+
+    public Double getAmount() {
+        if (null != amount) {
+            return amount;
+        }
+        Double totalAmount = 0d;
+        if (!CollectionUtils.isEmpty(this.getProjects())) {
+            for (Project project : this.getProjects()) {
+                if (null != project.getTotalAmount()) {
+                    totalAmount += project.getTotalAmount();
+                }
+            }
+        }
+        return totalAmount;
+    }
+
+    public void setAmount(Double amount) {
+        this.amount = amount;
+    }
 }

+ 7 - 6
donate-console/src/main/webapp/resources/view/activity/activity_launch.html

@@ -680,7 +680,7 @@
 
                             <span class="error" ng-show="submited && !activity.startTime">*请选择活动开始时间</span>
                             <span class="error" ng-show="submited && !activity.endTime">*请选择活动结束时间</span>
-                            <span class="error" ng-show="submited && activity.startTime && activity.endTime && activity.startTime.getTime() == activity.endTime.getTime()">*活动开始时间与结束时间不能相同</span>
+                            <span class="error" ng-show="submited && activity.startTime && activity.endTime && activity.startTime == activity.endTime">*活动开始时间与结束时间不能相同</span>
                         </div>
                     </div>
                     <div class="form-group clearfix">
@@ -706,7 +706,7 @@
 
                             <span class="error" ng-show="submited && !activity.receiveStartTime">*请选择开始兑奖时间</span>
                             <span class="error" ng-show="submited && !activity.receiveEndTime">*请选择截止兑奖时间</span>
-                            <span class="error" ng-show="submited && activity.receiveStartTime && activity.receiveEndTime && activity.receiveStartTime.getTime() == activity.receiveEndTime.getTime()">*兑奖开始时间与截止时间不能相同</span>
+                            <span class="error" ng-show="submited && activity.receiveStartTime && activity.receiveEndTime && activity.receiveStartTime == activity.receiveEndTime">*兑奖开始时间与截止时间不能相同</span>
                         </div>
                     </div>
                     <div class="form-group clearfix">
@@ -774,7 +774,7 @@
                                     <span class="error" ng-show="submited && activityForm.awardAmount.$error.pattern">*活动奖品的数量不正确</span>
                                 </div>
                                 <div class="award-detail clearfix">
-                                    <span class="fl">奖品{{award.awardLevel}}等级</span>
+                                    <span class="fl">奖品等级</span>
                                     <input type="text" ng-model="award.awardLevel" maxlength="10" class="fl form-control" required
                                                        ng-class="{'showEmpty' : submited && !award.awardLevel}"/>
 
@@ -790,7 +790,7 @@
                                 </div>
                                 <div class="uploadImg">
                                     上传图片
-                                    <input type="file" ng-multiple="false" accept="image/*" id="award{{$index}}" ng-model="award.prizeImgs" ng-file-select ng-change="uploadPrizeImg(award, $index)">
+                                    <input type="file" ng-multiple="false" accept="image/*" id="award{{$index}}" ng-model="award.prizeImgs" ng-file-select ng-change="uploadPrizeImg(award, $index)" ng-required="!award.img">
                                 </div>
                                 <div ng-if="null != award.img" class="showImage">
                                     <img  src="{{award.img}}">
@@ -800,7 +800,7 @@
                                     </span>
                                 </div>
 
-                                <span class="error" ng-show="submited && !award.img">*请上传活动奖品图片</span>
+                                <span class="error" ng-show="submited && !award.img && !award.prizeImgs">*请上传活动奖品图片</span>
                             </div>
                             <div class="add-price">
                                 <a ng-click="addAward()">+添加奖品</a>
@@ -821,7 +821,8 @@
                                 <span>+选择项目</span>
                             </div>
                             <div class="button">
-                                <button ng-click="submit(true, activityForm.$invalid || !activity.summary || !actImgUrl || !bannerUrl)" class="launch">发布</button>
+                                <button ng-click="submit(true, activityForm.$invalid || !activity.summary || !actImgUrl ||
+                                !bannerUrl || !awards || !selectedProjects)" class="launch">发布</button>
                                 <button ng-click="submit(false)" ng-disabled="!activityForm.$dirty" class="draft">存为草稿</button>
                                 <span style="color: #5078cb;" class="clear" ng-click="clearActivity()">清空内容</span>
                             </div>

+ 9 - 9
donate-console/src/main/webapp/resources/view/activity/activity_list.html

@@ -837,18 +837,18 @@
                             <td></td>
                             <td>
                                 <div class="name clearfix">
-                                    <p class="fl" ng-click="showDetail(activity.id)">{{activity.name}}</p>
+                                    <p class="fl" ng-click="showDetail(activity.id)" title="查看详情">{{activity.name}}</p>
                                     <div class="fl" ng-if="active == 'done'"><a ng-click="openAward(activity.id)" class="open-award">开奖</a></div>
                                 </div>
                             </td>
-                            <td>{{activity.sumconnect}}</td>
-                            <td>{{activity.startTime | date :'yyyy-MM-dd HH:mm:ss'}}</td>
-                            <td>{{activity.luckyTime | date :'yyyy-MM-dd HH:mm:ss'}}</td>
-                            <td ng-if="active == 'end'">{{activity.endTime | date :'yyyy-MM-dd HH:mm:ss'}}</td>
-                            <td>{{activity.joinedPerson | number}}人</td>
-                            <td ng-if="active == 'end'">{{activity.luckyPerson | number}}人</td>
-                            <td ng-if="active == 'end'">{{activity.receivePerson | number}}人</td>
-                            <td ng-if="active != 'waiting'">{{activity.amount | number}}元</td>
+                            <td>{{activity.sumconnect || 0}}</td>
+                            <td>{{activity.startTime || '无' | date :'yyyy-MM-dd'}}</td>
+                            <td>{{activity.luckyTime || '无' | date :'yyyy-MM-dd'}}</td>
+                            <td ng-if="active == 'end'">{{activity.endTime || '无' | date :'yyyy-MM-dd'}}</td>
+                            <td>{{activity.joinedPerson || 0 | number}}人</td>
+                            <td ng-if="active == 'end'">{{activity.luckyPerson || 0 | number}}人</td>
+                            <td ng-if="active == 'end'">{{activity.receivePerson || 0 | number}}人</td>
+                            <td ng-if="active != 'waiting'">{{activity.amount || 0 | number:2}}元</td>
                             <td>{{activity.person}}</td>
                             <td></td>
                         </tr>

+ 1 - 1
donate-console/src/main/webapp/resources/view/project/project_list_finance.html

@@ -807,7 +807,7 @@
                                         <!--<div><span>编辑</span></div>-->
                                     </div>
                                 </td>
-                                <td>{{project.submitTime | date:'yyyy-MM-dd HH:mm:ss'}}</td>
+                                <td>{{project.submitTime | date:'yyyy-MM-dd'}}</td>
                                 <td>{{project.orgName}}</td>
                                 <td>{{project.target}}元</td>
                                 <td>{{project.amount}}元 <br/>({{project.amount * 100 / project.target}}%)</td>

+ 2 - 2
donate-console/src/main/webapp/resources/view/project/project_list_management.html

@@ -823,8 +823,8 @@
                                     </div>
                                 </td>
                                 <td>{{project.area}}</td>
-                                <td>{{project.submitTime | date:'yyyy-MM-dd HH:mm:ss'}}</td>
-                                <td>{{project.modifyTime | date:'yyyy-MM-dd HH:mm:ss'}}</td>
+                                <td>{{project.submitTime | date:'yyyy-MM-dd'}}</td>
+                                <td>{{project.modifyTime | date:'yyyy-MM-dd'}}</td>
                                 <td>{{project.orgName}}</td>
                                 <td>{{project.totalCost / project.totalAmount * 100 || 87.6}}%</td>
                                 <td></td>

+ 1 - 1
donate-console/src/main/webapp/resources/view/user/organization_list.html

@@ -579,7 +579,7 @@
                             </td>
                             <td>{{org.fullTimePopulation + org.partTimePopulation + org.voluntaryPopulation | number}}人</td>
                             <td ng-if="active == 'unaudited'">
-                                {{org.submitTime | date : 'yyyy-MM-dd HH:mm:ss'}}
+                                {{org.submitTime | date : 'yyyy-MM-dd'}}
                             </td>
                             <td ng-if="active == 'unaudited'"></td>
                             <td ng-if="active != 'unaudited'"></td>

+ 7 - 5
donate-service/src/main/java/com/uas/service/donate/model/Activity.java

@@ -416,7 +416,7 @@ public class Activity implements Serializable{
 
     @SuppressWarnings("deprecation")
     public String getStage() {
-        if (null == endTime || null == luckyTime || null == receiveStartTime || null == receiveEndTime) {
+        if (null == endTime || null == receiveStartTime || null == receiveEndTime) {
             return "进行中";
         }
         Date date = new Date();
@@ -431,9 +431,11 @@ public class Activity implements Serializable{
         end.set(Calendar.DAY_OF_MONTH, endTime.getDate());
         // 开奖时间
         Calendar opening = Calendar.getInstance();
-        opening.set(Calendar.YEAR, luckyTime.getYear());
-        opening.set(Calendar.MONTH, luckyTime.getMonth());
-        opening.set(Calendar.DAY_OF_MONTH, luckyTime.getDate());
+        if (luckyTime != null) {
+            opening.set(Calendar.YEAR, luckyTime.getYear());
+            opening.set(Calendar.MONTH, luckyTime.getMonth());
+            opening.set(Calendar.DAY_OF_MONTH, luckyTime.getDate());
+        }
         // 开始兑奖时间
         Calendar prize = Calendar.getInstance();
         prize.set(Calendar.YEAR, receiveStartTime.getYear());
@@ -450,7 +452,7 @@ public class Activity implements Serializable{
             return "进行中";
         } else if (now.compareTo(prize) > 0) {
             return "兑奖中";
-        } else if (now.compareTo(opening) > 0) {
+        } else if (null != luckyTime && now.compareTo(opening) > 0) {
             return "待开奖";
         }
         return "进行中";

+ 3 - 3
donate-service/src/main/webapp/resources/view/project/donationsOver.html

@@ -186,11 +186,11 @@
                 </div>
             </div>
             <!-- 有对应的活动,且已登录 -->
-            <div ng-if="isAuthed" class="txt">捐款成功后已自动参与【<a style="margin-left: 0;" href="/activity#/detail/{{relatedActivity.id}}" target="_blank"><span ng-bind="relatedActivity.name"></span></a>】活动,将有机会获得丰厚奖品。<a href="/activity#/detail/{{relatedActivity.id}}" target="_blank">立即查看</a></div>
+            <div ng-if="isAuthed && relatedActivity" class="txt">捐款成功后已自动参与【<a style="margin-left: 0;" href="/activity#/detail/{{relatedActivity.id}}" target="_blank"><span ng-bind="relatedActivity.name"></span></a>】活动,将有机会获得丰厚奖品。<a href="/activity#/detail/{{relatedActivity.id}}" target="_blank">立即查看</a></div>
             <!--TODO 有对应的活动,未登录,未注册 -->
-            <div ng-if="!isAuthed && !projectRecodeId" class="txt">捐款成功,<span ng-click="loginAfterDonate(projectRecode.id)" style="cursor: pointer;">点此注册</span>之后将自动参与【<a style="margin-left: 0;" href="/activity#/detail/{{relatedActivity.id}}" target="_blank"><span ng-bind="relatedActivity.name"></span></a>】活动,有机会获得丰厚奖品。<a href="/activity#/detail/{{relatedActivity.id}}" target="_blank">立即查看</a></div>
+            <div ng-if="!isAuthed && !projectRecodeId && relatedActivity" class="txt">捐款成功,<span ng-click="loginAfterDonate(projectRecode.id)" style="cursor: pointer;">点此注册</span>之后将自动参与【<a style="margin-left: 0;" href="/activity#/detail/{{relatedActivity.id}}" target="_blank"><span ng-bind="relatedActivity.name"></span></a>】活动,有机会获得丰厚奖品。<a href="/activity#/detail/{{relatedActivity.id}}" target="_blank">立即查看</a></div>
             <!-- 有对应的活动,注册完毕跳回此页 -->
-            <div ng-if="!isAuthed && projectRecodeId" class="txt">已自动参与【<a style="margin-left: 0;" href="/activity#/detail/{{relatedActivity.id}}" target="_blank"><span ng-bind="relatedActivity.name"></span></a>】活动,有机会获得丰厚奖品。<a href="/activity#/detail/{{relatedActivity.id}}" target="_blank">立即查看</a></div>
+            <div ng-if="!isAuthed && projectRecodeId && relatedActivity" class="txt">已自动参与【<a style="margin-left: 0;" href="/activity#/detail/{{relatedActivity.id}}" target="_blank"><span ng-bind="relatedActivity.name"></span></a>】活动,有机会获得丰厚奖品。<a href="/activity#/detail/{{relatedActivity.id}}" target="_blank">立即查看</a></div>
             <!-- 无对应的活动 -->
             <div class="return"><a href="/">返回首页</a></div>
         </div>