From c670c0a91018011f17b47b24ff71e61fd22409aa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=83=A1=E6=89=BF=E6=B7=9E?= <644344980@qq.com>
Date: Wed, 24 Jan 2018 14:44:27 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3BUG?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../com/tianpengtech/admin/task/SysConfigDao.java   |  8 ++++++++
 .../admin/task/TaskAdminController.java             |  2 ++
 .../front/mobile/task/MobileTaskService.java        | 13 +++++++++----
 .../tianpengtech/front/web/job/TaskStartJob.java    |  4 ++--
 .../tianpengtech/front/web/task/TaskService.java    |  9 ++++-----
 .../WEB-INF/view/admin/task/task-count-setting.html | 12 ++++++++++++
 6 files changed, 37 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/tianpengtech/admin/task/SysConfigDao.java b/src/main/java/com/tianpengtech/admin/task/SysConfigDao.java
index 209e26b..7716e03 100644
--- a/src/main/java/com/tianpengtech/admin/task/SysConfigDao.java
+++ b/src/main/java/com/tianpengtech/admin/task/SysConfigDao.java
@@ -10,6 +10,8 @@ public class SysConfigDao {
 	public static int TASK_COUNT_MODE_PRO = 0;
 	public static int SEND_TASK_SMS_YES = 1;
 	public static int SEND_TASK_SMS_NO = 0;
+	public static int TASK_FAIR_OPEN = 1;
+	public static int TASK_FAIR_CLOSE = 0;
 	
 	
 	public boolean getTaskCountMode(){
@@ -27,4 +29,10 @@ public class SysConfigDao {
 		Record record = Db.findFirst(sql,type);
 		return record;
 	}
+	
+	
+	public boolean isOpenFairLevel(){
+		Record record =readConfig("TASK_COUNT_MODE");
+		return record.getInt("is_task_fair")==TASK_FAIR_OPEN;
+	}
 }
diff --git a/src/main/java/com/tianpengtech/admin/task/TaskAdminController.java b/src/main/java/com/tianpengtech/admin/task/TaskAdminController.java
index c90452d..35b1365 100644
--- a/src/main/java/com/tianpengtech/admin/task/TaskAdminController.java
+++ b/src/main/java/com/tianpengtech/admin/task/TaskAdminController.java
@@ -271,11 +271,13 @@ public class TaskAdminController extends AbstractAdminController{
 	public void updateSetting(){
 		int mode = getParaToInt("task_count_mode",0);
 		int is_send_task_sms = getParaToInt("is_send_task_sms",0);
+		int is_task_fair = getParaToInt("is_task_fair",1);
 		int id = getParaToInt("id",0);
 		Record record = new Record();
 		record.set("id", id);
 		record.set("task_count_mode", mode);
 		record.set("is_send_task_sms", is_send_task_sms);
+		record.set("is_task_fair", is_task_fair);
 		Db.update("fair_sys_setting", record);
 		renderJson(JsonUtil.printSuccess("保存成功"));
 	}
diff --git a/src/main/java/com/tianpengtech/front/mobile/task/MobileTaskService.java b/src/main/java/com/tianpengtech/front/mobile/task/MobileTaskService.java
index 24c5739..068bf53 100644
--- a/src/main/java/com/tianpengtech/front/mobile/task/MobileTaskService.java
+++ b/src/main/java/com/tianpengtech/front/mobile/task/MobileTaskService.java
@@ -6,6 +6,7 @@ import com.jfinal.plugin.activerecord.Db;
 import com.jfinal.plugin.activerecord.Page;
 import com.jfinal.plugin.activerecord.Record;
 import com.tianpengtech.admin.dictionary.DictionaryDao;
+import com.tianpengtech.admin.task.SysConfigDao;
 import com.tianpengtech.common.exception.ValidateException;
 import com.tianpengtech.common.model.authenticate.Authenticate;
 import com.tianpengtech.common.model.dictionary.Dictionary;
@@ -325,17 +326,21 @@ public class MobileTaskService {
 	public R acceptTask(String taskId, long uid) {
 		Ret ret = new Ret();
 		R r;
+		
 		//检查当前网红是否能够有资格接受当前任务信息
 		Task task = Task.dao.findById(taskId);
 		Fair fair = Fair.dao.findById(uid);
 		//检查任务类型,假如任务已经超过指定任务,则通知不能在报名了
 		int fairPrice = fair.getInt(Fair.PRICE);
 		
-		if(fairPrice<task.getInt(Task.TOTAL_FEE)){
-			r = R.fail("根据系统限定,你暂时不能接受当前任务");
-			return r;
-		}
+		boolean isOpenFairLevel = SysConfigDao.ME.isOpenFairLevel();//检查是否需要放开网红接单任务控制
 		
+		if(isOpenFairLevel){
+			if(fairPrice<task.getInt(Task.TOTAL_FEE)){
+				r = R.fail("根据系统限定,你暂时不能接受当前任务");
+				return r;
+			}
+		}
 		
 		//将报名信息加入报名的队列信息,获取生成的唯一的自助ID数据
 		Record record = new Record();
diff --git a/src/main/java/com/tianpengtech/front/web/job/TaskStartJob.java b/src/main/java/com/tianpengtech/front/web/job/TaskStartJob.java
index 7edc2d1..9db9057 100644
--- a/src/main/java/com/tianpengtech/front/web/job/TaskStartJob.java
+++ b/src/main/java/com/tianpengtech/front/web/job/TaskStartJob.java
@@ -20,8 +20,8 @@ public class TaskStartJob implements Job {
     @Override
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
         //taskService.taskJob();
-    	//taskService.setTaskToStart();
-    	taskService.setTaskToEnd();
+    	taskService.setTaskToStart();
+//    	taskService.setTaskToEnd();
 //    	System.out.println("修正Task的状态");
     }
 }
diff --git a/src/main/java/com/tianpengtech/front/web/task/TaskService.java b/src/main/java/com/tianpengtech/front/web/task/TaskService.java
index 9b8c663..76f2cff 100644
--- a/src/main/java/com/tianpengtech/front/web/task/TaskService.java
+++ b/src/main/java/com/tianpengtech/front/web/task/TaskService.java
@@ -221,8 +221,8 @@ public class TaskService {
             }
             
             token=token+"_"+taskWh.getLong(TaskWh.ID);
-            task.set(Task.STATUS, Task.STATUS_START);
-            if(task.getInt(Task.STATUS)==Task.STATUS_START){
+            //只要任务审核通过并且任务没有结束,就能够进行数据的统计
+            if(task.getInt(Task.STATUS)==Task.STATUS_START ||task.getInt(Task.STATUS)==Task.STATUS_SUCCESS){
             	
             	//检查所有网红任务的费用是否已经超出预算总额的98%,假如超过,则不进行统计,并且关闭任务
             	int actualFee = TaskCalculateService.ME.AllTaskClickNumFee(task.getClick());//当前任务实际花费
@@ -304,9 +304,8 @@ public class TaskService {
             	return;
             }
             token=token+"_"+taskWh.getLong(TaskWh.ID);
-            if(task.getInt(Task.STATUS)==Task.STATUS_START){
-            	
-            	
+            //只要任务审核通过并且任务没有结束,就能够进行数据的统计
+            if(task.getInt(Task.STATUS)==Task.STATUS_START ||task.getInt(Task.STATUS)==Task.STATUS_SUCCESS){
             	//检查所有网红任务的费用是否已经超出预算总额的98%,假如超过,则不进行统计,并且关闭任务
             	int actualFee = TaskCalculateService.ME.AllTaskClickNumFee(task.getClick());//当前任务实际花费
             	
diff --git a/src/main/webapp/WEB-INF/view/admin/task/task-count-setting.html b/src/main/webapp/WEB-INF/view/admin/task/task-count-setting.html
index ba6d690..b30bbb3 100644
--- a/src/main/webapp/WEB-INF/view/admin/task/task-count-setting.html
+++ b/src/main/webapp/WEB-INF/view/admin/task/task-count-setting.html
@@ -43,6 +43,18 @@ $("#task-count-setting").validate({
 		        </div>
 		    </div>
 		    
+		    <div class="row cl">
+		        <label class="form-label col-xs-4 col-sm-3">网红报名等级限制开关:</label>
+		        <div class="formControls col-xs-8 col-sm-9">
+		        	<span class="select-box inline">
+		        	<select id="is_task_fair" class="select" name="is_task_fair">
+		        		<option value="0" #if(setting?? && setting.is_task_fair==0)selected#end>关闭</option>
+		        		<option value="1" #if(setting?? && setting.is_task_fair==1)selected#end>开启</option>
+		        	</select>
+		        	</span>
+		        </div>
+		    </div>
+		    
 		    <div class="row cl">
 		    <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
 		        <input type="hidden" value="#(setting.id??'')" id="id" name="id">
-- 
Gitee