测试bug修复

master
c1769 2 years ago
parent 761cddcb79
commit 4b71e11834

File diff suppressed because one or more lines are too long

@ -33,7 +33,7 @@ public class BusinessUtils {
* @Date 2022-07-20 18:03
*/
public static Object toFixed(BigDecimal data, int decimal, boolean judge) {
data = data == null ? new BigDecimal(0) : data;
data = data == null ? BigDecimal.ZERO : data;
if (judge) {
return Double.parseDouble(String.format("%." + decimal + "f", data));
}

@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
@ -71,8 +72,13 @@ public class SztzjyRequestUtil {
uriBuilder.addParameter(item.getKey(), String.valueOf(item.getValue()));
}
}
response = httpClient.execute(new HttpGet(uriBuilder.build()));
RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(3000) //设置连接超时时间为5秒
.setSocketTimeout(3000) //设置读取数据超时时间为5秒
.build();
final HttpGet httpGet = new HttpGet(uriBuilder.build());
httpGet.setConfig(requestConfig);
response = httpClient.execute(httpGet);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == SC_OK) {
@ -130,7 +136,12 @@ public class SztzjyRequestUtil {
}
}
RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(3000) //设置连接超时时间为5秒
.setSocketTimeout(3000) //设置读取数据超时时间为5秒
.build();
HttpPost httpPost = new HttpPost(uriBuilder.build());
httpPost.setConfig(requestConfig);
if (body != null) {
//将map类型的map转为json字符串
String bodyJson = JSONObject.parseObject(JSON.toJSONString(body)).toJSONString();

@ -80,4 +80,7 @@ public class ContractsPledgeService extends CoreBaseService<ContractsPledge> {
return pledge == null ? null : pledge.getSellerZyContractFile();
}
public ContractsPledge getPledgeByFinancingId(Long financingId) {
return this.contractsPledgeDao.createLambdaQuery().andEq(ContractsPledge::getFinancingId, financingId).single();
}
}

@ -63,14 +63,5 @@ public class ContractsProductsController {
return JsonResult.success(contractsProductsService.getList(queryParam));
}
// /**
// * 存货质押融资 根据融资ID查询产品列表
// */
// @GetMapping("/listByFinancingId/{financingId}")
// @AliasProcessor
// public JsonResult<List<ContractsProducts>> listByFinancingId(@PathVariable Long financingId) {
// return JsonResult.success(contractsProductsService.getListByFinancingId(financingId));
// }
}

