提交 2d2fc348 编写于 作者: 偏锋书生's avatar 偏锋书生

1

上级 79cba47c
package net.wicp.tams.duckula.demo.cassandra;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import org.apache.commons.collections.CollectionUtils;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.mapping.Result;
import com.datastax.driver.core.Row;
import net.wicp.tams.common.Conf;
import net.wicp.tams.common.cassandra.CassandrType;
import net.wicp.tams.common.cassandra.CassandraAssit;
import net.wicp.tams.common.cassandra.bean.Columns;
import net.wicp.tams.common.cassandra.jdbc.CassandraData;
import net.wicp.tams.common.cassandra.jdbc.CassandraDatas;
import net.wicp.tams.common.cassandra.jdbc.CassandraDatas.Builder;
import net.wicp.tams.common.cassandra.jdbc.OptType;
import net.wicp.tams.duckula.demo.cassandra.bean.OdsResumes;
import net.wicp.tams.common.cassandra.jdbc.CassandraDatas.Builder;
import net.wicp.tams.duckula.demo.cassandra.bean.RuleConfigTemplate;
import net.wicp.tams.duckula.demo.cassandra.bean.RuleResult;
import net.wicp.tams.duckula.demo.cassandra.bean.Train;
public class CassandraDemo {
public static void main(String[] args) {
Properties props=new Properties();
Properties props = new Properties();
props.put("common.cassandra.pool.default.contactpoint", "192.168.1.222");
props.put("common.cassandra.pool.default.username", "root");
props.put("common.cassandra.pool.default.password", "123456");
props.put("common.cassandra.pool.default.password", "123456");
Conf.overProp(props);
//testinsert();
List<OdsResumes> mappers = testMapper();
System.out.println(mappers);
// testinsert();
// countResult();
countScore();
}
private static void countScore() {
ResultSet rs = CassandraAssit.getSession().execute(
"select * from gvp.rule_config_template where template_id=d9bf3863-b4f3-4aac-b607-440fe1ae9d1d;");
List<RuleConfigTemplate> listtemplate = CassandraAssit.getMappingManager().mapper(RuleConfigTemplate.class)
.map(rs).all();
Map<String, BigDecimal> map = new HashMap<String, BigDecimal>();
for (RuleConfigTemplate ruleConfigTemplate : listtemplate) {
map.put(ruleConfigTemplate.getItemConfigId(), ruleConfigTemplate.getItemScore());
}
// ResultSet rs2 = CassandraAssit.getSession()
// .execute("select * from gvp.ods_resumes where
// id=756716f7-2e54-4715-9f00-91dcbea6cf59;");
RuleResult ruleResult = CassandraAssit.getMappingManager().mapper(RuleResult.class).get();// .get("1","2020-11-25");
Map<String, Boolean> result = ruleResult.getResult();
System.out.println(result);
BigDecimal scroe = new BigDecimal(0);
for (String ruleItemKey : map.keySet()) {
if (result.containsKey(ruleItemKey) && result.get(ruleItemKey)) {
scroe=scroe.add(map.get(ruleItemKey));
}
}
//更新
ResultSet rs2 = CassandraAssit.getSession().execute(
"update gvp.rule_result1 set result['GVP.0.3'] =true,update_time=toTimestamp(now()) where telant_id='1' and statistical_date='2020-11-25';");
System.out.println("scroe:"+scroe);
}
private static List<OdsResumes> testMapper() {
ResultSet rs = CassandraAssit.getSession().execute("select * from gvp.ods_resumes;");
Result<OdsResumes> map = CassandraAssit.getMappingManager().mapper(OdsResumes.class).map(rs);
return map.all();
private static void countResult() {
ResultSet rs = CassandraAssit.getSession()
.execute("select * from gvp.ods_resumes where id=756716f7-2e54-4715-9f00-91dcbea6cf59;");
// Result<OdsResumes> map =
// CassandraAssit.getMappingManager().mapper(OdsResumes.class).map(rs);
OdsResumes odsResumes = CassandraAssit.getMappingManager().mapper(OdsResumes.class).get();
// return map.all();
boolean isGradeUp = false;
if (odsResumes != null && CollectionUtils.isNotEmpty(odsResumes.getTrains())) {
for (Train train : odsResumes.getTrains()) {
if (Integer.parseInt(train.getGrade()) >= 1) {
isGradeUp = true;
break;
}
}
}
if (isGradeUp) {// 更新
ResultSet rs2 = CassandraAssit.getSession().execute(
"update gvp.rule_result1 set result['GVP.0.3'] =true,update_time=toTimestamp(now()) where telant_id='1' and statistical_date='2020-11-25';");
if (rs2.wasApplied()) {
Row row = rs2.one();
// 有事务才会出现
// System.out.println("applied=" + row.getBool("[applied]"));
// TODO 发kafka消息
} else {
Row row = rs2.one();
System.out.println("applied=" + row.getBool("[applied]") + ",userName=" + row.getString("userName"));
}
}
}
private static void testinsert() {
Builder builder = CassandraDatas.newBuilder();
......
package net.wicp.tams.duckula.demo.cassandra.bean;
import java.math.BigDecimal;
import java.util.UUID;
import com.datastax.driver.mapping.annotations.Column;
import com.datastax.driver.mapping.annotations.Table;
import lombok.Data;
@Table(keyspace = "gvp", name = "rule_config_template")
@Data
public class RuleConfigTemplate {
@Column(name = "template_id")
private UUID templateId;
@Column(name = "item_config_id")
private String itemConfigId;
@Column(name = "item_score")
private BigDecimal itemScore;
}
package net.wicp.tams.duckula.demo.cassandra.bean;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.datastax.driver.mapping.annotations.Column;
import com.datastax.driver.mapping.annotations.Table;
import lombok.Data;
@Table(keyspace = "gvp", name = "rule_result1")
@Data
public class RuleResult {
@Column(name = "telant_id")
private String telantId;
@Column(name = "statistical_date")
private Date statisticalDate;
@Column(name = "result")
private Map<String, Boolean> result;
}
......@@ -9,7 +9,7 @@ import lombok.Data;
@UDT(keyspace = "gvp", name = "train")
class Train {
public class Train {
@Field(name = "name")
private String name;
//@Field(name = "date")
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册