shenhao 4 роки тому
батько
коміт
366aacbc04

+ 1 - 1
src/main/java/com/ssj/agent/dao/impl/AgentQueryDaoImpl.java

@@ -48,7 +48,7 @@ public class AgentQueryDaoImpl implements AgentQueryDao {
     public Page<Map<String, Object>> agentMonthList(Map<String, Object> params, Pageable initPage) {
         StringBuilder selSql = new StringBuilder();
         List<Object> queryParams = new ArrayList<>();
-        selSql.append("SELECT t.sign_type,m.sign_time,m.end_sign_time,t.price,t12.league_name,t.lib_service, \n");
+        selSql.append("SELECT t.sign_type,m.sign_time,m.end_sign_time,t.price,t12.league_name,t.lib_service,m.year_index \n");
         selSql.append("(select count(1) from tb_lib_vip a where a.lib_id = t11.lib_id) as stu_count,DATE_FORMAT(m.sign_time,'%Y') as year  \n");
         selSql.append("from fx_merchant_meal_order t \n");
         selSql.append("left join fx_merchant_meal m on t.id = m.order_id \n");

+ 1 - 1
src/main/java/com/ssj/agent/service/impl/AgentServiceImpl.java

@@ -93,7 +93,7 @@ public class AgentServiceImpl extends BaseServiceImpl<AgentEntity,String> implem
         if(!Objects.isNull(list) && !list.isEmpty()){
             for (Map<String, Object> map :list){
                 Rebate rebate = new Rebate();
-                rebate.getRebate(1, MapUtils.getInteger(map,"lib_service"));
+                rebate.getRebate(MapUtils.getInteger(map,"year_index"), MapUtils.getInteger(map,"lib_service"));
                 map.put("agentMoney",rebate.getAgentMoney());
                 map.put("managerMoney",rebate.getManagerMoney());
                 map.put("trainMoney",rebate.getTrainMoney());

+ 16 - 3
src/main/java/com/ssj/bean/sys/fx/domain/MerchantMeal.java

@@ -35,6 +35,13 @@ public class MerchantMeal extends BaseEntity {
     
     private String remarks;
 
+	/**
+	 * 同一个商户,订单的年份
+	 * @return
+	 */
+	private Integer yearIndex;
+
+
 	public String getOrderId() {
 		return orderId;
 	}
@@ -122,8 +129,14 @@ public class MerchantMeal extends BaseEntity {
 	public void setType(Integer type) {
 		this.type = type;
 	}
-    
-    
-	
+
+
+	public Integer getYearIndex() {
+		return yearIndex;
+	}
+
+	public void setYearIndex(Integer yearIndex) {
+		this.yearIndex = yearIndex;
+	}
 	
 }

+ 3 - 2
src/main/java/com/ssj/dao/sys/fx/dao/MerchantMealOrderDao.java

@@ -27,6 +27,7 @@ public interface MerchantMealOrderDao extends JpaRepository<MerchantMealOrder, S
 	
 	@Query(nativeQuery = true, value = " SELECT * from fx_merchant_meal_order t WHERE t.type=?1 ORDER BY t.create_time DESC ")
 	public List<MerchantMealOrder> findMerchantMealOrderByType(Integer type);
-	
-	
+
+	@Query(nativeQuery = true, value = " SELECT count(1) from fx_merchant_meal_order t WHERE t.merchant_id=?1  ")
+	int findMerchantOrderMonthHis(String merchantId);
 }

+ 2 - 1
src/main/java/com/ssj/service/sys/fx/service/MerchantMealOrderService.java

@@ -20,5 +20,6 @@ public interface MerchantMealOrderService extends BaseService<MerchantMealOrder,
 	public MerchantMealOrder getMerchantMealOrderByMaxCreateTime(String merchantId);
 	
 	public List<MerchantMealOrder> findMerchantMealOrderByType(Integer type);
-	
+
+    int findMerchantOrderMonthHis(String merchantId);
 }

+ 5 - 1
src/main/java/com/ssj/service/sys/fx/service/impl/MerchantMealOrderServiceImpl.java

@@ -57,7 +57,11 @@ public class MerchantMealOrderServiceImpl extends BaseServiceImpl<MerchantMealOr
 	public List<MerchantMealOrder> findMerchantMealOrderByType(Integer type) {
 		return dao.findMerchantMealOrderByType(type);
 	}
-	
+
+	@Override
+	public int findMerchantOrderMonthHis(String merchantId) {
+		return dao.findMerchantOrderMonthHis(merchantId);
+	}
 
 
 }

+ 11 - 7
src/main/java/com/ssj/service/sys/fx/service/impl/MerchantMealServiceImpl.java

@@ -253,7 +253,8 @@ public class MerchantMealServiceImpl extends BaseServiceImpl<MerchantMeal, Strin
 		switch (merchant.getPosType()) {
 		case 3:
 			Integer month=DateHelper.getDifferMonth(DateHelper.parseDate(startActiveTime, "yyyy-MM-dd"),DateHelper.parseDate(endActiveTime, "yyyy-MM-dd"));
-			
+			//查询此商户历史订单月份数
+			int hisMonth = mrchantMealOrderService.findMerchantOrderMonthHis(merchantId);
 			MerchantMealOrder mealOrder=new MerchantMealOrder();
 			mealOrder.setBuyMonth(month);
 			mealOrder.setGiveMonth(0);
@@ -288,10 +289,13 @@ public class MerchantMealServiceImpl extends BaseServiceImpl<MerchantMeal, Strin
 				break;
 			}
 			mrchantMealOrderService.save(mealOrder);
-			
+
+
 			Date signTime=DateHelper.parseDate(startActiveTime, "yyyy-MM-dd");
 			Date endSignTime=DateHelper.getMonthDate(signTime,1);
 			//添加购买的记录
+			int yearIndex = hisMonth/12;
+			int monthLeft = hisMonth%12;
 			for (int i =1; i <=month; i++) {
 				MerchantMeal meal=new MerchantMeal();
 				meal.setMerchantId(merchantId);
@@ -308,7 +312,11 @@ public class MerchantMealServiceImpl extends BaseServiceImpl<MerchantMeal, Strin
 				meal.setCreateTime(new Date());
 				meal.setOrderId(mealOrder.getId());
 				merchantMeals.add(meal);
-				
+				if((monthLeft+i)%12==0){
+					meal.setYearIndex(yearIndex+(monthLeft+i)/12);
+				}else{
+					meal.setYearIndex(yearIndex+(monthLeft+i)/12+1);
+				}
 				signTime=endSignTime;
 				endSignTime=DateHelper.getMonthDate(signTime,1);
 			}
@@ -500,10 +508,6 @@ public class MerchantMealServiceImpl extends BaseServiceImpl<MerchantMeal, Strin
 		merchantService.save(merchant);
 		
 	}
-	
-	
-
-
 }