wuwen 5 роки тому
батько
коміт
f4e1b948a0

+ 4 - 1
src/main/java/com/ssj/dao/sys/fx/dao/MerchantSignDao.java

@@ -11,9 +11,12 @@ import com.ssj.bean.sys.fx.domain.MerchantSign;
 @Repository
 public interface MerchantSignDao extends JpaRepository<MerchantSign, String> {
 	
-	@Query(nativeQuery = true, value = " SELECT * FROM `fx_merchant_sign` t WHERE t.`status`=0 AND TO_DAYS(t.end_sign_time)<TO_DAYS(NOW())  ")
+	@Query(nativeQuery = true, value = " SELECT * FROM `fx_merchant_sign` t WHERE t.`status`=0 AND TO_DAYS(t.end_sign_time)=TO_DAYS(NOW())  ")
 	public List<MerchantSign> findMerchantSignByEndTime();
 	
+	@Query(nativeQuery = true, value = " SELECT * FROM `fx_merchant_sign` t WHERE t.`status`=0 AND TO_DAYS(t.sign_time)=TO_DAYS(NOW())  ")
+	public List<MerchantSign> findMerchantSignByStartTime();
+	
 	@Query(nativeQuery = true, value = " SELECT * FROM `fx_merchant_sign` t WHERE t.merchant_id=?1 and t.`status`=?2   ")
 	public List<MerchantSign> findMerchantSignByMerchantId(String merchantId,Integer status);
 	

+ 4 - 4
src/main/java/com/ssj/dao/sys/fx/dao/impl/FinanceQueryDaoImpl.java

@@ -466,11 +466,11 @@ public class FinanceQueryDaoImpl implements FinanceQueryDao {
          
          selSql.append(" SELECT t.*, ");
          selSql.append(" IFNULL((SELECT SUM(c.lib_service) from tb_lib_join_consume c WHERE c.from_merchant_id=t.id AND c.type=7 AND DATE_FORMAT(c.create_time,'%Y-%m')=? ),0) as sum_1, ");
-         selSql.append(" IFNULL((SELECT SUM(c.lib_service) from tb_lib_join_consume c WHERE c.from_merchant_id=t.id AND c.type in (8,10) AND DATE_FORMAT(c.create_time,'%Y-%m')=? ),0) as sum_2, ");
-         selSql.append(" IFNULL((SELECT SUM(c.lib_service) from tb_lib_join_consume c WHERE c.to_merchant_id=t.id AND c.type=9 AND DATE_FORMAT(c.create_time,'%Y-%m')=? ),0) as sum_3, ");
-         selSql.append(" IFNULL((SELECT SUM(c.lib_service) from tb_lib_join_consume c WHERE c.from_merchant_id=t.id AND c.type=10 AND DATE_FORMAT(c.create_time,'%Y-%m')=? ),0) as sum_4, ");
+         selSql.append(" IFNULL((SELECT SUM(c.lib_service) from tb_lib_join_consume c WHERE c.from_merchant_id=t.id AND c.type in (8,11) AND DATE_FORMAT(c.create_time,'%Y-%m')=? ),0) as sum_2, ");
+         selSql.append(" IFNULL((SELECT SUM(c.lib_service) from tb_lib_join_consume c WHERE c.from_merchant_id=t.id AND c.type=10 AND DATE_FORMAT(c.create_time,'%Y-%m')=? ),0) as sum_3, ");
+         selSql.append(" IFNULL((SELECT SUM(c.lib_service) from tb_lib_join_consume c WHERE c.from_merchant_id=t.id AND c.type=11 AND DATE_FORMAT(c.create_time,'%Y-%m')=? ),0) as sum_4, ");
          selSql.append(" (SELECT COUNT(*) from tb_lib_join_consume c WHERE c.from_merchant_id=t.id AND c.type=7 AND DATE_FORMAT(c.create_time,'%Y-%m')=? ) as count_1, ");
-         selSql.append(" (SELECT COUNT(*) from tb_lib_join_consume c WHERE c.to_merchant_id=t.id AND c.type=9 AND DATE_FORMAT(c.create_time,'%Y-%m')=? ) as count_2,  ");
+         selSql.append(" (SELECT SUM(c.compute_num) from tb_lib_join_consume c WHERE c.from_merchant_id=t.id AND c.type=10 AND DATE_FORMAT(c.create_time,'%Y-%m')=? ) as count_2, ");
          selSql.append(" ? as balance_month ");
          queryParams.add(params.get("startMonth"));
          queryParams.add(params.get("startMonth"));

+ 135 - 33
src/main/java/com/ssj/service/sys/fx/service/impl/MerchantSignServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ssj.service.sys.fx.service.impl;
 
+import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -108,8 +109,8 @@ public class MerchantSignServiceImpl extends BaseServiceImpl<MerchantSign, Strin
 					consume.setFromMerchantId(merchant.getId());
 					consume.setLibService(merchantSign.getLibService());
 					consume.setPlatformService(0);
-					consume.setType(10);
-					consume.setComputeNum(merchant.getCurIsSummary());
+					consume.setType(11);
+					consume.setComputeNum(merchantSign.getNum());
 					consume.setSignType(merchant.getSignType());
 					consume.setRemarks("加油包失效【加油包过期】");
 					consume.setCreateTime(new Date());
@@ -128,6 +129,32 @@ public class MerchantSignServiceImpl extends BaseServiceImpl<MerchantSign, Strin
 				}
 			}
 			
