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