diff --git a/src/main/java/com/tianpengtech/admin/fairwithdraw/FairWithdrawAdminServiceImpl.java b/src/main/java/com/tianpengtech/admin/fairwithdraw/FairWithdrawAdminServiceImpl.java
index a0ad080e25f385608727d4c0a4ee82339e747479..3f93a277b7d54acf1b047ed7b4383b2ec09defa9 100644
--- a/src/main/java/com/tianpengtech/admin/fairwithdraw/FairWithdrawAdminServiceImpl.java
+++ b/src/main/java/com/tianpengtech/admin/fairwithdraw/FairWithdrawAdminServiceImpl.java
@@ -100,19 +100,17 @@ public class FairWithdrawAdminServiceImpl extends AbstractAdmin implements IAdmi
 			MoneyLog moneyLog = MoneyLog.dao.findFirst(sql,id);
 			double money = moneyLog.getDouble(MoneyLog.MONEY);
 			double actualFee= money-temp.platFormFee();
-			moneyLog.set(MoneyLog.MONEY,(int)actualFee);
+			moneyLog.set(MoneyLog.MONEY,(int)money);
 			moneyLog.set(MoneyLog.DESCRIPTION,"用户提现:金额¥"+money+",实际收益:¥"+(int)actualFee);
 			moneyLog.set(MoneyLog.DELETETAG,MoneyLog.STATUS_SUCCESS).update();
 			
 			//更新网红余额数据信息
 			double leftMomey = fair.getDouble(Fair.MONEY);
-			double currentMoney = leftMomey-money;
 			
