数据库新增一个字段 red_sum_omission
查询相关的文件要改
实体 SsqBaseRedBlue 新增属性 redSumOmission
mapper.xml 增加字段与属性的映射关系
插入相关:
1 zst-scheduler/.../SsqBaseRedBlueSis.java中加一句:
baseRedBlue.setRedSumOmission(MissionCal.calRedHeMission(lastSsqBaseRedBlue.getRedSumOmission(),winNumbersRed));
2 MissionCal中需要添加上面的方法 MissionCal.calRedHeMission
/**
* 红球和值 遗漏计算
*
* @param oldMission
* 旧遗漏值
* @param winNumbers
* @return
*/
public static String calRedHeMission(String oldMission, String[] winNumbers) {
Map<Integer, Integer> missionMap = BallProperties.getMissionMap(oldMission);
int he = BallProperties.getHe(winNumbers);
// 40及以下 41-45 46-50 51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-90 91-95 96-100 101-105 106-110
// 111-115 116-120 121-125 126-130 131-135 136-140 141-145 146-450 151-155 156-160 161-165 166及以上
int index = 0;
if (he <= 40) {
index = 0;
} else if(he>=41 && he<=165){
index = ((he-1)-40)/5+1;
} else if(he >= 166){
index = 26;
}
missionMap.put(index, 0);
oldMission = BallProperties.getMissionByMap(oldMission, missionMap);
return oldMission;
}
新增一个字段,那么这个字段的值都是null,可能需要进行一次初始化进行填充
初始化的执行需要写在admin-web工程里
1 首先找到初始化的字段相关的页面,比如 red_sum_omission 字段是加载走势图相关表中的,所以找到走势图相关的页面,比如我这是加到:彩期管理->走势图数据修复的菜单中,加了个按钮
2 这个按钮调用到ZstController中,新增一个初始化该字段的方法,在该方法中调用zst-client工程里的远程服务,去调用到zst-server去访问数据库进行该字段的初始化
3 要调用到zst-client,需要做到以下几步:
3.1 在admin-web的applicationContext.xml中导入zst-client的配置文件context.xml(其实就相当于在admin-web中配置了服务消费者一样,然后admin-web作为消费者就可以调用提供者了)
<import resource="classpath*:/zstClientConfig/context.xml" />
3.2 admin-web的pom.xml中引入zst-client的依赖
<dependency>
<groupId>com.aicai.zst</groupId>
<artifactId>zst-client</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
3.3 在ZstController中注入FcSsqAnalysisDataService接口,通过该接口调用zst中的方法
FcSsqAnalysisDataService接口是zst-common中的类,为什么admin-web中可以调用呢,是因为admin-web的pom文件中依赖了zst-client,而zst-client又依赖了zst-common,因此这里可以调用
4 上面实现了从admin-web调用到zst服务,接下来如果要在本地跑,需要分别在2个tomcat中部署(deployment)一下admin-web和zst-server工程,然后启动这2个tomcat,然后访问admin-web去点击那个加的按钮,然后调用到zst服务进行初始化操作
在启动服务之前,修改一下zst-server(服务提供者)和zst-client(服务消费者)的dubbo的注册中心配置:<dubbo:registry group=".../lc">,2边的要一样,这样就会注册和订阅到同一个dubbo服务,具体可见博客https://blog.csdn.net/liucai1018/article/details/103786836
5 在启动admin-web时报错:读取不到zst-client的xdiamond上配置的变量值,于是引起下面要做的一个事情
在admin-web中通过配置去连接XDiamond(之前是通过appHome):
5.1 pom文件依赖:
<!-- 配置中心 xdiamond -->
<dependency>
<groupId>io.github.xdiamond</groupId>
<artifactId>xdiamond-client</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
5.2 admin-web下resources目录下新建spring-env.xml,配置连接XDiamond:下面的要修改一下groupId,artifactId,version为自己项目的内容,对应的值可以到admin-web的pom文件中找
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="xDiamondConfig" class="io.github.xdiamond.client.spring.XDiamondConfigFactoryBean">
<property name="serverHost" value="${xdiamond.server.host:xdiamond.daily.inzwc.com}" />
<property name="serverPort" value="5678" />
<property name="groupId" value="com.aicai.admin" />
<property name="artifactId" value="admin-web" />
<property name="version" value="2.0-SNAPSHOT" />
<property name="profile" value="${xdiamond.project.profile:daily}" />
<property name="secretKey" value="${xdiamond.project.secretkey:}"></property>
</bean>
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="properties">
<bean id="xDiamondProperties" class="java.util.Properties"
factory-bean="xDiamondConfig" factory-method="getProperties">
</bean>
</property>
</bean>
</beans>
5.3 在applicationContext.xml中导入spring-env.xml
5.4 到XDiamond系统上->项目管理->新建一个Project
将内容填写一些,ownerGroup这里选择"技术中心"
5.5 连接远程服务器,修改beta和线上服务器的opt/tomcat.../bin下的setenv.sh文件下的值:(daily可以不加是因为上面配置文件给了默认值)
-Dxdiamond.server.host=xdiamond.inzwc.com (对应各个环境下 xDiamond server的ip)
-Dxdiamond.project.profile=product
-Dxdiamond.project.secretkey=b8ylj4r0OcBMgdNU"
如果这几个没有的话就加一下
可以了,到时候上beta和线上的需要再在XDiamond上新增一下,以及修改一下对应环境的远程服务器内容
最终执行初始化的逻辑代码写在zst-server中:
FcSsqAnalysisDataManagerImpl 类 initRedSumOmission 方法
数据库表新增一个字段的相关流程
猜你喜欢
转载自blog.csdn.net/liucai1018/article/details/103850700
今日推荐
周排行