wuwen 5 anni fa
parent
commit
c9268805f6

+ 89 - 0
src/main/java/com/ssj/api/controller/ApiMerchantController.java

@@ -0,0 +1,89 @@
+package com.ssj.api.controller;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.ssj.api.domain.vo.merchant.ServiceVo;
+import com.ssj.api.security.annotation.IgnoreSecurity;
+import com.ssj.bean.sys.fx.domain.Merchant;
+import com.ssj.bean.weixin.libmy.domain.TbLibJoinConsume;
+import com.ssj.framework.basic.utils.DateHelper;
+import com.ssj.framework.core.common.controller.BaseController;
+import com.ssj.framework.core.security.manager.TokenManager;
+import com.ssj.framework.core.util.ResponseConstant;
+import com.ssj.framework.core.util.ResponseEntity;
+import com.ssj.service.sys.fx.service.MerchantService;
+import com.ssj.service.weixin.library.service.ILibJoinConsumeService;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+@Api(value = "商户相关的", tags = "商户相关的")
+@RestController
+@RequestMapping("/open/api/merchant")
+public class ApiMerchantController extends BaseController {
+	
+	@Autowired
+	private TokenManager tokenManager;
+	
+	@Autowired
+	private MerchantService merchantService;
+	
+	@Autowired
+	private ILibJoinConsumeService  libJoinConsumeService;
+	
+	@IgnoreSecurity
+	@RequestMapping(value = "/service")
+    @ApiOperation(value = "获取商户套餐信息接口",  notes = "获取商户套餐信息接口")
+    public ResponseEntity getAccessToken(@RequestBody ServiceVo requestVO) {
+        ResponseEntity responseEntity = new ResponseEntity();
+        Map<String,Object> data=new HashMap<String, Object>();
+        try {
+        	Merchant merchant=merchantService.getMerchantByLibId(requestVO.getLibId());
+        	if(merchant!=null) {
+	        	if(requestVO.getType()==1) {
+					merchant.setCurIsSummary(1);
+					merchant.setCurSummaryTime(new Date());
+					merchant.setNextSummaryTime(DateHelper.getMonthDate(merchant.getCurSummaryTime(),1));
+					merchantService.save(merchant);
+					
+					TbLibJoinConsume consume = new TbLibJoinConsume();
+					consume.setFromLibId(merchant.getLibId());
+					consume.setFromMerchantId(merchant.getId());
+					consume.setLibService(merchant.getLibService());
+					consume.setPlatformService(0);
+					consume.setType(2);
+					consume.setRemarks("消费【新模式用户激活消费】");
+					consume.setCreateTime(new Date());
+					libJoinConsumeService.save(consume);
+	        	}
+	        	DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        		data.put("id", merchant.getId());
+        		data.put("libId", merchant.getLibId());
+        		data.put("summaryTime", merchant.getCurSummaryTime()!=null ?  format.format(merchant.getCurSummaryTime()) : "");
+        		data.put("endSummaryTime", merchant.getCurSummaryTime()!=null ? format.format(DateHelper.getMonthDate(merchant.getCurSummaryTime(),merchant.getLibServiceMonth())) : "");
+        		data.put("signType", merchant.getSignType());
+        		data.put("libService", merchant.getLibService());
+	            responseEntity.success(data, "获取商户套餐信息成功");
+        	}else {
+        		responseEntity.failure(ResponseConstant.CODE_500, "libId未绑定商户");
+        	}
+        } catch (Exception e) {
+            logger.error("获取商户套餐信息接口", e);
+            responseEntity.failure(ResponseConstant.CODE_500, "系统繁忙,请稍后重试");
+        }
+        return responseEntity;
+    }
+	
+	
+	
+	
+}

+ 1 - 1
src/main/java/com/ssj/api/controller/ApiWxController.java

@@ -17,7 +17,7 @@ import io.swagger.annotations.ApiOperation;
 
 @Api(value = "微信相关的", tags = "微信相关的")
 @RestController