+			//1.1:处理加油包激活的数据
+			List<MerchantSign> merchantStartSigns=dao.findMerchantSignByStartTime();
+			for (MerchantSign merchantSign : merchantStartSigns) {
+				try {
+					Merchant merchant = merchantService.getById(merchantSign.getMerchantId());
+					merchant.setLibService(merchant.getLibService()+merchantSign.getLibService());
+					merchantService.save(merchant);
+					
+					//记录加油包记录
+					TbLibJoinConsume consume=new TbLibJoinConsume();
+					consume.setFromLibId(merchant.getLibId());
+					consume.setFromMerchantId(merchant.getId());
+					consume.setLibService(merchantSign.getLibService());
+					consume.setPlatformService(0);
+					consume.setType(10);
+					consume.setComputeNum(merchantSign.getNum());
+					consume.setSignType(merchant.getSignType());
+					consume.setRemarks("加油包激活【加油包激活】");
+					consume.setCreateTime(new Date());
+					libJoinConsumeService.save(consume);
+				} catch (Exception e) {
+					e.printStackTrace();
+					logger.error("1:处理加油包激活数据,异常:"+e.getMessage());
+				}
+			}
+			
 			
 			//2:处理激活日期的数据,生成一条0的激活数据,设置下一个结算日,CurIsSummary=0,免费结算
 		    //注:如果在激活日期之前的时间,也会生成一条0的激活数据,设置下一个结算日,CurIsSummary=0,免费结算
