|
@@ -1,5 +1,6 @@
|
|
|
package com.xjrsoft.module.textbook.service.impl;
|
|
|
|
|
|
+import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
@@ -29,6 +30,7 @@ import com.xjrsoft.module.textbook.vo.*;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
@@ -189,7 +191,7 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
|
|
|
stuNum += textbookSubscriptionItem.getStudentNum();
|
|
|
teaNum += textbookSubscriptionItem.getTeacherNum();
|
|
|
|
|
|
- currentPrice = textbookSubscriptionItem.getPrice().multiply(BigDecimal.valueOf(textbookSubscriptionItem.getDiscount()).divide(BigDecimal.valueOf(10), RoundingMode.UNNECESSARY))
|
|
|
+ currentPrice = textbookSubscriptionItem.getPrice().multiply(BigDecimal.valueOf(textbookSubscriptionItem.getDiscount()).divide(BigDecimal.valueOf(10), RoundingMode.DOWN))
|
|
|
.multiply(BigDecimal.valueOf(textbookSubscriptionItem.getTeacherNum() + textbookSubscriptionItem.getStudentNum()))
|
|
|
;
|
|
|
|
|
@@ -573,6 +575,46 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Boolean alteration(UpdateWfTextbookSubscriptionItemDto dto) {
|
|
|
+ TextbookSubscriptionItem old = textbookSubscriptionTextbookSubscriptionItemMapper.selectById(dto.getId());
|
|
|
+ if(old == null){
|
|
|
+ throw new MyException("征订项已经被修改,刷新重试");
|
|
|
+ }
|
|
|
+
|
|
|
+ //将历史记录保存到历史变更记录表
|
|
|
+ LambdaQueryWrapper<WfTextbookSubscriptionItemHistory> wfTextbookSubscriptionItemHistoryLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ wfTextbookSubscriptionItemHistoryLambdaQueryWrapper
|
|
|
+ .eq(WfTextbookSubscriptionItemHistory::getWfTextbookSubscriptionItemId, old.getId())
|
|
|
+ .orderByDesc(WfTextbookSubscriptionItemHistory::getHistoryVersion)
|
|
|
+ .last("limit 1")
|
|
|
+ ;
|
|
|
+// WfTextbookSubscriptionItemHistory lastOne = textbookSubscriptionItemHistoryMapper.selectOne(wfTextbookSubscriptionItemHistoryLambdaQueryWrapper);
|
|
|
+
|
|
|
+ WfTextbookSubscriptionItemHistory wfTextbookSubscriptionItemHistory = new WfTextbookSubscriptionItemHistory();
|
|
|
+ BeanUtils.copyProperties(old, wfTextbookSubscriptionItemHistory);
|
|
|
+ wfTextbookSubscriptionItemHistory.setId(null);
|
|
|
+ wfTextbookSubscriptionItemHistory.setWfTextbookSubscriptionItemId(old.getId());
|
|
|
+ wfTextbookSubscriptionItemHistory.setCreateDate(new Date());
|
|
|
+ wfTextbookSubscriptionItemHistory.setCreateUserId(StpUtil.getLoginIdAsLong());
|
|
|
+// if(lastOne != null){
|
|
|
+// wfTextbookSubscriptionItemHistory.setHistoryVersion(lastOne.getHistoryVersion() + 1);
|
|
|
+// } else {
|
|
|
+// wfTextbookSubscriptionItemHistory.setHistoryVersion(1);
|
|
|
+// }
|
|
|
+//
|
|
|
+// wfTextbookSubscriptionItemHistoryMapper.insert(wfTextbookSubscriptionItemHistory);
|
|
|
+
|
|
|
+ //变更当前记录
|
|
|
+ WfTextbookSubscriptionItem updateItem = new WfTextbookSubscriptionItem();
|
|
|
+ BeanUtils.copyProperties(dto, updateItem);
|
|
|
+
|
|
|
+// wfTextbookSubscriptionWfTextbookSubscriptionItemMapper.updateById(updateItem);
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean changeStatus(UpdateWfTextbookSubscriptionDto dto) {
|