diff --git a/pom.xml b/pom.xml
index 224b6da..3ee2cfb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -89,7 +89,7 @@
 
                 <report.url>http://10.3.20.41:9010</report.url>
                 <import.temp.url>http://10.3.20.41:9001</import.temp.url>
-                <adi.url>http://39.104.114.198</adi.url>
+                <adi.url>http://39.104.114.198,http://129.226.187.229:8080</adi.url>
 
                 <!--Redis setting-->
                 <redis.key.validtime>120</redis.key.validtime>
@@ -163,7 +163,7 @@
                 <!--<report.url>http://localhost:9010</report.url>-->
                 <report.url>http://10.3.20.41:9010</report.url>
                 <import.temp.url>http://10.3.20.41:9001</import.temp.url>
-                <adi.url>http://39.104.114.198</adi.url>
+                <adi.url>http://39.104.114.198,http://129.226.187.229:8080</adi.url>
                 <contract.uppath></contract.uppath>
                 <!--Redis setting-->
                 <redis.key.validtime>120</redis.key.validtime>
@@ -265,7 +265,7 @@
 
                 <report.url>http://internal-report-api-976419027.cn-north-1.elb.amazonaws.com.cn</report.url>
                 <import.temp.url>http://172.31.25.137:9001</import.temp.url>
-                <adi.url>http://www.adinsights.cn</adi.url>
+                <adi.url>http://39.104.114.198,http://129.226.187.229:8080</adi.url>
                 <!--Redis setting-->
                 <redis.key.validtime>120</redis.key.validtime>
                 <redis.ip.requesttimes>5</redis.ip.requesttimes>