-			if(currentMoney<0){
+			if(leftMomey<0){
 				throw new ValidateException("当前网红账户提现金额已经超出账户余额");
 			}
-			fair.set(Fair.MONEY,currentMoney);
-			fair.set(Fair.AVALIABLE_FEE,currentMoney);
+			fair.set(Fair.AVALIABLE_FEE,leftMomey);
 			fair.update();
 			
 			PlatFormIncome formIncome = new PlatFormIncome();
@@ -134,9 +132,11 @@ public class FairWithdrawAdminServiceImpl extends AbstractAdmin implements IAdmi
 			String sql = "select * from "+MoneyLog.dao.tableName()+" where operid=? limit 1";
 			MoneyLog moneyLog = MoneyLog.dao.findFirst(sql,id);
 			moneyLog.set(MoneyLog.DELETETAG,MoneyLog.STATUS_ERROR).update();
-			//将提现的金额重新填入账户余额中
-//			double currentMoney = temp.getDouble(FairWithdraw.MONEY)+fair.getDouble(Fair.MONEY);
-//			fair.set(Fair.MONEY, currentMoney).update();
+//			将提现的金额重新填入账户余额中
+			double currentMoney = temp.getDouble(FairWithdraw.MONEY)+fair.getDouble(Fair.MONEY);
+			fair.set(Fair.MONEY, currentMoney);
+			fair.set(Fair.AVALIABLE_FEE, currentMoney);
+			fair.update();
 			
 //			double money = moneyLog.getDouble(MoneyLog.MONEY);
 //			//更新网红余额数据信息
diff --git a/src/main/java/com/tianpengtech/common/util/push/Jpush.java b/src/main/java/com/tianpengtech/common/util/push/Jpush.java
index 5690aae79060b5b4e4896983b1ae8f5ecfcecd6d..681558d7efad7c28d2b908d5bbb221cf478792ca 100644
--- a/src/main/java/com/tianpengtech/common/util/push/Jpush.java
+++ b/src/main/java/com/tianpengtech/common/util/push/Jpush.java
@@ -29,7 +29,7 @@ public class Jpush {
 	public final static String PUSH_MSG="msg";
 	
 	public final static int LIVE_TIME=1*1000*60*10;
-	public final static boolean PRO_ENV=false;
+	public final static boolean PRO_ENV=true;
 	
 	
 	public static void pushCustomContentToSomeOne(String alias,String ALERT,String type){
diff --git a/src/main/java/com/tianpengtech/front/mobile/passport/MobilePassportService.java b/src/main/java/com/tianpengtech/front/mobile/passport/MobilePassportService.java
index 55587897a57f376cc49f18bdccc63378d86cfce9..f018357b692097afd55c32b5ba81d5b58fb9d801 100644
--- a/src/main/java/com/tianpengtech/front/mobile/passport/MobilePassportService.java
+++ b/src/main/java/com/tianpengtech/front/mobile/passport/MobilePassportService.java
@@ -896,10 +896,10 @@ public class MobilePassportService {
 			//String sql = "update "+Fair.dao.tableName()+" set "+Fair.MONEY+"=?,version=? where id=? and version=?";
 			String sql = "update "+Fair.dao.tableName()+" set "+Fair.MONEY+"=?,"+Fair.AVALIABLE_FEE+"=?,version=? where id=? and version=?";
 			
-			
+			double current =yue.doubleValue() - tixian;
 			//减去当前的提现金额,更新当前数据网红数据的账户银行
-			//int result = Db.update(sql,yue.doubleValue() - tixian,netxtVersion,uid,version);
-			int result = Db.update(sql,yue,yue,netxtVersion,uid,version);
+			int result = Db.update(sql,current,yue.doubleValue(),netxtVersion,uid,version);
+//			int result = Db.update(sql,yue,yue,netxtVersion,uid,version);
 			if (result>0) {
 				FairWithdraw fw = new FairWithdraw();
 				fw.set(FairWithdraw.BANK_ID, bankId);
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 c44e0b17c7ff82cd88e4a896e4c3626cc79615ac..24c57393522f4254f15b56a7719b3ef0679d04c7 100644
--- a/src/main/java/com/tianpengtech/front/mobile/task/MobileTaskService.java
+++ b/src/main/java/com/tianpengtech/front/mobile/task/MobileTaskService.java
@@ -331,7 +331,7 @@ public class MobileTaskService {
 		//检查任务类型,假如任务已经超过指定任务,则通知不能在报名了
 		int fairPrice = fair.getInt(Fair.PRICE);
 		
-		if(fairPrice<task.getInt(Task.TASK_PRICE)){
+		if(fairPrice<task.getInt(Task.TOTAL_FEE)){
 			r = R.fail("根据系统限定,你暂时不能接受当前任务");
 			return r;
 		}
@@ -439,7 +439,7 @@ public class MobileTaskService {
 			throw new ValidateException("推荐标题不能为空!!");
 		}
 		
-		if(reason.length()>10){
+		if(title.length()>10){
 			throw new ValidateException("推荐标题不能超过10个字符!!");
 		}
 		
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 25e2b2f71ba9026f8d4bd8d0122f55630c799f14..4a5c1877c41a03668389a6b8d7f707e955b2ef0a 100644
--- a/src/main/java/com/tianpengtech/front/web/task/TaskService.java
+++ b/src/main/java/com/tianpengtech/front/web/task/TaskService.java
@@ -203,7 +203,7 @@ public class TaskService {
      * @param ua
      * @param ip
      */
-    public void saveTaskClick(String ref, String ua ,String ip,String code){
+    public void saveTaskClick(String ref, String ua ,String ip,String code,String token){
         synchronized (code) {
             TaskWh taskWh = getByCode(code);
 //            boolean devModel = PropKit.getBoolean("devMode");
@@ -221,13 +221,13 @@ public class TaskService {
             
             if(task.getInt(Task.STATUS)==Task.STATUS_START){
             	if (!devModel) {//假如是真实环境,则只记录真实的点击数
-                    Object i = CacheKit.get(TASK_CACHE_CLICK_NAME, ip + taskWh.get(TaskWh.ID));
+                    Object i = CacheKit.get(TASK_CACHE_CLICK_NAME,token);
                     if (i != null) {//假如当前记录再有效期内,则不记录当前数据
                     	return;
                     }
-                    updateRealClickNum(ref, ua, ip, code, taskWh);
+                    updateRealClickNum(ref, ua, ip, code, taskWh,token);
                 }else{
-                	updateRealClickNum(ref, ua, ip, code, taskWh);
+                	updateRealClickNum(ref, ua, ip, code, taskWh,token);
                 	updateDevClickNum(ref, ua, ip, code, taskWh,TaskCount.TYPE_DEV);
                 }
             }
@@ -235,10 +235,10 @@ public class TaskService {
         }
     }
 
-	private void updateRealClickNum(String ref, String ua, String ip, String code, TaskWh taskWh) {
+	private void updateRealClickNum(String ref, String ua, String ip, String code, TaskWh taskWh,String token) {
 		updateDevClickNum(ref, ua, ip, code, taskWh,TaskCount.TYPE_PRO);
 		//缓存内写入数据防止此IP在限制时间内再次点击
-		CacheKit.put(TASK_CACHE_CLICK_NAME, ip + taskWh.get(TaskWh.ID), 1);
+		CacheKit.put(TASK_CACHE_CLICK_NAME,token, 1);
 		//点击次数加一
 		int num = taskWh.get(TaskWh.CLICK_NUM);
 		taskWh.set(TaskWh.CLICK_NUM, ++num);
@@ -278,7 +278,7 @@ public class TaskService {
      * @param ua
      * @param ip
      */
-    public void saveTaskCvs(String ref, String ua ,String ip,String code){
+    public void saveTaskCvs(String ref, String ua ,String ip,String code,String token){
         synchronized (code) {
             TaskWh taskWh = getByCode(code);
 //            boolean devModel = PropKit.getBoolean("devMode");
@@ -294,24 +294,24 @@ public class TaskService {
             if(task.getInt(Task.STATUS)==Task.STATUS_START){
             	//如果是测试环境
                 if (!devModel) {
-                    Object i = CacheKit.get(TASK_CACHE_CLICK_NAME, ip + taskWh.get(TaskWh.ID));
+                    Object i = CacheKit.get(TASK_CACHE_CLICK_NAME,token);
                     //判断在缓存有效期内是否点击过
                     if (i != null) {
                         return;
                     }
-                    updateRealCVS(ref, ua, ip, code, taskWh,TaskCount.TYPE_PRO);
+                    updateRealCVS(ref, ua, ip, code, taskWh,TaskCount.TYPE_PRO,token);
                 }else{
-                	updateRealCVS(ref, ua, ip, code, taskWh,TaskCount.TYPE_PRO);
+                	updateRealCVS(ref, ua, ip, code, taskWh,TaskCount.TYPE_PRO,token);
                 	updateDevCVS(ref, ua, ip, code, taskWh,TaskCount.TYPE_DEV);
                 }
             }
         }
     }
 
-	private void updateRealCVS(String ref, String ua, String ip, String code, TaskWh taskWh,int type) {
+	private void updateRealCVS(String ref, String ua, String ip, String code, TaskWh taskWh,int type,String token) {
 		updateDevCVS(ref, ua, ip, code, taskWh, type);
 		//缓存内写入数据防止此IP在限制时间内再次点击
-		CacheKit.put(TASK_CACHE_CLICK_NAME, ip + taskWh.get(TaskWh.ID), 1);
+		CacheKit.put(TASK_CACHE_CLICK_NAME, token, 1);
 		//点击次数加一
 		int num = taskWh.get(TaskWh.CVS_NUM);
 		taskWh.set(TaskWh.CVS_NUM, ++num);
diff --git a/src/main/java/com/tianpengtech/front/web/task/TaskWebController.java b/src/main/java/com/tianpengtech/front/web/task/TaskWebController.java
index f001b1652ad7060f3fb838563941bf398970f90e..0a2c10a33f3c2a4c8bb9ceaba4b5d94e64e5b28b 100644
--- a/src/main/java/com/tianpengtech/front/web/task/TaskWebController.java
+++ b/src/main/java/com/tianpengtech/front/web/task/TaskWebController.java
@@ -1,5 +1,6 @@
 package com.tianpengtech.front.web.task;
 
+import com.alibaba.druid.util.StringUtils;
 import com.jfinal.aop.Before;
 import com.jfinal.aop.Clear;
 import com.jfinal.kit.Ret;
@@ -42,6 +43,7 @@ import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.UUID;
 
 /**
  * Controller for task management.
@@ -53,7 +55,7 @@ public class TaskWebController extends BaseController {
 	private TaskService service = new TaskService();
 	private FairService fairService = new FairService();
 	private DictionaryDao dictionaryDao = new DictionaryDao();
-
+	private int COOKIE_TIME_OUT=1000*60*60*24*30;
 	public void index() {
 		render("task_list.html");
 	}
@@ -211,7 +213,13 @@ public class TaskWebController extends BaseController {
 		String ref = getHeader("Referer");
 		String ip = IpKit.getRealIp(getRequest());
 		String code = getPara("code");
-		service.saveTaskClick(ref, ua, ip, code);
+		
+		//为客户端生成TOKEN值,这样方便统计信息
+		String token = getCookie("token");
+		if(StringUtils.isEmpty(token)){
+			setCookie("token", UUID.randomUUID().toString(),COOKIE_TIME_OUT);
+		}
+		service.saveTaskClick(ref, ua, ip, code,token);
 		renderJson(JsonUtil.printSuccess("记录成功"));
 	}
 
@@ -225,7 +233,11 @@ public class TaskWebController extends BaseController {
 		String ref = getHeader("Referer");
 		String ip = IpKit.getRealIp(getRequest());
 		String code = getPara("code");
-		service.saveTaskCvs(ref, ua, ip, code);
+		String token = getCookie("cvs_token");
+		if(StringUtils.isEmpty(token)){
+			setCookie("cvs_token", UUID.randomUUID().toString(),COOKIE_TIME_OUT);
+		}
+		service.saveTaskCvs(ref, ua, ip, code,token);
 		renderJson(JsonUtil.printSuccess("记录成功"));
 	}