@@ -333,56 +360,79 @@ public class MerchantSignServiceImpl extends BaseServiceImpl<MerchantSign, Strin
 	@Override
 	public void insertMerchantSignAndSync(String merchantId, Integer signType,Integer num) {
 		Merchant merchant = merchantService.getById(merchantId);
-		MerchantSign merchantSign=new MerchantSign();
-		merchantSign.setMerchantId(merchantId);
-		merchantSign.setSignType(signType);
-		merchantSign.setNum(num);
-		merchantSign.setStatus(0);
-		merchantSign.setCreateTime(new Date());
+		List<MerchantSign> merchantSigns=new ArrayList<MerchantSign>();
 		
 		Date computeTime=merchant.getComputeTime();
 		if(computeTime.getTime()<new Date().getTime()) {
 			computeTime=new Date();
 		}
+
 		String remarks="加油包开通【新模式】";
 		Calendar cal = Calendar.getInstance();
 		cal.setTime(computeTime);
 		switch (signType) {
 		case 4:
 			remarks="加油包开通【新模式月包】";
-			cal.add(Calendar.MONTH, num);
-			
-			merchantSign.setLibService(10);
-			merchantSign.setSignTime(merchant.getComputeTime());
-			merchantSign.setEndSignTime(cal.getTime());
+			for (int i = 1; i <=num; i++) {
+				MerchantSign merchantSign=new MerchantSign();
+				merchantSign.setMerchantId(merchantId);
+				merchantSign.setSignType(signType);
+				merchantSign.setNum(1);
+				merchantSign.setStatus(0);
+				merchantSign.setCreateTime(new Date());
+				merchantSign.setLibService(10);
+				
+				merchantSign.setSignTime(cal.getTime());
+				cal.add(Calendar.MONTH, 1);
+				merchantSign.setEndSignTime(cal.getTime());
+				merchantSigns.add(merchantSign);
+			}
 			break;
 		case 5:
 			remarks="加油包开通【新模式量包】";
-			cal.add(Calendar.MONTH, 1);
+			MerchantSign merchantSign=new MerchantSign();
+			merchantSign.setMerchantId(merchantId);
+			merchantSign.setSignType(signType);
+			merchantSign.setNum(num);
+			merchantSign.setStatus(0);
+			merchantSign.setCreateTime(new Date());
+			merchantSign.setLibService(10);
 			
 			merchantSign.setLibService(10*num);
-			merchantSign.setSignTime(merchant.getComputeTime());
+			merchantSign.setSignTime(cal.getTime());
+			cal.add(Calendar.MONTH, 1);
 			merchantSign.setEndSignTime(cal.getTime());
+			merchantSigns.add(merchantSign);
+			
 			break;
 		default:
 			break;
 		}
 		//保存加油包的记录
-		this.save(merchantSign);
-		
-		//增量商户表的人数
-		merchant.setLibService(merchant.getLibService()+merchantSign.getLibService());
-		merchantService.save(merchant);	
-		
-		//同步商户表与机构表
-		this.syncMerchantByLibJoin(merchant);
-		
+		this.save(merchantSigns);
+
 		//记录加油包记录
-		for (int i = 1; i <=num; i++) {
+		switch (signType) {
+		case 4:
+			for (int i = 1; i <=num; i++) {
+				TbLibJoinConsume consume=new TbLibJoinConsume();
+				consume.setToLibId(merchant.getLibId());
+				consume.setToMerchantId(merchant.getId());
+				consume.setLibService(10);
+				consume.setPlatformService(0);
+				consume.setType(9);
+				consume.setComputeNum(0);
+				consume.setSignType(merchant.getSignType());
+				consume.setRemarks(remarks);
+				consume.setCreateTime(new Date());
+				libJoinConsumeService.save(consume);
+			}
+			break;
+		case 5:
 			TbLibJoinConsume consume=new TbLibJoinConsume();
 			consume.setToLibId(merchant.getLibId());
 			consume.setToMerchantId(merchant.getId());
-			consume.setLibService(10);
+			consume.setLibService(10*num);
 			consume.setPlatformService(0);
 			consume.setType(9);
 			consume.setComputeNum(0);
@@ -390,15 +440,67 @@ public class MerchantSignServiceImpl extends BaseServiceImpl<MerchantSign, Strin
 			consume.setRemarks(remarks);
 			consume.setCreateTime(new Date());
 			libJoinConsumeService.save(consume);
+			break;
+		default:
+			break;
 		}
 		
-		//调用openApi接口
-		libVipServiceService.openApiServiceCRM(
-				1,
-				merchant.getLibId(), 
-				merchant.getSignType(),
-				merchant.getLibService(),
-				null);
+		if(merchant.getComputeTime().getTime()<new Date().getTime()) {
+			TbLibJoinConsume consume=null;
+			switch (signType) {
+			case 4:
+				consume=new TbLibJoinConsume();
+				consume.setFromLibId(merchant.getLibId());
+				consume.setFromMerchantId(merchant.getId());
+				consume.setLibService(10);
+				consume.setPlatformService(0);
+				consume.setType(10);
+				consume.setComputeNum(1);
+				consume.setSignType(merchant.getSignType());
+				consume.setRemarks("加油包激活【新模式月包】");
+				consume.setCreateTime(new Date());
+				libJoinConsumeService.save(consume);
+				
+				break;
+			case 5:
+				consume=new TbLibJoinConsume();
+				consume.setFromLibId(merchant.getLibId());
+				consume.setFromMerchantId(merchant.getId());
+				consume.setLibService(10*num);
+				consume.setPlatformService(0);
+				consume.setType(10);
+				consume.setComputeNum(num);
+				consume.setSignType(merchant.getSignType());
+				consume.setRemarks("加油包激活【新模式量包】");
+				consume.setCreateTime(new Date());
+				libJoinConsumeService.save(consume);
+				
+				break;
+			default:
+				break;
+			}
+			if(consume!=null) {
+				
+				libJoinConsumeService.save(consume);
+				
+				//增量商户表的人数
+				merchant.setLibService(merchant.getLibService()+consume.getLibService());
+				merchantService.save(merchant);	
+				//同步商户表与机构表
+				this.syncMerchantByLibJoin(merchant);
+				
+				//调用openApi接口
+				libVipServiceService.openApiServiceCRM(
+						1,
+						merchant.getLibId(), 
+						merchant.getSignType(),
+						merchant.getLibService(),
+						null);
+			}
+		}
+		
+		
+		
 	}
 
 	

+ 2 - 2
src/main/java/com/ssj/sys/controller/FinanceReportController.java

@@ -593,8 +593,8 @@ public class FinanceReportController extends BaseController {
            
             myColumns3.add(new ExcelColumn("服务包名称", "sign_type", 20));
             myColumns3.add(new ExcelColumn("服务包/月金额", "price", 20));
-            myColumns3.add(new ExcelColumn("有效服务数", "sum_1", 20));
-            myColumns3.add(new ExcelColumn("结束服务数", "sum_2", 20));
+            myColumns3.add(new ExcelColumn("有效服务数", "sum_1", 20));
+            myColumns3.add(new ExcelColumn("结束服务数", "sum_2", 20));
             myColumns3.add(new ExcelColumn("服务包/结算月份", "count_1_m", 20));
             
             myColumns3.add(new ExcelColumn("加油包/月金额", "price_1", 20));

+ 11 - 2
src/main/java/com/ssj/sys/controller/FxController.java

@@ -1737,7 +1737,9 @@ public class FxController  extends BaseController {
     		myColumns3.add(new ExcelColumn("充值/已结算(月份)", "monthStr", 20));
     		myColumns3.add(new ExcelColumn("合同开始日期", "signTime", 20));
     		myColumns3.add(new ExcelColumn("合同结束日期", "endSignTime", 20));
-    		myColumns3.add(new ExcelColumn("激活日期", "activeTimeStr", 20));
+    		
+    		myColumns3.add(new ExcelColumn("激活开始日期", "startActiveTimeStr", 20));
+    		myColumns3.add(new ExcelColumn("激活结束日期", "activeTimeStr", 20));
     		myColumns3.add(new ExcelColumn("计费开始日", "computeTimeStr", 20));
     		myColumns3.add(new ExcelColumn("下个结算日", "nextSummaryTime", 20));
     		
@@ -1748,7 +1750,7 @@ public class FxController  extends BaseController {
     		myColumns3.add(new ExcelColumn("硬件数量", "hardwareService", 20));
     		myColumns3.add(new ExcelColumn("服务:签约单价", "price", 20));
     		myColumns3.add(new ExcelColumn("硬件:签约单价", "hardwarePrice", 20));
-    		myColumns3.add(new ExcelColumn("出货单价", "outPrice", 20));
+    		myColumns3.add(new ExcelColumn("平台服务费", "outPrice", 20));
     		
     		myColumns3.add(new ExcelColumn("状态", "status", 20));
     		myColumns3.add(new ExcelColumn("创建时间", "createTime", 20));
@@ -1854,6 +1856,7 @@ public class FxController  extends BaseController {
 				}else if("signType".equals(key)){
 					String str="";
 					String monthStr="";
+					String startActiveTimeStr="";
 					String activeTimeStr="";
 					String computeTimeStr="";
 					String libService_0="";
@@ -1862,6 +1865,7 @@ public class FxController  extends BaseController {
 					case "0":
 						str="旧兼容模式";
 						monthStr="";
+						startActiveTimeStr="";
 						activeTimeStr="";
 						computeTimeStr="";
 						libService_0=obj.getLibService()+"";
@@ -1869,6 +1873,7 @@ public class FxController  extends BaseController {
 					case "1":
 						str="服务包1";
 						monthStr=obj.getLibServiceMonth()+"/"+obj.getCurIsSummary();
+						startActiveTimeStr=DateHelper.format(obj.getStartActiveTime(), "yyyy-MM-dd") ;
 						activeTimeStr=DateHelper.format(obj.getActiveTime(), "yyyy-MM-dd") ;
 						computeTimeStr=DateHelper.format(obj.getComputeTime(), "yyyy-MM-dd") ;
 						libService_1=obj.getLibService()+"";
@@ -1876,6 +1881,7 @@ public class FxController  extends BaseController {
 					case "2":
 						str="服务包2";
 						monthStr=obj.getLibServiceMonth()+"/"+obj.getCurIsSummary();
+						startActiveTimeStr=DateHelper.format(obj.getStartActiveTime(), "yyyy-MM-dd") ;
 						activeTimeStr=DateHelper.format(obj.getActiveTime(), "yyyy-MM-dd") ;
 						computeTimeStr=DateHelper.format(obj.getComputeTime(), "yyyy-MM-dd") ;
 						libService_1=obj.getLibService()+"";
@@ -1883,6 +1889,7 @@ public class FxController  extends BaseController {
 					case "3":
 						str="服务包3";
 						monthStr=obj.getLibServiceMonth()+"/"+obj.getCurIsSummary();
+						startActiveTimeStr=DateHelper.format(obj.getStartActiveTime(), "yyyy-MM-dd") ;
 						activeTimeStr=DateHelper.format(obj.getActiveTime(), "yyyy-MM-dd") ;
 						computeTimeStr=DateHelper.format(obj.getComputeTime(), "yyyy-MM-dd") ;
 						libService_1=obj.getLibService()+"";
@@ -1890,6 +1897,7 @@ public class FxController  extends BaseController {
 					default:
 						str="";
 						monthStr="";
+						startActiveTimeStr="";
 						activeTimeStr="" ;
 						computeTimeStr="";
 						libService_0="";
@@ -1898,6 +1906,7 @@ public class FxController  extends BaseController {
 					}
 					map.put(key,  str);
 					map.put("monthStr",monthStr);
+					map.put("startActiveTimeStr", startActiveTimeStr);
 					map.put("activeTimeStr", activeTimeStr);
 					map.put("computeTimeStr", computeTimeStr);
 					map.put("libService_0", libService_0);

+ 2 - 2
src/main/resources/templates/sys/finance/allList6.html

@@ -56,8 +56,8 @@
 		    	<th>服务包名称</th>
 		    	
 		    	<th>服务包/月金额</th>
-		    	<th>有效服务数</th>
-		    	<th>结束服务数</th>
+		    	<th>有效服务数</th>
+		    	<th>结束服务数</th>
 		    	<th>结算月份</th>
 		    	
 		    	<th style="color: red">加油包/月金额</th>

+ 4 - 2
src/main/resources/templates/sys/fx/consumeList.html

@@ -60,7 +60,8 @@
 					<option value="7" th:selected="${search.get('type')+'' eq '7' ? true : false} ">服务包激活【新模式】</option>
 					<option value="8" th:selected="${search.get('type')+'' eq '8' ? true : false} ">服务包结算【新模式】</option>
 					<option value="9" th:selected="${search.get('type')+'' eq '9' ? true : false} ">加油包开通【新模式】</option>
-					<option value="10" th:selected="${search.get('type')+'' eq '10' ? true : false}">加油包结算【新模式】</option>
+					<option value="10" th:selected="${search.get('type')+'' eq '10' ? true : false} ">加油包激活【新模式】</option>
+					<option value="11" th:selected="${search.get('type')+'' eq '11' ? true : false}">加油包结算【新模式】</option>
 				</select>
 			</li>
 			<li>
@@ -144,7 +145,8 @@
 					   <span th:case="7">服务包激活【新模式】 </span>
 					   <span th:case="8">服务包结算【新模式】 </span>
 					   <span th:case="9">加油包开通【新模式】 </span>
-					   <span th:case="10">加油包结算【新模式】 </span>
+					   <span th:case="10">加油包激活【新模式】 </span>
+					   <span th:case="11">加油包结算【新模式】 </span>
 
 					</td>
 					<td th:text="${item.lib_service}"></td>