Browse Source

媒体端和后端的财务管理的更新

Signed-off-by: you.chen <you.chen@cloudcross.com>
you.chen 9 years ago
parent
commit
b908d52843

+ 7 - 1
src/main/java/com/cloudcross/ssp/model/mapper/adv-balance.sql.xml

@@ -183,7 +183,7 @@
 	<select id="countByParamsBack" parameterType="map" resultType="int">
 	<select id="countByParamsBack" parameterType="map" resultType="int">
 		select count(id) from t_adv_balance
 		select count(id) from t_adv_balance
 		<where> 
 		<where> 
-		advertiser_id = 0 and agent_id != 0 and status != -1
+		advertiser_id = 0 and agent_id != 0 and status != -1 and abs(charge) > 0
 		<if test="actTime != null">
 		<if test="actTime != null">
 			and act_time like #{actTime}
 			and act_time like #{actTime}
 		</if>
 		</if>
@@ -195,6 +195,7 @@
 		t_adv_agent on t_adv_balance.agent_id = t_adv_agent.id
 		t_adv_agent on t_adv_balance.agent_id = t_adv_agent.id
 		<where> 
 		<where> 
 		t_adv_balance.advertiser_id = 0 and t_adv_balance.agent_id != 0 and t_adv_balance.status != -1
 		t_adv_balance.advertiser_id = 0 and t_adv_balance.agent_id != 0 and t_adv_balance.status != -1
+		and abs(t_adv_balance.charge) > 0
 		<if test="actTime != null">
 		<if test="actTime != null">
 			and act_time like #{actTime}
 			and act_time like #{actTime}
 		</if>
 		</if>
@@ -254,4 +255,9 @@
 		values(#{accountId}, #{advertiserId}, #{actTime}, #{num}, #{allocate}, #{advertiserBalance})
 		values(#{accountId}, #{advertiserId}, #{actTime}, #{num}, #{allocate}, #{advertiserBalance})
 	</insert>
 	</insert>
 	
 	
+	
+	<insert id="backOut" parameterType="map">
+	insert into t_adv_balance(account_id, agent_id, act_time, num, charge, balance)
+	values(#{accountId}, #{agentId}, #{actTime}, #{num}, #{charge}, #{balance})
+	</insert>
 </mapper>
 </mapper>

+ 8 - 0
src/main/java/com/cloudcross/ssp/service/IAdvBalanceService.java

@@ -53,5 +53,13 @@ public interface IAdvBalanceService extends IGenericService<AdvBalance> {
 	 
 	 
 	 List<AdvBalance> findByParamsAdvertiser(Map<String, Object> paramMap);
 	 List<AdvBalance> findByParamsAdvertiser(Map<String, Object> paramMap);
 	 
 	 
+	/**
+	 * 撤销充值
+	 * 
+	 * @param paramMap
+	 * @return
+	 */
+	boolean backOut(Map<String, Object> paramMap);
+	 
 
 
 }
 }

+ 7 - 0
src/main/java/com/cloudcross/ssp/service/IOperatorBalanceService.java

@@ -39,5 +39,12 @@ public interface IOperatorBalanceService extends IGenericService<OperatorBalance
 	List<OperatorBalance> findByParamsOperator(Map<String, Object> paramMap,
 	List<OperatorBalance> findByParamsOperator(Map<String, Object> paramMap,
 			Pager pager);
 			Pager pager);
 	
 	
+	/**
+	 * 审核不通过时,将该条提现记录的状态设为不通过并且把提现金额加回去
+	 * @param paramMap
+	 * @return
+	 */
+	boolean failureAudit(Map<String, Object> paramMap);
+	
 	
 	
 }
 }

+ 6 - 0
src/main/java/com/cloudcross/ssp/service/impl/AdvBalanceService.java