-@RequestMapping("/api/wx")
+@RequestMapping("/open/api/wx")
 public class ApiWxController extends BaseController {
 	
 	@Autowired

+ 32 - 0
src/main/java/com/ssj/api/domain/vo/merchant/ServiceVo.java

@@ -0,0 +1,32 @@
+package com.ssj.api.domain.vo.merchant;
+
+import com.ssj.bean.common.framework.core.domain.BaseRequest;
+
+public class ServiceVo extends BaseRequest {
+	
+	private static final long serialVersionUID = 1L;
+	
+	private Integer type;
+	
+	private String libId;
+
+	public Integer getType() {
+		return type;
+	}
+
+	public void setType(Integer type) {
+		this.type = type;
+	}
+
+	public String getLibId() {
+		return libId;
+	}
+
+	public void setLibId(String libId) {
+		this.libId = libId;
+	}
+
+	
+
+	
+}

+ 12 - 2
src/main/java/com/ssj/service/sys/fx/service/impl/MerchantServiceImpl.java

@@ -1,6 +1,8 @@
 package com.ssj.service.sys.fx.service.impl;
 
 import java.math.BigDecimal;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
@@ -1510,8 +1512,16 @@ public class MerchantServiceImpl extends BaseServiceImpl<Merchant, String> imple
 					
 					//旧套餐大于新套餐的话,就服务降级
 					if(oldmerchant.getSignType()>merchant.getSignType()
-							&& StringUtils.isNotEmpty(oldmerchant.getLibId())) {
-						libVipServiceService.removeLibService(oldmerchant.getLibId(), oldmerchant.getLibService());
+							&& StringUtils.isNotEmpty(oldmerchant.getLibId()) 
+							&& merchant.getCurSummaryTime()!=null) {
+						
+						//调用openApi接口
+						DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+						libVipServiceService.openApiServiceCRM(
+								3,
+								oldmerchant.getLibId(), 
+								oldmerchant.getLibService(),
+								format.format(DateHelper.getMonthDate(merchant.getCurSummaryTime(),merchant.getLibServiceMonth())));
 					}
 					//更新套餐
 					oldmerchant.setSignType(merchant.getSignType());

+ 19 - 3
src/main/java/com/ssj/service/sys/fx/service/impl/MerchantSignServiceImpl.java

@@ -1,5 +1,7 @@
 package com.ssj.service.sys.fx.service.impl;
 
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -28,6 +30,7 @@ import com.ssj.service.sys.fx.service.MerchantSignService;
 import com.ssj.service.weixin.library.service.ILibJoinConsumeService;
 import com.ssj.service.weixin.library.service.ILibJoinService;
 import com.ssj.service.weixin.library.service.ILibVipService;
+import com.ssj.service.weixin.sales.service.LibVipServiceService;
 
 
 @Service
@@ -53,6 +56,9 @@ public class MerchantSignServiceImpl extends BaseServiceImpl<MerchantSign, Strin
 	@Autowired
 	private ILibVipService libVipService;
 	
+	@Autowired
+	private LibVipServiceService libVipServiceService;
+	
     @Override
     public PagingAndSortingRepository<MerchantSign, String> getDao() {
         return dao;
@@ -100,6 +106,13 @@ public class MerchantSignServiceImpl extends BaseServiceImpl<MerchantSign, Strin
 					consume.setCreateTime(new Date());
 					libJoinConsumeService.save(consume);
 					
+					//调用openApi接口
+					libVipServiceService.openApiServiceCRM(
+							1,
+							merchant.getLibId(), 
+							merchant.getLibService(),
+							null);
+					
 				} catch (Exception e) {
 					e.printStackTrace();
 					logger.error("1:处理加油包过期的数据,异常:"+e.getMessage());
@@ -137,9 +150,6 @@ public class MerchantSignServiceImpl extends BaseServiceImpl<MerchantSign, Strin
 								this.save(merchantSign);
 							}
 							
-							//过期后,现有的学生就全部学生停止服务。
-							//这里需要调用灿哥的代码。
-							
 						} catch (Exception e) {
 							e.printStackTrace();
 							logger.error("3:处理商户结算的数据,异常:"+e.getMessage());
@@ -230,6 +240,12 @@ public class MerchantSignServiceImpl extends BaseServiceImpl<MerchantSign, Strin
 		consume.setCreateTime(new Date());
 		libJoinConsumeService.save(consume);
 		
+		//调用openApi接口
+		libVipServiceService.openApiServiceCRM(
+				1,
+				merchant.getLibId(), 
+				merchant.getLibService(),
+				null);
 	}
 
 	

+ 2 - 2
src/main/java/com/ssj/service/weixin/sales/service/LibVipServiceService.java

@@ -636,9 +636,9 @@ public interface LibVipServiceService extends BaseService<LibVipService, String>
 	void clearServiceCache(String libId, List<String> vipIdList);
 	
     /**
-     * 移除校区服务
+     * 调用openApi
      * @param libId
      * @param num 降级后的服务数量
      */
-    void removeLibService(String libId,Integer num);
+    void openApiServiceCRM(Integer type,String libId,Integer num,String endTime);
 }

+ 7 - 4
src/main/java/com/ssj/service/weixin/sales/service/impl/LibVipServiceServiceImpl.java

@@ -1705,7 +1705,7 @@ public class LibVipServiceServiceImpl extends BaseServiceImpl<LibVipService, Str
 	
 
 	@Override
-	public void removeLibService(String libId, Integer num) {
+	public void openApiServiceCRM(Integer type,String libId,Integer num,String endTime) {
 		
 		String host=PropertiesUtil.getValue("API_OPEN_URL");
 		String appid="zhidian";
@@ -1715,9 +1715,10 @@ public class LibVipServiceServiceImpl extends BaseServiceImpl<LibVipService, Str
 		String url=host+"/open/api/parents/share/dealServiceCRM?appid="+appid+"&accessToken="+accessToken;
 		
 		JSONObject json=new JSONObject();
-		json.put("appid", libId);
+		json.put("type", type);
 		json.put("libId", libId);
 		json.put("num", num);
+		json.put("endTime", endTime);
 		
 		try {
 			logger.info("调用第三方接口【dealServiceCRM】,请求URL:"+url);
@@ -1743,8 +1744,10 @@ public class LibVipServiceServiceImpl extends BaseServiceImpl<LibVipService, Str
 		String url="https://master.sharingschool.com/open/api/parents/share/dealServiceCRM?appid="+appid+"&accessToken="+accessToken;
 		
 		JSONObject json=new JSONObject();
-		json.put("libId", "11");
-		json.put("num", 22);
+		json.put("type", 1);
+		json.put("libId", "111");
+		json.put("num", 1);
+		json.put("endTime", "2020-10-10");
 		try {
 			String text=HttpRemote.POSTMethod(url, json.toJSONString());
 			System.out.println("调用第三方接口【dealServiceCRM】,返回结果:"+text);