diff --git a/src/main/java/adi/service/ADIAccountService.java b/src/main/java/adi/service/ADIAccountService.java
index 8e3fee5..2919ba6 100644
--- a/src/main/java/adi/service/ADIAccountService.java
+++ b/src/main/java/adi/service/ADIAccountService.java
@@ -18,7 +18,7 @@ public interface ADIAccountService {
 
     List<ADIUser> findAll(User user);
 
-    ADIUser findOne(String email);
+    ADIUser findOne(String email, String contractType);
 
     List<ReminderLevel> findReminderlevel();
 
diff --git a/src/main/java/adi/service/impl/ADIAccountServiceImpl.java b/src/main/java/adi/service/impl/ADIAccountServiceImpl.java
index 9ae708c..dc4a5ef 100644
--- a/src/main/java/adi/service/impl/ADIAccountServiceImpl.java
+++ b/src/main/java/adi/service/impl/ADIAccountServiceImpl.java
@@ -17,13 +17,13 @@ import office.model.BussinessMan;
 import office.repository.ADISaleMapRepository;
 import office.repository.BussinessManRepository;
 import org.apache.commons.collections4.list.TreeList;
+import org.joda.time.DateTime;
 import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
-import tkio.model.PackageType;
 import userio.repository.IOPackageTypeRepository;
 import userio.repository.IOSalesManLeaderRepository;
 import util.Constant;
@@ -135,7 +135,7 @@ public class ADIAccountServiceImpl implements ADIAccountService {
         //暂时 注释改代码
         if(true)    return ;
 
-        ADIUser adiUser = findOne(contract.getEmail());
+        ADIUser adiUser = findOne( contract.getEmail(),contract.getContractType());
         if(null != adiUser){
             String url = Constant.adiUrl.split(",")[0] + "adi/api/user/web/update";
             Map<String,String> conditions = new HashMap<>();
@@ -321,31 +321,72 @@ public class ADIAccountServiceImpl implements ADIAccountService {
         return result;
     }
     @Override
-    public ADIUser findOne(String email) {
-        String url = Constant.adiUrl.split(",")[0] + "/adi/api/user/web/one?email="+email;
-        String request = HttpClientUtil.doHttpGetRequest(url, "");
+    public ADIUser findOne(String email, String contractType) {
+
+
+
+        ADIUser adiUser1 =null;
+        ADIUser adiUser2 =null;
         ADIUser adiUser =null;
         try {
-            JSONObject rs = new JSONObject(request);
-            String content = rs.get("content").toString();
-            if(StringUtils.isEmpty(content)){
-                url = Constant.adiUrl.split(",")[1] + "/adi/api/user/web/one?email="+email;
-                request = HttpClientUtil.doHttpGetRequest(url, "");
-                rs = new JSONObject(request);
-                content = rs.get("content").toString();
+
+            if(contractType.contains("国内")){
+                String url = Constant.adiUrl.split(",")[0] + "/adi/api/user/web/one?email="+email;
+                String request = HttpClientUtil.doHttpGetRequest(url, "");
+                JSONObject rs = new JSONObject(request);
+                String content = rs.get("content").toString();
+                if(!StringUtils.isEmpty(content)){
+                    JSONArray jsonArray = new JSONArray(content);
+                    JSONObject jsonObject = jsonArray.getJSONObject(0);
+                    adiUser1 = new ADIUser();
+                    adiUser1.setCompany(jsonObject.getString("company"));
+                    adiUser1.setAccountStatus(jsonObject.getString("accountStatus"));
+                    adiUser1.setSendStatus(jsonObject.getString("sendStatus"));
+                    adiUser1.setEmail(jsonObject.getString("email"));
+                    adiUser1.setSendTime(jsonObject.getString("sendTime"));
+                }
+            }
+
+            if(contractType.contains("海外")){
+                String url = Constant.adiUrl.split(",")[1] + "/adi/api/user/web/one?email="+email;
+                String request = HttpClientUtil.doHttpGetRequest(url, "");
+                JSONObject rs = new JSONObject(request);
+                String content = rs.get("content").toString();
+                if(!StringUtils.isEmpty(content)){
+                    JSONArray jsonArray = new JSONArray(content);
+                    JSONObject jsonObject = jsonArray.getJSONObject(0);
+                    adiUser2 = new ADIUser();
+                    adiUser2.setCompany(jsonObject.getString("company"));
+                    adiUser2.setAccountStatus(jsonObject.getString("accountStatus"));
+                    adiUser2.setSendStatus(jsonObject.getString("sendStatus"));
+                    adiUser2.setEmail(jsonObject.getString("email"));
+                    adiUser2.setSendTime(jsonObject.getString("sendTime"));
+                }
             }
 
-            if(!StringUtils.isEmpty(content)){
-                JSONArray jsonArray = new JSONArray(content);
-                JSONObject jsonObject = jsonArray.getJSONObject(0);
-                adiUser = new ADIUser();
-                adiUser.setCompany(jsonObject.getString("company"));
-                adiUser.setAccountStatus(jsonObject.getString("accountStatus"));
-                adiUser.setSendStatus(jsonObject.getString("sendStatus"));
-                adiUser.setEmail(jsonObject.getString("email"));
-                adiUser.setSendTime(jsonObject.getString("sendTime"));
-                //adiUser = new ObjectMapper().readValue(content, ADIUser.class);
+            if(contractType.contains("国内") && contractType.contains("海外")){
+                if(StringUtils.isEmpty(adiUser1.getSendTime())&&StringUtils.isEmpty(adiUser2.getSendTime())){
+                    adiUser = adiUser1;
+                }else if(!StringUtils.isEmpty(adiUser1.getSendTime())&&StringUtils.isEmpty(adiUser2.getSendTime())){
+                    adiUser = adiUser1;
+                }else if(StringUtils.isEmpty(adiUser1.getSendTime())&&!StringUtils.isEmpty(adiUser2.getSendTime())){
+                    adiUser = adiUser2;
+                }else{
+                    DateTime dateTime1 = new DateTime(DateUtil.parseDate(DateUtil.C_TIME_PATTON_DEFAULT,adiUser1.getSendTime()));
+                    DateTime dateTime2 = new DateTime(DateUtil.parseDate(DateUtil.C_TIME_PATTON_DEFAULT,adiUser2.getSendTime()));
+                    if(dateTime1.isBefore(dateTime2)){
+                        adiUser = adiUser2;
+                    }else{
+                        adiUser = adiUser1;
+                    }
+                }
+            }else if(contractType.contains("国内")){
+                adiUser = adiUser1;
+            }else{
+                adiUser = adiUser2;
             }
+
+
         } catch (JSONException e) {
             e.printStackTrace();
         }
diff --git a/src/main/java/common/repository/ContractRepository.java b/src/main/java/common/repository/ContractRepository.java
index b8a4222..f1f68cc 100644
--- a/src/main/java/common/repository/ContractRepository.java
+++ b/src/main/java/common/repository/ContractRepository.java
@@ -141,4 +141,7 @@ public interface ContractRepository extends JpaRepository<Contract, Long> {
 
     @Query(value = "select * from contract where next_signed_contract_code=?1 limit 1  ",nativeQuery = true)
     Contract findByNextSignedContractCode(String contractCode);
+
+    @Query(value = "select * from contract where platform=?1 and share_sign  = ?2 ",nativeQuery = true)
+    List<Contract> findByPlatformAndShareSign(String platform, int share_sign);
 }
diff --git a/src/main/java/common/service/impl/ContractServiceImpl.java b/src/main/java/common/service/impl/ContractServiceImpl.java
index 6b70947..7592f48 100644
--- a/src/main/java/common/service/impl/ContractServiceImpl.java
+++ b/src/main/java/common/service/impl/ContractServiceImpl.java
@@ -261,7 +261,7 @@ public class ContractServiceImpl implements ContractService {
         } else if ("io".equals(platfrom)) {
             ioAccount4Web = ioAccount4WebRepository.findByEmail(email);
         } else if ("adi".equals(platfrom) || "cas".equals(platfrom) ) {
-            adiUser = adiAccountService.findOne(email);
+            adiUser = adiAccountService.findOne(email,"国内");
         }
         if (null == account && null == ioAccount4Web && null == adiUser ) {
             map.put("result", 0);
@@ -599,6 +599,7 @@ public class ContractServiceImpl implements ContractService {
 
         //this.calculateShareIncome(resource);//判断是否计算调整金
 
+
         //判断库里是否已有合同的主账号
         if ("tkio".equals(resource.getPlatform())) {
             List<Contract> contracts = contractRepository.findByPlatformAndEmail(resource.getPlatform(), resource.getEmail());
@@ -650,6 +651,25 @@ public class ContractServiceImpl implements ContractService {
                 }
 
             }
+        }else if("cas".equals(resource.getPlatform())){
+            ADIUser adiUser = adiAccountService.findOne(resource.getEmail(), resource.getContractType());
+            if(StringUtils.isEmpty(adiUser.getSendTime())){
+                resource.setShareSign(0);
+            }else{
+                resource.setShareSign(1);
+                DateTime sendTime = new DateTime(DateUtil.parseDate(DateUtil.C_TIME_PATTON_DEFAULT,adiUser.getSendTime()));
+
+                DateTime startDate = new DateTime(resource.getStartDate());
+                if(sendTime.isBefore(startDate)){
+                    sendTime = startDate;
+                }
+                DateTime endDate = new DateTime(resource.getEndDate());
+                String validStartDateStr = sendTime.toString(DateUtil.C_DATE_PATTON_DEFAULT);
+                int contractAllDay = Days.daysBetween(startDate, endDate).getDays();//合同总天数-1 ,用于计算结束日期
+                String validEndDateStr = sendTime.plusDays(contractAllDay).toString("yyyy-MM-dd");
+                resource.setValidStartDate(validStartDateStr);
+                resource.setValidEndDate(validEndDateStr);
+            }
         }
 
 
diff --git a/src/main/java/track/task/CASIPSendTimeTask.java b/src/main/java/track/task/CASIPSendTimeTask.java
new file mode 100644
index 0000000..91c850e
--- /dev/null
+++ b/src/main/java/track/task/CASIPSendTimeTask.java
@@ -0,0 +1,54 @@
+package track.task;
+
+import adi.model.ADIUser;
+import adi.service.ADIAccountService;
+import common.model.Contract;
+import common.repository.ContractRepository;
+import org.joda.time.DateTime;
+import org.joda.time.Days;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
+import util.DateUtil;
+
+import java.util.List;
+
+/**
+ * @author liyin
+ * @description
+ * @date
+ */
+public class CASIPSendTimeTask {
+    private final Logger logger = LoggerFactory.getLogger(CASIPSendTimeTask.class);
+
+    @Autowired
+    ADIAccountService adiAccountService;
+    @Autowired
+    ContractRepository contractRepository;
+
+
+    public void task(){
+        logger.info("CAS的IP定制发送日定时任务");
+        List<Contract> contracts = contractRepository.findByPlatformAndShareSign("cas",0);
+        for (Contract contract : contracts) {
+            ADIUser adiUser = adiAccountService.findOne(contract.getEmail(), contract.getContractType());
+            if(!StringUtils.isEmpty(adiUser.getSendTime())){
+                contract.setShareSign(1);
+                DateTime sendTime = new DateTime(DateUtil.parseDate(DateUtil.C_TIME_PATTON_DEFAULT,adiUser.getSendTime()));
+
+                DateTime startDate = new DateTime(contract.getStartDate());
+                if(sendTime.isBefore(startDate)){
+                    sendTime = startDate;
+                }
+                DateTime endDate = new DateTime(contract.getEndDate());
+                String validStartDateStr = sendTime.toString(DateUtil.C_DATE_PATTON_DEFAULT);
+                int contractAllDay = Days.daysBetween(startDate, endDate).getDays();//合同总天数-1 ,用于计算结束日期
+                String validEndDateStr = sendTime.plusDays(contractAllDay).toString("yyyy-MM-dd");
+                contract.setValidStartDate(validStartDateStr);
+                contract.setValidEndDate(validEndDateStr);
+                contractRepository.save(contract);
+            }
+        }
+    }
+}
diff --git a/src/main/resources/spring/applicationContext-schedule.xml b/src/main/resources/spring/applicationContext-schedule.xml
index ee39fd5..2400892 100644
--- a/src/main/resources/spring/applicationContext-schedule.xml
+++ b/src/main/resources/spring/applicationContext-schedule.xml
@@ -75,4 +75,10 @@
         <task:scheduled ref="syncCalculationFlowTask" method="syncFlow" cron="0 0/7 * * * ? "/>
     </task:scheduled-tasks>
 
+    <bean id="syncIPSendTime" class="track.task.CASIPSendTimeTask"></bean>
+    <task:scheduled-tasks>
+        <!--定时同步CAS的IP发送日(每天A.M八点执行一次)-->
+        <task:scheduled ref="syncIPSendTime" method="task" cron="0 0 8 * * ? "/>
+    </task:scheduled-tasks>
+
 </beans>