@@ -34,6 +34,7 @@ public class AdvBalanceService implements IAdvBalanceService{
 	public int countByParamsBack(Map<String, Object> paramMap) {
 	public int countByParamsBack(Map<String, Object> paramMap) {
 		//这里的搜索只是对日期进行搜索
 		//这里的搜索只是对日期进行搜索
 		String searchValue = SqlHelper.doLike(paramMap.get("searchValue"));
 		String searchValue = SqlHelper.doLike(paramMap.get("searchValue"));
+		paramMap.put("actTime", searchValue);
 		return myBatisDao.get("advBalanceSqlMapper.countByParamsBack", paramMap);
 		return myBatisDao.get("advBalanceSqlMapper.countByParamsBack", paramMap);
 	}
 	}
 	@Override
 	@Override
@@ -132,5 +133,10 @@ public class AdvBalanceService implements IAdvBalanceService{
 	public Double findBalanceByAdvertiserId(Long advertiserId) {
 	public Double findBalanceByAdvertiserId(Long advertiserId) {
 		return myBatisDao.get("advBalanceSqlMapper.findBalanceByAdvertiserId", advertiserId);
 		return myBatisDao.get("advBalanceSqlMapper.findBalanceByAdvertiserId", advertiserId);
 	}
 	}
+	@Override
+	public boolean backOut(Map<String, Object> paramMap) {
+		myBatisDao.save("advBalanceSqlMapper.backOut", paramMap);
+		return true;
+	}
 
 
 }
 }

+ 16 - 6
src/main/java/com/cloudcross/ssp/service/impl/OperatorBalanceService.java

@@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
 import com.cloudcross.ssp.model.OperatorBalance;
 import com.cloudcross.ssp.model.OperatorBalance;
 import com.cloudcross.ssp.service.IOperatorBalanceService;
 import com.cloudcross.ssp.service.IOperatorBalanceService;
 import com.cloudcross.ssp.base.dao.GenericIBatisDao;
 import com.cloudcross.ssp.base.dao.GenericIBatisDao;
+import com.cloudcross.ssp.common.utils.LangUtil;
 import com.cloudcross.ssp.common.utils.MapBuilder;
 import com.cloudcross.ssp.common.utils.MapBuilder;
 import com.cloudcross.ssp.common.utils.Pager;
 import com.cloudcross.ssp.common.utils.Pager;
 import com.cloudcross.ssp.common.utils.SqlHelper;
 import com.cloudcross.ssp.common.utils.SqlHelper;
@@ -100,12 +101,6 @@ public class OperatorBalanceService implements IOperatorBalanceService {
 	}
 	}
 
 
 
 