@ -23,6 +23,8 @@ public interface ContractsProductsDao extends BaseMapper<ContractsProducts> {
BigDecimal getCurrentAmount(Long contractId, Long protocolId);
BigDecimal getCurrentAmountByPickupId(Long pickupId);
BigDecimal getPickupAmountByIds(List<Long> ids);
void updatePickupStatus(Long pickupProductId, Integer pickupStatus);

@ -23,10 +23,6 @@ public class ContractsProductsService extends CoreBaseService<ContractsProducts>
return contractsProductsDao.getList(queryParam);
}
// public List<ContractsProducts> getListByFinancingId(Long financingId) {
// return contractsProductsDao.getListByFinancingId(financingId);
// }
public List<ContractsProducts> getListByContractId(Long id) {
ContractsProducts queryParam = new ContractsProducts();
queryParam.setContractId(id);
@ -49,6 +45,15 @@ public class ContractsProductsService extends CoreBaseService<ContractsProducts>
return amount == null ? BigDecimal.ZERO : amount;
}
/**
*
* @return
*/
public BigDecimal getCurrentAmountByPickupId(Long pickupId) {
final BigDecimal amount = contractsProductsDao.getCurrentAmountByPickupId(pickupId);
return amount == null ? BigDecimal.ZERO : amount;
}
public BigDecimal getPickupAmountByIds(List<Long> ids) {
final BigDecimal amount = contractsProductsDao.getPickupAmountByIds(ids);

@ -6,6 +6,8 @@ import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.util.NoUtil;
import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.jlw.entity.Materials;
import com.ibeetl.jlw.flow.contractspledge.entity.ContractsPledge;
import com.ibeetl.jlw.flow.contractspledge.service.ContractsPledgeService;
import com.ibeetl.jlw.flow.financings.dao.FinancingsDao;
import com.ibeetl.jlw.flow.financings.entity.Financings;
import com.ibeetl.jlw.flow.recommendsupplier.entity.RecommendSupplier;
@ -44,6 +46,9 @@ public class FinancingsService extends CoreBaseService<Financings> {
@Autowired
private ExaminationInstancesService examinationInstancesService;
@Autowired
private ContractsPledgeService contractsPledgeService;
// 融资利率
public final static Map<String, Map<Integer, Double>> INTEREST_RATE = new HashMap<>();
@ -290,12 +295,14 @@ public class FinancingsService extends CoreBaseService<Financings> {
*/
@Transactional
public void audit(Financings dto) {
final Date now = new Date();
dto.setUpdatedAt(now);
if (dto.getFinancingAuditTime() == null) {
dto.setFinancingAuditTime(now);
}
final Financings single = financingsDao.single(dto.getId());
if (Objects.equals(single.getFinancingType(), 3)) {
// 3应收账款质押融资审核前需要买方上传确认函
final ContractsPledge pledge = contractsPledgeService.getPledgeByFinancingId(dto.getId());
if (!Objects.equals(pledge.getBuyerConfirm(), 1)) {
throw new GlobalException("买方未上传确认函!");
}
}
if (!Objects.equals(dto.getApplyStatus(), -5)) { // 审核通过
// 推进流程进度
if (dto.getStep() != null) {
@ -313,6 +320,11 @@ public class FinancingsService extends CoreBaseService<Financings> {
dto.setInterestAmount(financings.getInterestAmount()); // 利息
}
}
final Date now = new Date();
dto.setUpdatedAt(now);
if (dto.getFinancingAuditTime() == null) {
dto.setFinancingAuditTime(now);
}
financingsDao.updateTemplateById(dto);
}

@ -120,7 +120,7 @@ public class SendProductsService extends CoreBaseService<SendProducts> {
// 卖方资金减少(成本价购买货物)
examinationInstancesService.decrementBalance(contract.getExaminationId(), contract.getInstanceId(), "2", totalCostPrice); // 卖方角色ID为2
// 存货增加(成本价计算),发货导致存货价值减少(售价计算)
// 存货增加(成本价计算),发货导致存货价值减少(售价计算) // 发货后卖方存货为0 不增加
// final BigDecimal sub = totalCostPrice.subtract(contract.getTotalSellPrice());
// examinationInstancesService.incrementProductAssets(contract.getExaminationId(), contract.getInstanceId(), "2", sub); // 卖方角色ID为2
this.updateTemplate(dto); // 修改发货状态

@ -134,9 +134,9 @@ public class WarehouseShipmentService extends CoreBaseService<WarehouseShipment>
financings.setYfzkAmount(financings.getContractAmount());
// 买方企业收货之后,存货价值增加,存货以当前售价计算价值
final PickupProducts pickupProducts = pickupProductsService.queryById(warehouseShipment.getPickupProductId());
final BigDecimal amount = contractsProductsService.getCurrentAmountByPickupId(warehouseShipment.getPickupProductId());
examinationInstancesService.incrementProductAssets(warehouseShipment.getExaminationId(),
warehouseShipment.getInstanceId(), "1", pickupProducts.getPickupApplyAmount()); // 买方角色ID为1
warehouseShipment.getInstanceId(), "1", amount); // 买方角色ID为1
} else {
// 存货质押融资没有购销合同 已提货物金额 根据协议ID查询
hadPickupAmount = contractsProductsService.getHadPickupAmount(null, warehouseShipment.getProtocolId());

@ -34,9 +34,6 @@ public class ExaminationInstancesService extends CoreBaseService<ExaminationInst
@Autowired
private ExaminationsService examinationsService;
@Autowired
private UsersService usersService;
public ExaminationInstances examinationFinancialByQuery(Long teamId, Long examinationId, Long flowId) {
return examinationInstancesDao.examinationFinancialByQuery(teamId, examinationId, flowId);
}
@ -69,6 +66,8 @@ public class ExaminationInstancesService extends CoreBaseService<ExaminationInst
ExaminationInstances lastExaminationFinancials = examinationInstancesDao.getLastExaminationFinancials(usersId, type);
if (lastExaminationFinancials == null) {
lastExaminationFinancials = new ExaminationInstances();
lastExaminationFinancials.setInitBalance(w100);
lastExaminationFinancials.setBalance(w100);
}
ExaminationInstances financials = new ExaminationInstances();
// 实训模式资产信息是最近实训的资产信息
@ -190,16 +189,16 @@ public class ExaminationInstancesService extends CoreBaseService<ExaminationInst
// 没有团队 生成新的 examinationInstances
examinationInstances = new ExaminationInstances();
teamId = 0L;
try {
usersService.syncFinancial(users);
BigDecimal balance = users.getBalance().add(users.getProductAssets() == null ? BigDecimal.ZERO : users.getProductAssets());
examinationInstances.setBalance(balance);
examinationInstances.setInitBalance(balance);
} catch (Exception e) {
// try {
// usersService.syncFinancial(users);
// BigDecimal balance = users.getBalance().add(users.getProductAssets() == null ? BigDecimal.ZERO : users.getProductAssets());
// examinationInstances.setBalance(balance);
// examinationInstances.setInitBalance(balance);
// } catch (Exception e) {
// 同步智云若出现异常 赋默认值
examinationInstances.setBalance(w100);
examinationInstances.setInitBalance(w100);
}
// }
}
examinationInstances.setTeamId(teamId);
examinationInstances.setExaminationId(examinationId);

@ -154,8 +154,8 @@ public class NoticesService extends CoreBaseService<Notices> {
* @return
*/
public JsonResult<PageQuery<Notices>> getNoticesList(PageQuery page, Users users) {
if (Objects.equals(users.getTeacherId(),0L)) {
// 未登录时users为空
if (users == null || Objects.equals(users.getTeacherId(),0L)) {
return JsonResult.failMessage("获取用户失败");
}

@ -122,8 +122,8 @@ public class UserExaminationsService extends CoreBaseService<UserExaminations> {
financings.set("init_balance", BusinessUtils.toFixed(userExaminations.get("initBalance"), 2, false));
financings.set("balance", BusinessUtils.toFixed(userExaminations.get("balance"), 2, false));
financings.set("product_assets", BusinessUtils.toFixed(userExaminations.get("productAssets"), 2, false));
financings.set("total_balance", BusinessUtils.toFixed(((BigDecimal) userExaminations.get("balance")).add(((BigDecimal) userExaminations.get("productAssets"))), 2, false));
financings.set("raise_rate", userExaminations.get("raiseRate") == null ? 0 : userExaminations.get("raiseRate"));
financings.set("total_balance", BusinessUtils.toFixed(userExaminations.get("totalBalance"), 2, false));
financings.set("raise_rate", userExaminations.getRaiseRate() == null ? 0 : userExaminations.getRaiseRate());
financings.set("raise_orders", userExaminations.get("raiseOrders") == null ? 0 : userExaminations.get("raiseOrders"));
userExaminations.set("financial", financings);

@ -8,9 +8,6 @@ import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.util.HttpRequestLocal;
import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.jlw.dao.ClassesDao;
import com.ibeetl.jlw.dao.FlowsDao;
import com.ibeetl.jlw.dao.UsersDao;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.web.query.TeamsQuery;
@ -31,7 +28,6 @@ import java.util.*;
*/
@Service
@Transactional
public class UsersService extends CoreBaseService<Users> {
@Autowired
@ -40,12 +36,6 @@ public class UsersService extends CoreBaseService<Users> {
@Autowired
private HttpRequestLocal httpRequestLocal;
@Autowired
private ClassesDao classesDao;
@Autowired
private FlowsDao flowsDao;
@Autowired
private ExaminationsService examinationsService;
@ -56,69 +46,83 @@ public class UsersService extends CoreBaseService<Users> {
private static final int STUDENT = 4;
// 本系统在整个平台中的ID
public static final int APPLICATION_ID = 38;
public static final String ACCESS_CURRENT_USER = "financial:user";
public PageQuery<Users> queryByCondition(PageQuery query) {
PageQuery ret = usersDao.queryByCondition(query);
PageQuery<Users> ret = usersDao.queryByCondition(query);
queryListAfter(ret.getList());
return ret;
}
public void deleteUsers(String ids) {
try {
usersDao.deleteUsersByIds(ids);
} catch (Exception e) {
throw new PlatformException("批量删除Users失败", e);
}
}
public List<Users> getValues(Object paras) {
return sqlManager.select("jlw.users.getUsersValues", Users.class, paras);
}
public List<Users> getValuesByQuery(UsersQuery usersQuery) {
return usersDao.getValuesByQuery(usersQuery);
}
@Transactional
public Users login(UsersQuery usersQuery) {
//者账号密码 不能同时为空
if (StringUtils.isEmpty(usersQuery.getUsername()) || StringUtils.isEmpty(usersQuery.getPassword())) {
throw new GlobalException("用户名或密码不能为空");
}
final Users user = loginByPlatform(usersQuery.getUsername(), usersQuery.getPassword()); // 通过智云登录并获取用户信息
// final Users user = loginByLocal(usersQuery.getUsername(), usersQuery.getPassword()); // 无法连接智云 使用本地登录
//之前的系统用的是token+缓存我们这次改为用session来存储数据
httpRequestLocal.setSessionValue(ACCESS_CURRENT_USER, user);
httpRequestLocal.remove();
Users userResult = new Users();
userResult.setType(user.getType());
userResult.setId(user.getId()); // 前端需要保存到cookie
userResult.setUsername(user.getUsername()); // 前端需要保存到cookie
return userResult;
}
/**
*
*
* @param username
* @param password
* @return
*/
private Users loginByPlatform(String username, String password) {
//发起请求,获取用户数据
JSONObject loginResp = SztzjyRequestUtil.post(SztzjyRequestUtil.GET_USER_INFO_URL, new HashMap<String, Object>() {{
put("LoginName", usersQuery.getUsername());
put("Password", usersQuery.getPassword());
put("LoginName", username);
put("Password", password);
}});
SztzjyLogoEntity sztzjyLogoEntity = loginResp.getObject("result", SztzjyLogoEntity.class);
if (Objects.isNull(sztzjyLogoEntity) || Objects.isNull(sztzjyLogoEntity.getUserId())) {
throw new GlobalException("登录失败");
}
return postLogin(sztzjyLogoEntity, password, loginResp);
}
/**
*
*/
private Users loginByLocal(String username, String password) {
final Users single = this.usersDao.createLambdaQuery()
.andEq(Users::getUsername, username)
.andEq(Users::getPassword, password)
.single();
if (single == null) {
throw new GlobalException("登录失败");
}
return single;
}
private Users postLogin(SztzjyLogoEntity sztzjyLogoEntity, String password, JSONObject loginResp) {
Users user = sqlManager.lambdaQuery(Users.class).andEq(Users::getExUserId, sztzjyLogoEntity.getUserId()).single();
boolean exist = true; //是否是已存在的一个记号,后面判断是插入还是更新使用
if (user == null || user.getId() == null) {
exist = false;
user = new Users();
user.setCreatedAt(new Date());
}
//TODO 原本重构的时候 Users表要关联Core_user表的id和Core_org的id,但是这里先写死,后面在做数据统一的处理
user.setCoreUserId(1);
user.setCoreOrgId(1);
// ==================
user.setUsername(sztzjyLogoEntity.getUserName());
user.setNickname(sztzjyLogoEntity.getName());
user.setExUserId(sztzjyLogoEntity.getUserId());
user.setPassword(usersQuery.getPassword());
user.setPassword(password);
user.setClassId(sztzjyLogoEntity.getClassId());
user.setType(Objects.isNull(sztzjyLogoEntity.getRoleId()) ? 0 : sztzjyLogoEntity.getRoleId());
user.setSchoolId(sztzjyLogoEntity.getSchoolId());
@ -126,31 +130,20 @@ public class UsersService extends CoreBaseService<Users> {
user.setStudentId(sztzjyLogoEntity.getStudentId());
user.setTeacherId(sztzjyLogoEntity.getTeacherId());
//本地数据库里面的data实则就是存储这个请求查询结果的所以这里做一下新旧合并
user.setData(
JsonMergeUtil.jsonMerge(
JSONObject.parseObject(user.getData()),
loginResp.getJSONObject("result")
).toJSONString()
);
user.setData(JsonMergeUtil.jsonMerge(JSONObject.parseObject(user.getData()),
loginResp.getJSONObject("result")).toJSONString());
if (exist) {
sqlManager.lambdaQuery(Users.class).andEq(Users::getExUserId,sztzjyLogoEntity.getUserId()).updateSelective(user);
sqlManager.lambdaQuery(Users.class).andEq(Users::getExUserId, sztzjyLogoEntity.getUserId()).updateSelective(user);
} else {
sqlManager.insert(Users.class, user);
}
if (sztzjyLogoEntity.getRoleId() == TEACHER && !Objects.isNull(sztzjyLogoEntity.getTeacherId())) {
//通过教师id获取班级列表
JSONObject reqClassesResp = SztzjyRequestUtil.post(SztzjyRequestUtil.GET_CLASSES, new HashMap<String, Object>() {{
put("TeacherId", sztzjyLogoEntity.getTeacherId());
}});
JSONObject reqClassesResp = SztzjyRequestUtil.post(SztzjyRequestUtil.GET_CLASSES, Collections.singletonMap("TeacherId", sztzjyLogoEntity.getTeacherId()));
List<SztzjyClassesEntity> classesResultList = reqClassesResp.getObject("result", new TypeReference<List<SztzjyClassesEntity>>() {
});
classesResultList.forEach(item -> {
Classes classes = sqlManager.lambdaQuery(Classes.class).andEq(Classes::getClassesId, item.getId()).single();
boolean isInsert = false;
if (Objects.isNull(classes)) {
classes = new Classes();
@ -158,28 +151,22 @@ public class UsersService extends CoreBaseService<Users> {
classes.setCreatedAt(new Date());
isInsert = true;
}
classes.setName(item.getName());
classes.setTeacherId(sztzjyLogoEntity.getTeacherId());
classes.setSchoolId(sztzjyLogoEntity.getSchoolId());
classes.setUpdatedAt(new Date());
if (isInsert) {
sqlManager.insert(Classes.class, classes);
} else {
sqlManager.lambdaQuery(Classes.class).andEq(Classes::getClassesId,item.getId()).updateSelective(classes);
sqlManager.lambdaQuery(Classes.class).andEq(Classes::getClassesId, item.getId()).updateSelective(classes);
}
});
} else if (sztzjyLogoEntity.getClassId() != null) {
Classes classes = sqlManager.lambdaQuery(Classes.class).andEq(Classes::getClassesId, sztzjyLogoEntity.getClassId()).single();
if (Objects.isNull(classes)) {
//通过班级id获取班级
Map<String, Object> reqClassesNameBody = new HashMap<>();
reqClassesNameBody.put("ClassId", sztzjyLogoEntity.getClassId());
JSONObject classesNameResp = SztzjyRequestUtil.post(SztzjyRequestUtil.GET_CLASS_NAME, reqClassesNameBody);
String className = classesNameResp.getObject("result", String.class);
classes = new Classes();
@ -192,225 +179,15 @@ public class UsersService extends CoreBaseService<Users> {
sqlManager.insert(Classes.class, classes);
}
}
//之前的系统用的是token+缓存我们这次改为用session来存储数据
httpRequestLocal.setSessionValue(ACCESS_CURRENT_USER, user);
httpRequestLocal.remove();
Users userResult = new Users();
userResult.setType(user.getType());
userResult.setId(user.getId()); // 前端需要保存到cookie
userResult.setUsername(user.getUsername()); // 前端需要保存到cookie
return userResult;
return user;
}
// @Transactional
// public Users login(UsersQuery usersQuery) {
////定义请求体
// Map<String, Object> reqLoginBody = new HashMap<String, Object>() {{
// put("LoginName", usersQuery.getUsername());
// put("Password", usersQuery.getPassword());
// }};
//
// //key 或者账号密码 不能同时为空
// if (StringUtils.isEmpty(usersQuery.getKey()) && (StringUtils.isEmpty(usersQuery.getUsername()) || StringUtils.isEmpty(usersQuery.getPassword()))) {
// throw new GlobalException("用户名或密码不能为空");
// }
// Map<String, Object> keyInfo = new HashMap<>();
//
// //解析key里面的信息其实就是一个jwt而已
// if (!StringUtils.isEmpty(usersQuery.getKey())) {
// try {
// keyInfo = JWTUtil.decode(usersQuery.getKey());
// } catch (Exception e) {
// throw new GlobalException("登录失败解析key失败");
// }
// if (StringUtils.isEmpty(keyInfo.get("username")) || StringUtils.isEmpty(keyInfo.get("password"))) {
// throw new GlobalException("登录失败");
// }
//
// //以key里面的信息为主
// usersQuery.setUsername(String.valueOf(keyInfo.get("username")))
// .setPassword(String.valueOf(keyInfo.get("password")));
// }
//
// //发起请求,获取用户数据
// JSONObject loginResp = SztzjyRequestUtil.post(SztzjyRequestUtil.GET_USER_INFO_URL, reqLoginBody);
// Map loginResult = loginResp.getObject("result", Map.class);
//
//
// if (loginResult == null || loginResult.isEmpty() || loginResult.get("userId") == null) {
// throw new GlobalException("登录失败");
// }
//
// //查看本地库有没有这个用户,没有则添加
// Users user = usersDao.getUsersById(Long.valueOf(String.valueOf(loginResult.get("userId"))));
// boolean exist = true; //是否是已存在的一个记号,后面判断是插入还是更新使用
// if (user == null || user.getId() == null) {
// exist = false;
// user = new Users();
// user.setId(Long.parseLong(String.valueOf(loginResult.get("userId"))));
// }
// //TODO 原本重构的时候 Users表要关联Core_user表的id和Core_org的id,但是这里先写死,后面在做数据统一的处理
// user.setCoreUserId(1);
// user.setCoreOrgId(1);
// // ==================
//
// user.setUsername(loginResult.get("userName") != null ? String.valueOf(loginResult.get("userName")) : "");
// user.setNickname(loginResult.get("name") != null ? String.valueOf(loginResult.get("name")) : "");
// user.setExUserId(loginResult.get("userId") != null ? Long.parseLong(String.valueOf(loginResult.get("userId"))) : 0L);
//
// user.setPassword(String.valueOf(keyInfo.get("password")));
// user.setStudentNo(String.valueOf(keyInfo.get("studentno")));
// user.setSex(keyInfo.get("sex") == null ? 0 : (Integer) keyInfo.get("sex"));
//
// user.setClassId(!StringUtils.isEmpty(loginResult.get("classId")) ? Long.parseLong(String.valueOf(loginResult.get("classId"))) : 0L);
// user.setType(!StringUtils.isEmpty(loginResult.get("roleId")) ? Integer.parseInt(String.valueOf(loginResult.get("roleId"))) : 0);
// //本地数据库里面的data实则就是存储这个请求查询结果的所以这里做一下新旧合并
// user.setData(
// JsonMergeUtil.jsonMerge(
// JSONObject.parseObject(user.getData()),
// loginResp.getJSONObject("result")
// ).toJSONString()
// );
//
// if (exist) {
// usersDao.updateTemplateById(user);
// } else {
// usersDao.insert(user);
// }
//
//
// List<Classes> classesList = new ArrayList<>();
// if (user.getType() == TEACHER && !StringUtils.isEmpty(loginResult.get("teacherId"))) {
//
// //通过教师id获取班级列表
// Map<String, Object> reqClassesBody = new HashMap<>();
// reqClassesBody.put("TeacherId", loginResult.get("teacherId"));
// JSONObject reqClassesResp = SztzjyRequestUtil.post(SztzjyRequestUtil.GET_CLASSES, reqClassesBody);
//
// List<Map<String, Object>> classesResultList = reqClassesResp.getObject("result", new TypeReference<List<Map<String, Object>>>() {
// });
//
// if (!CollectionUtils.isEmpty(classesResultList)) {
// for (Map<String, Object> item : classesResultList) {
// //通过classid获取本地库有就更新没有就插入
// Classes classes = classesDao.getClassesById(Long.parseLong(String.valueOf(item.get("id"))));
// exist = true;
// if (classes == null || classes.getId() == null) {
// exist = false;
// classes = new Classes();
// classes.setId(Long.parseLong(String.valueOf(item.get("id"))));
// }
// classes.setName((String.valueOf(item.get("name"))).trim());
// classes.setTeacherId(user.getId());
// classes.setSchoolId(1L); //TODO php这里是写死的
// if (exist) {
// classesDao.updateTemplateById(classes);
// } else {
// classesDao.insert(classes);
// }
// //同步班级学生
// syncStudents(Long.parseLong(String.valueOf(item.get("id"))), keyInfo);
// }
// }
// } else if (user.getClassId() != null) {
// ClassesQuery classesQuery = new ClassesQuery();
// classesQuery.setSchoolId(1L); //TODO 这里写死了
// classesQuery.setId(user.getClassId());
// List<Classes> list = classesDao.getValuesByQuery(classesQuery);
// Classes classes = new Classes();
// //上面都通过班级id查询了如果存在的话也只会有一条信息
// if (!CollectionUtils.isEmpty(list)) {
// classes = list.get(0);
// }
//
// //如果班级是空的,那就添加进去
// if (classes.getId() == null) {
// //通过班级id获取班级
// Map<String, Object> reqClassesNameBody = new HashMap<>();
// reqClassesNameBody.put("ClassId", user.getClassId());
//
// JSONObject classesNameResp = SztzjyRequestUtil.post(SztzjyRequestUtil.GET_CLASS_NAME, reqClassesNameBody);
// String className = classesNameResp.getObject("result", String.class);
// classes.setId(user.getClassId());
// if (!StringUtils.isEmpty(className)) {
// classes.setName(className.trim());
// classes.setTeacherId(0L); //TODO php这里是写死的
// classes.setSchoolId(1L); //TODO php这里是写死的
// classesDao.insert(classes);
// }
//
//
// }
//
// //同步班级学生
// syncStudents(user.getClassId(), keyInfo);
// }
//
// //同步当前用户的资产信息同时会修改传进去的user的资产信息
// syncFinancial(user);
//
// //根据当前登陆用户的类型来获取班级
// ClassesQuery classesQuery = new ClassesQuery();
// if (user.getType() == TEACHER) {
// classesQuery.setTeacherId(user.getId());
// } else {
// classesQuery.setId(user.getClassId());
// }
// List<Classes> classes = classesDao.getValuesByQuery(classesQuery);
// Object classesTemp = null;
//
// //老师返回的班级是列表,学生的只有一个
// if (!CollectionUtils.isEmpty(classes)) {
// if (user.getType() == TEACHER) {
// List<Map> maps = new ArrayList<>();
// for (Classes aClass : classes) {
// maps.add(new HashMap<String, Object>() {{
// put("class_id", aClass.getId());
// put("class_name", aClass.getName());
// }});
// }
// classesTemp = maps;
// } else {
// classesTemp = new HashMap<String, Object>() {{
// put("class_id", classes.get(0).getId());
// put("class_name", classes.get(0).getName());
// }};
// }
// }
//
// //获取实训列表
// List<Map<String, Integer>> examinations = new ArrayList<>();
// //只有是学生才查询这个
// if (user.getType() == STUDENT) {
// List<Flows> flowsAll = flowsDao.all();
// for (Flows flows : flowsAll) {
// examinations.add(new HashMap<String, Integer>() {{
// put("examination_id", 0); //todo 原系统这里是写死的
// put("flow_id", flows.getId());
// }});
// }
// }
//
//
// //之前的系统用的是token+缓存我们这次改为用session来存储数据
// httpRequestLocal.setSessionValue(ACCESS_CURRENT_USER, user);
//
//
// user.putSchool("天择大学");
// user.putClasses(classesTemp);
// user.putExaminations(examinations);
// user.putUserId(user.getId());
// user.putName(user.getNickname());
// httpRequestLocal.remove();
// return user;
// }
/**
*
*
* @param classId id
* @param keyInfo key
* @Description:
*/
private void syncStudents(Long classId, Map<String, Object> keyInfo) {
Map<String, Object> body = new HashMap<>();
@ -429,13 +206,11 @@ public class UsersService extends CoreBaseService<Users> {
user.setId(Long.valueOf(String.valueOf(item.get("userId"))));
}
//TODO 原本重构的时候 Users表要关联Core_user表的id和Core_org的id,但是这里先写死,后面在做数据统一的处理
user.setCoreUserId(1);
user.setCoreOrgId(1);
// ==================
user.setUsername(item.get("name") != null ? String.valueOf(item.get("name")) : null); //TODO 总觉得这里有问题应该是userName
user.setUsername(item.get("name") != null ? String.valueOf(item.get("name")) : null);
user.setNickname(item.get("name") != null ? String.valueOf(item.get("name")) : null);
user.setExUserId(item.get("userId") != null ? Long.parseLong(String.valueOf(item.get("userId"))) : 0);
user.setClassId(classId);
@ -444,38 +219,28 @@ public class UsersService extends CoreBaseService<Users> {
user.setSex(keyInfo.get("sex") != null ? Integer.parseInt(String.valueOf(keyInfo.get("sex"))) : 0);
//本地数据库里面的data实则就是存储这个请求查询结果的所以这里做一下新旧合并
user.setData(
JsonMergeUtil.jsonMerge(
user.getData(),
JSON.toJSONString(item)
).toJSONString()
);
user.setData(JsonMergeUtil.jsonMerge(user.getData(), JSON.toJSONString(item)).toJSONString());
if (exist) {
usersDao.updateTemplateById(user);
} else {
usersDao.insert(user);
}
}
}
}
/**
*
*
* @param user
* @Description:
*/
public void syncFinancial(Users user) {
if (StringUtils.isEmpty(user.getExUserId()) || user.getType() != STUDENT) {
return;
}
Map<String, Object> body = new HashMap<>();
body.put("userId", user.getExUserId());
body.put("applicationId", 38); //todo 这里写死了
body.put("applicationId", APPLICATION_ID);
//调用接口,获取资产信息
JSONObject resp = SztzjyRequestUtil.get(SztzjyRequestUtil.GET_ASSET_ALLOCATION_INFO, body);
Map result = resp.getJSONObject("result").getObject("data", Map.class);
@ -497,14 +262,8 @@ public class UsersService extends CoreBaseService<Users> {
/**
*
*
* @param teamsQuery
* @param users
* @return org.beetl.sql.core.engine.PageQuery
* @Date 2022-07-27 16:33
*/
public PageQuery searchStudents(TeamsQuery teamsQuery, Users users) {
public PageQuery<Users> searchStudents(TeamsQuery teamsQuery, Users users) {
Integer[] teamUsersids = null;
if (!Objects.isNull(teamsQuery.getExaminationId()) || !Objects.isNull(teamsQuery.getFlowId())) {
Examinations examinations = examinationsService.searchExamination(teamsQuery);

@ -3,138 +3,44 @@ package com.ibeetl.jlw.web;
import cn.jlw.Interceptor.AliasProcessor;
import cn.jlw.Interceptor.FinancialAuth;
import cn.jlw.Interceptor.FinancialUser;
import cn.jlw.validate.ValidateConfig;
import com.ibeetl.admin.core.annotation.Function;
import com.ibeetl.admin.core.file.FileService;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.jlw.entity.Users;
import com.ibeetl.jlw.service.UsersService;
import com.ibeetl.jlw.web.query.TeamsQuery;
import com.ibeetl.jlw.web.query.UsersQuery;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.List;
/**
* Users
* 线使@LoadInit
*/
@Controller
@RestController
@RequestMapping("/api/users")
public class UsersController {
private final Log log = LogFactory.getLog(this.getClass());
private static final String MODEL = "/jlw/users";
private static final String API = "/api/users";
@Autowired
private UsersService usersService;
@Autowired
FileService fileService;
/* 前端接口 */
/**
*
*/
@GetMapping(API + "/searchStudents.json")
@GetMapping("/searchStudents.json")
@FinancialAuth
@ResponseBody
@AliasProcessor
public JsonResult searchStudents(TeamsQuery teamsQuery, @FinancialUser Users users) {
public JsonResult<PageQuery<Users>> searchStudents(TeamsQuery teamsQuery, @FinancialUser Users users) {
return JsonResult.success(usersService.searchStudents(teamsQuery, users));
}
/* 后台页面 */
@GetMapping(MODEL + "/index.do")
@Function("users.query")
@ResponseBody
public ModelAndView index() {
ModelAndView view = new ModelAndView("/jlw/users/index.html");
view.addObject("search", UsersQuery.class.getName());
return view;
}
@GetMapping(MODEL + "/edit.do")
@Function("users.edit")
@ResponseBody
public ModelAndView edit(Integer id) {
ModelAndView view = new ModelAndView("/jlw/users/edit.html");
Users users = usersService.queryById(id);
view.addObject("users", users);
return view;
}
@GetMapping(MODEL + "/add.do")
@Function("users.add")
@ResponseBody
public ModelAndView add() {
ModelAndView view = new ModelAndView("/jlw/users/add.html");
return view;
}
/* 后台接口 */
@PostMapping(MODEL + "/list.json")
@Function("users.query")
@ResponseBody
public JsonResult<PageQuery> list(UsersQuery condition) {
PageQuery page = condition.getPageQuery();
usersService.queryByCondition(page);
return JsonResult.success(page);
}
@PostMapping(MODEL + "/add.json")
@Function("users.add")
@ResponseBody
public JsonResult add(@Validated(ValidateConfig.ADD.class) Users users, BindingResult result) {
if (result.hasErrors()) {
return JsonResult.failMessage(result);
} else {
usersService.save(users);
return JsonResult.success();
}
}
@PostMapping(MODEL + "/edit.json")
@Function("users.edit")
@ResponseBody
public JsonResult<String> update(@Validated(ValidateConfig.UPDATE.class) Users users, BindingResult result) {
if (result.hasErrors()) {
return JsonResult.failMessage(result);
} else {
boolean success = usersService.updateTemplate(users);
if (success) {
return JsonResult.success();
} else {
return JsonResult.failMessage("更新失败");
}
}
}
@PostMapping(API + "/login.json")
@ResponseBody
public JsonResult login(@RequestBody UsersQuery usersQuery, HttpServletResponse response) {
@PostMapping("/login.json")
public JsonResult<Users> login(@RequestBody UsersQuery usersQuery, HttpServletResponse response) {
String headerName = "Set-Cookie";
final String setCookie = response.getHeader(headerName);
@ -146,38 +52,12 @@ public class UsersController {
}
@PostMapping(API + "/logout.json")
@ResponseBody
public JsonResult logout(HttpServletRequest httpServletRequest) {
@PostMapping("/logout.json")
public JsonResult<Void> logout(HttpServletRequest httpServletRequest) {
HttpSession session = httpServletRequest.getSession();
session.removeAttribute(UsersService.ACCESS_CURRENT_USER);
return JsonResult.success();
}
@GetMapping(MODEL + "/view.json")
@Function("users.query")
@ResponseBody
public JsonResult<Users> queryInfo(Integer id) {
Users users = usersService.queryById(id);
return JsonResult.success(users);
}
@GetMapping(MODEL + "/getValues.json")
@ResponseBody
public JsonResult<List<Users>> getValues(UsersQuery param) {
List<Users> list = usersService.getValuesByQuery(param);
return JsonResult.success(list);
}
@PostMapping(MODEL + "/delete.json")
@Function("users.delete")
@ResponseBody
public JsonResult delete(String ids) {
usersService.deleteUsers(ids);
return JsonResult.success();
}
}

@ -5,7 +5,12 @@ getList
===
select
t1.*, t2.unit, t2.sku, t2.sell_price, t2.cost_price, t2.title
t1.id, t1.contract_id,t1.protocol_id,t1.product_no,
t1.product_id,t1.nums,t1.pickup_status,
t1.pickup_product_id,
t2.unit, t2.sku, t2.cost_price, t2.title,
t1.price,
(t1.price / t1.nums) sell_price
from contracts_products t1
join products t2 on t1.product_id = t2.id
where 1=1
@ -24,17 +29,6 @@ getList
getListByFinancingId
===
select
t1.*, t2.unit, t2.sku, t2.sell_price, t2.title
from contracts_products t1
join products t2 on t1.product_id = t2.id
join financings t3 on t1.protocol_id = t3.protocol_id
where t3.id = #financingId#
getHadPickupAmount
===
@ -71,6 +65,19 @@ and t.protocol_id =#protocolId#
@}
getCurrentAmountByPickupId
===
* 获取当天商品总售价
select
sum(t.nums * t2.sell_price)
from contracts_products t
join products t2 on t.product_id = t2.id
where t.pickup_product_id =#pickupId#
getPickupAmountByIds
===

@ -110,7 +110,8 @@ bdcPageQueryByCondition
t.*, t2.buyer_name, t2.seller_name,
t3.express_name, t3.assure_amount,
t4.credit_level buyer_credit_level,
t4.corporation buyer_corporation, t4.telephone buyer_telephone
t4.corporation buyer_corporation, t4.telephone buyer_telephone,
(t.apply_amount - t.bail_amount + t.interest_amount) yfzk_amount
@}
from financings t
join contracts_purchase_sales t2 on t2.id = t.contract_id

@ -34,9 +34,6 @@ getLastExaminationFinancials
WHERE
ue.user_id = #userId#
AND es.type = #type#
@if(type==1){
AND es.status >= 1
@}
ORDER BY
t1.updated_at DESC, t1.created_at DESC
LIMIT 0,1

@ -15,6 +15,7 @@ scoresListOfStudent
* 查询我的成绩列表
SELECT
@pageTag(){
us.id,
es.`name` as examinationsName,
us.report_name,
us.report_file,
@ -23,13 +24,15 @@ scoresListOfStudent
us.report_scores,
us.raise_scores,
us.duration_scores,
us.operator_scores,
us.total_scores,
us.class_orders,
efs.init_balance,
efs.balance,
efs.product_assets,
efs.raise_rate,
efs.raise_orders
efs.raise_orders,
(efs.balance + efs.product_assets) total_balance
@}
FROM
user_examinations us

Loading…
Cancel
Save