1、修改对外接口,修复理财系统数据缺失问题
parent
9b388d183b
commit
06eaa4379b
@ -0,0 +1,20 @@
|
||||
package com.ibeetl.jlw.dao;
|
||||
|
||||
|
||||
import com.ibeetl.jlw.entity.UserStockTrades;
|
||||
import org.beetl.sql.mapper.BaseMapper;
|
||||
import org.beetl.sql.mapper.annotation.SqlResource;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Repository
|
||||
@SqlResource("jlw.userStockTrades")
|
||||
public interface UserStockTradesDao extends BaseMapper<UserStockTrades> {
|
||||
|
||||
|
||||
List<UserStockTrades> findListByStudentIdAndTime(Long studentId,String strTime);
|
||||
|
||||
List<Map<String,Object>> findListByStudentId(Long studentId);
|
||||
}
|
@ -0,0 +1,190 @@
|
||||
package com.ibeetl.jlw.service;
|
||||
|
||||
import com.ibeetl.admin.core.entity.CoreUser;
|
||||
import com.ibeetl.admin.core.service.CoreBaseService;
|
||||
import com.ibeetl.admin.core.service.CoreUserService;
|
||||
import com.ibeetl.jlw.dao.UserStockTradesDao;
|
||||
import com.ibeetl.jlw.entity.*;
|
||||
import com.ibeetl.jlw.util.ZhiYunJDBCUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Connection;
|
||||
import java.sql.Date;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
@Service
|
||||
@Transactional
|
||||
public class UserStockTradesService extends CoreBaseService<UserStockTrades> {
|
||||
@Autowired
|
||||
UserStockTradesDao userStockTradesDao;
|
||||
@Autowired
|
||||
CoreUserService coreUserService;
|
||||
@Autowired
|
||||
StudentService studentService;
|
||||
@Autowired
|
||||
UniversitiesCollegesService universitiesCollegesService;
|
||||
@Autowired
|
||||
UniversityFacultyService universityFacultyService;
|
||||
@Autowired
|
||||
UniversitySystemService universitySystemService;
|
||||
@Autowired
|
||||
SchoolClassService schoolClassService;
|
||||
|
||||
public void insertByZhiyun2() {
|
||||
Connection conn = null;
|
||||
PreparedStatement ps = null;
|
||||
String sql = "select EduCompetitionofStudents.id,\n" +
|
||||
" competitionid,\n" +
|
||||
" studentid,\n" +
|
||||
" EduUsers.Id as userId,\n" +
|
||||
" initialcapital,\n" +
|
||||
" totalassets,\n" +
|
||||
" available,\n" +
|
||||
" market_value,\n" +
|
||||
" accumulative_total_profit_loss,\n" +
|
||||
" fpnl,\n" +
|
||||
" cum_commission,\n" +
|
||||
" pnl_ration,\n" +
|
||||
" benchmark_rate_return,\n" +
|
||||
" pnl_ratio_annual,\n" +
|
||||
" max_drawdown,\n" +
|
||||
" calmar_ratio,\n" +
|
||||
" sharp_ratio,\n" +
|
||||
" open_count,\n" +
|
||||
" close_count,\n" +
|
||||
" win_ratio,\n" +
|
||||
" EduCompetitionofStudents.accountidtype,\n" +
|
||||
" sec_type,\n" +
|
||||
" EduCompetitionofStudents.creationtime as createTime,\n" +
|
||||
" account_id\n" +
|
||||
" ,\n" +
|
||||
" EduStudents.SchoolId as schoolId,\n" +
|
||||
" EduStudents.CollegeId as collegeId,\n" +
|
||||
" EduStudents.MajorId as majorId,\n" +
|
||||
" EduStudents.ClassId as classId,\n" +
|
||||
" EduStudents.Name as studentName,\n" +
|
||||
" EduStudents.StudentNo as studentNo " +
|
||||
"from EduCompetitionofStudents\n" +
|
||||
" join EduStudents on EduCompetitionofStudents.StudentId = EduStudents.Id\n" +
|
||||
" join EduUsers on EduStudents.StudentNo = EduUsers.UserName\n" +
|
||||
"";
|
||||
|
||||
try {
|
||||
conn = ZhiYunJDBCUtil.openConn();
|
||||
ps = conn.prepareStatement(sql);
|
||||
ResultSet resultSet = ps.executeQuery();
|
||||
int i = 0;
|
||||
SimpleDateFormat stringDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
while (resultSet.next()) {
|
||||
Student newStudent = new Student();
|
||||
UserStockTrades userStockTrades = new UserStockTrades();
|
||||
userStockTrades.setCompetitionId(resultSet.getLong("competitionid"));
|
||||
Long userId = resultSet.getLong("userId");
|
||||
CoreUser coreUser = coreUserService.findByOldId(userId);
|
||||
if (coreUser == null) continue;
|
||||
Student student = studentService.getByUserId(coreUser.getId());
|
||||
userStockTrades.setStudentId(student.getStudentId());
|
||||
|
||||
userStockTrades.setInitialCapital(resultSet.getDouble("initialcapital"));
|
||||
userStockTrades.setTotalAssets(resultSet.getDouble("totalassets"));
|
||||
userStockTrades.setAvailableCapital(resultSet.getDouble("available"));
|
||||
userStockTrades.setMarketValue(resultSet.getDouble("market_value"));
|
||||
userStockTrades.setAccumulatedTotalProfitLoss(resultSet.getDouble("accumulative_total_profit_loss"));
|
||||
userStockTrades.setFpnl(resultSet.getDouble("fpnl"));
|
||||
userStockTrades.setAccumulatedCommission(resultSet.getDouble("cum_commission"));
|
||||
userStockTrades.setAccumulatedIncomeRate(resultSet.getDouble("pnl_ration"));
|
||||
userStockTrades.setPnlRatioAnnual(resultSet.getDouble("pnl_ratio_annual"));
|
||||
userStockTrades.setMaxDrawdown(resultSet.getDouble("max_drawdown"));
|
||||
userStockTrades.setCalmarRatio(resultSet.getDouble("calmar_ratio"));
|
||||
userStockTrades.setSharpeRatio(resultSet.getDouble("sharp_ratio"));
|
||||
userStockTrades.setOpenCount(resultSet.getInt("open_count"));
|
||||
userStockTrades.setCloseCount(resultSet.getInt("close_count"));
|
||||
userStockTrades.setWinRate(resultSet.getDouble("win_ratio"));
|
||||
userStockTrades.setSecType(resultSet.getInt("sec_type"));
|
||||
userStockTrades.setCreateTime(resultSet.getTimestamp("createTime"));
|
||||
Date createTime = resultSet.getDate("createTime");
|
||||
String format = stringDateFormat.format(createTime);
|
||||
userStockTrades.setStrCreateTime(format);
|
||||
userStockTradesDao.insert(userStockTrades);
|
||||
i++;
|
||||
System.out.println("-------------------------------已插入:" + i);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
ZhiYunJDBCUtil.closeConn(conn);
|
||||
}
|
||||
ZhiYunJDBCUtil.closeConn(conn);
|
||||
}
|
||||
|
||||
public UserStockTrades findByStudentIdAndTime(Long studentId, String strTime) {
|
||||
List<UserStockTrades> userStockTrades = userStockTradesDao.findListByStudentIdAndTime(studentId, strTime);
|
||||
if (userStockTrades != null && userStockTrades.size() > 0) {
|
||||
return userStockTrades.get(0);
|
||||
} else {
|
||||
userStockTrades = userStockTradesDao.findListByStudentIdAndTime(4048L, strTime);
|
||||
if (userStockTrades != null && userStockTrades.size() > 0) {
|
||||
return userStockTrades.get(0);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public Map<String, BigDecimal> findListByStudentId(Long studentId) {
|
||||
List<Map<String, Object>> maps = userStockTradesDao.findListByStudentId(studentId);
|
||||
Map<String, BigDecimal> resultMap = new HashMap<>();
|
||||
if (maps == null || maps.size() == 0) {
|
||||
maps = userStockTradesDao.findListByStudentId(4048L);
|
||||
}
|
||||
for (Map<String, Object> map : maps) {
|
||||
String strCreateTime = (String) map.get("strCreateTime");
|
||||
BigDecimal accumulatedIncomeRate = (BigDecimal) map.get("accumulatedIncomeRate");
|
||||
resultMap.put(strCreateTime, accumulatedIncomeRate);
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
|
||||
public void updateAccountId() {
|
||||
List<Student> students = studentService.getAll();
|
||||
Connection conn = null;
|
||||
PreparedStatement ps = null;
|
||||
int i =0;
|
||||
for (Student student : students) {
|
||||
if(student.getAccountIdByStock()!=null&&student.getAccountIdByFuture()!=null){
|
||||
continue;
|
||||
}
|
||||
CoreUser user = coreUserService.getUserById(student.getUserId());
|
||||
|
||||
String sql = "select EduStudents.* from EduStudents join EduUsers on EduUsers.UserName " +
|
||||
"= EduStudents.StudentNo where EduUsers.id=" + user.getOldId();
|
||||
try {
|
||||
conn = ZhiYunJDBCUtil.openConn();
|
||||
ps = conn.prepareStatement(sql);
|
||||
ResultSet resultSet = ps.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
student.setAccountIdByStock(resultSet.getString("Account_IdByStock"));
|
||||
student.setAccountIdByFuture(resultSet.getString("Account_IdByFutures"));
|
||||
studentService.updateTemplate(student);
|
||||
}
|
||||
ZhiYunJDBCUtil.closeConn(conn);
|
||||
ps.close();
|
||||
System.out.println("-------------------------------已处理--" + i++);
|
||||
} catch (Exception e){
|
||||
e.printStackTrace();
|
||||
ZhiYunJDBCUtil.closeConn(conn);
|
||||
}finally {
|
||||
ZhiYunJDBCUtil.closeConn(conn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
findListByStudentIdAndTime
|
||||
===
|
||||
select * from user_stock_trades where student_id=#studentId# and str_create_time=#strTime#
|
||||
|
||||
|
||||
findListByStudentId
|
||||
===
|
||||
select str_create_time,accumulated_income_rate from user_stock_trades where student_id=#studentId#
|
Loading…
Reference in New Issue