-//	@Override
-//	public Float findAvailableMoney(Long operatorId) {
-//		return myBatisDao.get("operatorBalanceSqlMapper.findAvailableMoney", operatorId);
-//	}
-
-
 	@Override
 	@Override
 	public boolean updateStatus(List<Long> idList, String reason, int status) {
 	public boolean updateStatus(List<Long> idList, String reason, int status) {
 		myBatisDao.save("operatorBalanceSqlMapper.updateOperatorBalanceStatus",MapBuilder.create(HashMap.class)
 		myBatisDao.save("operatorBalanceSqlMapper.updateOperatorBalanceStatus",MapBuilder.create(HashMap.class)
@@ -126,4 +121,19 @@ public class OperatorBalanceService implements IOperatorBalanceService {
 		return myBatisDao.getList("operatorBalanceSqlMapper.findByParams1", paramMap);
 		return myBatisDao.getList("operatorBalanceSqlMapper.findByParams1", paramMap);
 	}
 	}
 
 
+	@Override
+	public boolean failureAudit(Map<String, Object> paramMap) {
+		String reason = (String)paramMap.get("reason");
+		Long[] id = (Long[])paramMap.get("id");
+		//设置状态为审核不通过并且把原因写入数据库
+		updateStatus(LangUtil.array2List(id), reason, 2);
+		
+		//把这些审核不通过的提取金额加回去
+		for(int i = 0; i < id.length; i++) {
+			moneyBackToOperator(id[i]);
+		}
+		
+		return true;
+	}
+
 }
 }

+ 17 - 18
src/main/java/com/cloudcross/ssp/web/back/main/finance/FinanceManagementController.java

@@ -54,8 +54,6 @@ public class FinanceManagementController extends SimpleController {
 	@RequestMapping
 	@RequestMapping
 	public String index(Model model, @RequestParam HashMap<String, Object> paramMap,
 	public String index(Model model, @RequestParam HashMap<String, Object> paramMap,
 			@RequestParam(defaultValue = "1") int page) {
 			@RequestParam(defaultValue = "1") int page) {
-//		//这里搜索条件还没有从前端传值所以这里自己测试一下
-//		paramMap.put("num", "20150915112098");
 		int totalRow = 0;
 		int totalRow = 0;
 		Pager pager = null;
 		Pager pager = null;
 		pager = new Pager();
 		pager = new Pager();
@@ -121,16 +119,11 @@ public class FinanceManagementController extends SimpleController {
 	public @ResponseBody
 	public @ResponseBody
 	String disable(Long[] id, String reason) {
 	String disable(Long[] id, String reason) {
 		if (ArrayUtils.isNotEmpty(id)) {
 		if (ArrayUtils.isNotEmpty(id)) {
-			
-			
-			//设置状态为审核不通过并且把原因写入数据库
-			operatorBalanceService.updateStatus(LangUtil.array2List(id), reason, 2);
-			
-			//把这些审核不通过的提取金额加回去
-			for(int i = 0; i < id.length; i++) {
-				operatorBalanceService.moneyBackToOperator(id[i]);
-			}
-		}
+			Map<String, Object> paramMap = new HashMap<String, Object>();
+			paramMap.put("reason", reason);
+			paramMap.put("id", id);
+			operatorBalanceService.failureAudit(paramMap);
+ 		}
 		return OK;
 		return OK;
 	}
 	}
 	
 	
@@ -148,7 +141,6 @@ public class FinanceManagementController extends SimpleController {
 		Pager pager = null;
 		Pager pager = null;
 		pager = new Pager();
 		pager = new Pager();
 		//统计充值记录总数
 		//统计充值记录总数
-		//totalRow = advBalanceService.countByParams(paramMap);
 		totalRow = advBalanceService.countByParamsBack(paramMap);
 		totalRow = advBalanceService.countByParamsBack(paramMap);
 		pager.setPage(page);
 		pager.setPage(page);
 		pager.setTotalRow(totalRow);
 		pager.setTotalRow(totalRow);
@@ -204,7 +196,7 @@ public class FinanceManagementController extends SimpleController {
 	}
 	}
 	
 	
 	/**
 	/**
-	 * 广告主充值中的撤销操作,执行撤销操作的话要把这里的充值
+	 * 广告主充值中的撤销操作,执行撤销操作的话,就相当于执行一个充值为该撤销金额负数的充值
 	 * 前端需要传递一个advBalanceId
 	 * 前端需要传递一个advBalanceId
 	 * @param model
 	 * @param model
 	 * @param paramMap
 	 * @param paramMap
@@ -226,10 +218,17 @@ public class FinanceManagementController extends SimpleController {
 			Double money = advBalance.getCharge();
 			Double money = advBalance.getCharge();
 			//撤销完后的余额
 			//撤销完后的余额
 			balance = new Double(balance - money);
 			balance = new Double(balance - money);
-			//更新当前代理商的账户余额
-			advBalanceService.updateBalanceByAgentId(advBalance.getAgentId(), balance);
-			//将这条充值记录删除掉
-			advBalanceService.deleteAdvBalanceById(advBalanceId);
+			
+			paramMap.put("charge", (-money));
+			paramMap.put("balance", balance);
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
+	    	SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+	    	paramMap.put("num", sdf.format(new Date()));
+	    	paramMap.put("actTime", sdf1.format(new Date()));
+	    	paramMap.put("accountId", getLoginUser().getId());
+	    	paramMap.put("agentId", advBalance.getAgentId());
+	    	
+			advBalanceService.backOut(paramMap);
 			
 			
 			return OK;
 			return OK;
 		}
 		}