修改开通课程时按照课程门数平均金额再相加不相等问题
This commit is contained in:
@@ -1126,7 +1126,8 @@ public class BuyOrderController {
|
|||||||
|
|
||||||
private void addCourseToUser(BuyOrder orderEntity){
|
private void addCourseToUser(BuyOrder orderEntity){
|
||||||
List<ShopProductCourseEntity> orderCourse = buyOrderService.getOrderCourse(orderEntity.getOrderSn());
|
List<ShopProductCourseEntity> orderCourse = buyOrderService.getOrderCourse(orderEntity.getOrderSn());
|
||||||
for ( ShopProductCourseEntity s : orderCourse){
|
for (int i=0;i<orderCourse.size();i++){
|
||||||
|
ShopProductCourseEntity s = orderCourse.get(i);
|
||||||
LambdaQueryWrapper<UserCourseBuyEntity> wrapper2 = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<UserCourseBuyEntity> wrapper2 = new LambdaQueryWrapper<>();
|
||||||
wrapper2.eq(UserCourseBuyEntity::getUserId,orderEntity.getUserId());
|
wrapper2.eq(UserCourseBuyEntity::getUserId,orderEntity.getUserId());
|
||||||
wrapper2.eq(UserCourseBuyEntity::getCatalogueId,s.getCatalogueId());
|
wrapper2.eq(UserCourseBuyEntity::getCatalogueId,s.getCatalogueId());
|
||||||
@@ -1171,8 +1172,15 @@ public class BuyOrderController {
|
|||||||
userCourseBuyLog.setBeginDay(0);
|
userCourseBuyLog.setBeginDay(0);
|
||||||
userCourseBuyLog.setDays(s.getDays());
|
userCourseBuyLog.setDays(s.getDays());
|
||||||
}
|
}
|
||||||
userCourseBuyLog.setFee(orderEntity.getRealMoney().divide(new BigDecimal(orderCourse.size()),2, BigDecimal.ROUND_HALF_UP));
|
BigDecimal fee = orderEntity.getRealMoney().divide(new BigDecimal(orderCourse.size()),2, BigDecimal.ROUND_HALF_UP);
|
||||||
userCourseBuyLog.setJf(orderEntity.getJfDeduction().divide(new BigDecimal(orderCourse.size()),2, BigDecimal.ROUND_HALF_UP));
|
BigDecimal jf = orderEntity.getJfDeduction().divide(new BigDecimal(orderCourse.size()),2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
if (i==(orderCourse.size()-1)){
|
||||||
|
userCourseBuyLog.setFee(orderEntity.getRealMoney().subtract(fee.multiply(new BigDecimal(orderCourse.size()-1))));
|
||||||
|
userCourseBuyLog.setJf(orderEntity.getJfDeduction().subtract(jf.multiply(new BigDecimal(orderCourse.size()-1))));
|
||||||
|
}else {
|
||||||
|
userCourseBuyLog.setFee(fee);
|
||||||
|
userCourseBuyLog.setJf(jf);
|
||||||
|
}
|
||||||
userCourseBuyLogService.save(userCourseBuyLog);
|
userCourseBuyLogService.save(userCourseBuyLog);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,7 +87,8 @@ public class UserCourseBuyController {
|
|||||||
int days = Integer.parseInt(params.get("days").toString());
|
int days = Integer.parseInt(params.get("days").toString());
|
||||||
String come = params.get("come").toString();
|
String come = params.get("come").toString();
|
||||||
String[] catalogueIds = catalogueId.split(",");
|
String[] catalogueIds = catalogueId.split(",");
|
||||||
for (String id : catalogueIds) {
|
for (int i=0;i<catalogueIds.length;i++) {
|
||||||
|
String id = catalogueIds[i];
|
||||||
UserCourseBuyEntity userCourseBuyEntity = userCourseBuyService.getOne(new LambdaQueryWrapper<UserCourseBuyEntity>()
|
UserCourseBuyEntity userCourseBuyEntity = userCourseBuyService.getOne(new LambdaQueryWrapper<UserCourseBuyEntity>()
|
||||||
.eq(UserCourseBuyEntity::getCatalogueId,id)
|
.eq(UserCourseBuyEntity::getCatalogueId,id)
|
||||||
.eq(UserCourseBuyEntity::getUserId,userId));
|
.eq(UserCourseBuyEntity::getUserId,userId));
|
||||||
@@ -107,8 +108,17 @@ public class UserCourseBuyController {
|
|||||||
userCourseBuyLog.setPayTime(new Date());
|
userCourseBuyLog.setPayTime(new Date());
|
||||||
userCourseBuyLog.setOrderSn(params.get("orderSn").toString());
|
userCourseBuyLog.setOrderSn(params.get("orderSn").toString());
|
||||||
userCourseBuyLog.setDays(days);
|
userCourseBuyLog.setDays(days);
|
||||||
userCourseBuyLog.setFee(new BigDecimal(params.get("fee").toString()));
|
BigDecimal totalFee = new BigDecimal(params.get("fee").toString());
|
||||||
userCourseBuyLog.setJf(new BigDecimal(params.get("jf").toString()));
|
BigDecimal totalJf = new BigDecimal(params.get("jf").toString());
|
||||||
|
BigDecimal fee = totalFee.divide(new BigDecimal(catalogueIds.length),2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
BigDecimal jf = totalJf.divide(new BigDecimal(catalogueIds.length),2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
if (i==(catalogueIds.length-1)){
|
||||||
|
userCourseBuyLog.setFee(totalFee.subtract(fee.multiply(new BigDecimal(catalogueIds.length-1))));
|
||||||
|
userCourseBuyLog.setJf(totalJf.subtract(jf.multiply(new BigDecimal(catalogueIds.length-1))));
|
||||||
|
}else {
|
||||||
|
userCourseBuyLog.setFee(fee);
|
||||||
|
userCourseBuyLog.setJf(jf);
|
||||||
|
}
|
||||||
userCourseBuyLog.setRemark(params.get("remark").toString());
|
userCourseBuyLog.setRemark(params.get("remark").toString());
|
||||||
userCourseBuyLogService.save(userCourseBuyLog);
|
userCourseBuyLogService.save(userCourseBuyLog);
|
||||||
}else {
|
}else {
|
||||||
|
|||||||
@@ -117,7 +117,8 @@ public class UserCourseBuyServiceImpl extends ServiceImpl<UserCourseBuyDao, User
|
|||||||
ArrayList<UserCourseBuyEntity> l = new ArrayList<>();
|
ArrayList<UserCourseBuyEntity> l = new ArrayList<>();
|
||||||
ArrayList<UserCourseBuyLog> logs = new ArrayList<>();
|
ArrayList<UserCourseBuyLog> logs = new ArrayList<>();
|
||||||
for (MyUserEntity m : addCourses.getList()){
|
for (MyUserEntity m : addCourses.getList()){
|
||||||
for (String s : cata) {
|
for (int i=0;i<cata.length;i++) {
|
||||||
|
String s = cata[i];
|
||||||
int check = this.getBaseMapper().selectCount(new LambdaQueryWrapper<UserCourseBuyEntity>()
|
int check = this.getBaseMapper().selectCount(new LambdaQueryWrapper<UserCourseBuyEntity>()
|
||||||
.eq(UserCourseBuyEntity::getCatalogueId, s)
|
.eq(UserCourseBuyEntity::getCatalogueId, s)
|
||||||
.eq(UserCourseBuyEntity::getUserId, m.getId())).intValue();
|
.eq(UserCourseBuyEntity::getUserId, m.getId())).intValue();
|
||||||
@@ -137,7 +138,29 @@ public class UserCourseBuyServiceImpl extends ServiceImpl<UserCourseBuyDao, User
|
|||||||
userCourseBuyEntity.setCatalogueId(Integer.valueOf(s));
|
userCourseBuyEntity.setCatalogueId(Integer.valueOf(s));
|
||||||
userCourseBuyEntity.setDays(addCourses.getDays());
|
userCourseBuyEntity.setDays(addCourses.getDays());
|
||||||
userCourseBuyEntity.setUserId(m.getId());
|
userCourseBuyEntity.setUserId(m.getId());
|
||||||
l.add(userCourseBuyEntity);
|
this.save(userCourseBuyEntity);
|
||||||
|
//插入开课记录
|
||||||
|
UserCourseBuyLog userCourseBuyLog = new UserCourseBuyLog();
|
||||||
|
userCourseBuyLog.setUserCourseBuyId(userCourseBuyEntity.getId());
|
||||||
|
userCourseBuyLog.setUserId(userCourseBuyEntity.getUserId());
|
||||||
|
userCourseBuyLog.setType("master");
|
||||||
|
userCourseBuyLog.setPayType(addCourses.getPayType());
|
||||||
|
userCourseBuyLog.setPayTime(new Date());
|
||||||
|
userCourseBuyLog.setOrderSn(addCourses.getOrderSn());
|
||||||
|
userCourseBuyLog.setDays(addCourses.getDays());
|
||||||
|
BigDecimal totalFee = new BigDecimal(addCourses.getFee());
|
||||||
|
BigDecimal totalJf = new BigDecimal(addCourses.getJf());
|
||||||
|
BigDecimal fee = totalFee.divide(new BigDecimal(cata.length),2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
BigDecimal jf = totalJf.divide(new BigDecimal(cata.length),2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
if (i==(cata.length-1)){
|
||||||
|
userCourseBuyLog.setFee(totalFee.subtract(fee.multiply(new BigDecimal(cata.length-1))));
|
||||||
|
userCourseBuyLog.setJf(totalJf.subtract(jf.multiply(new BigDecimal(cata.length-1))));
|
||||||
|
}else {
|
||||||
|
userCourseBuyLog.setFee(fee);
|
||||||
|
userCourseBuyLog.setJf(jf);
|
||||||
|
}
|
||||||
|
userCourseBuyLog.setRemark(addCourses.getRemark());
|
||||||
|
logs.add(userCourseBuyLog);
|
||||||
|
|
||||||
AddCoursesFrag addCoursesFrag = new AddCoursesFrag();
|
AddCoursesFrag addCoursesFrag = new AddCoursesFrag();
|
||||||
addCoursesFrag.setUserId(m.getId());
|
addCoursesFrag.setUserId(m.getId());
|
||||||
@@ -151,21 +174,6 @@ public class UserCourseBuyServiceImpl extends ServiceImpl<UserCourseBuyDao, User
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.saveBatch(l);
|
|
||||||
for(UserCourseBuyEntity ucb : l){
|
|
||||||
UserCourseBuyLog userCourseBuyLog = new UserCourseBuyLog();
|
|
||||||
userCourseBuyLog.setUserCourseBuyId(ucb.getId());
|
|
||||||
userCourseBuyLog.setUserId(ucb.getUserId());
|
|
||||||
userCourseBuyLog.setType("master");
|
|
||||||
userCourseBuyLog.setPayType(addCourses.getPayType());
|
|
||||||
userCourseBuyLog.setPayTime(new Date());
|
|
||||||
userCourseBuyLog.setOrderSn(addCourses.getOrderSn());
|
|
||||||
userCourseBuyLog.setDays(addCourses.getDays());
|
|
||||||
userCourseBuyLog.setFee(new BigDecimal(addCourses.getFee()));
|
|
||||||
userCourseBuyLog.setJf(new BigDecimal(addCourses.getJf()));
|
|
||||||
userCourseBuyLog.setRemark(addCourses.getRemark());
|
|
||||||
logs.add(userCourseBuyLog);
|
|
||||||
}
|
|
||||||
userCourseBuyLogDao.insert(logs);
|
userCourseBuyLogDao.insert(logs);
|
||||||
frag.put("successList",successList);
|
frag.put("successList",successList);
|
||||||
frag.put("failList",falseList);
|
frag.put("failList",falseList);
|
||||||
|
|||||||
@@ -261,7 +261,8 @@ public class AliPayServiceImpl implements AliPayService {
|
|||||||
}
|
}
|
||||||
//开通course,start
|
//开通course,start
|
||||||
List<ShopProductCourseEntity> orderCourse = buyOrderService.getOrderCourse(order.getOrderSn());
|
List<ShopProductCourseEntity> orderCourse = buyOrderService.getOrderCourse(order.getOrderSn());
|
||||||
for ( ShopProductCourseEntity s : orderCourse){
|
for (int i=0;i<orderCourse.size();i++){
|
||||||
|
ShopProductCourseEntity s = orderCourse.get(i);
|
||||||
LambdaQueryWrapper<UserCourseBuyEntity> wrapper2 = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<UserCourseBuyEntity> wrapper2 = new LambdaQueryWrapper<>();
|
||||||
wrapper2.eq(UserCourseBuyEntity::getUserId,order.getUserId());
|
wrapper2.eq(UserCourseBuyEntity::getUserId,order.getUserId());
|
||||||
wrapper2.eq(UserCourseBuyEntity::getCatalogueId,s.getCatalogueId());
|
wrapper2.eq(UserCourseBuyEntity::getCatalogueId,s.getCatalogueId());
|
||||||
@@ -306,8 +307,15 @@ public class AliPayServiceImpl implements AliPayService {
|
|||||||
userCourseBuyLog.setBeginDay(0);
|
userCourseBuyLog.setBeginDay(0);
|
||||||
userCourseBuyLog.setDays(s.getDays());
|
userCourseBuyLog.setDays(s.getDays());
|
||||||
}
|
}
|
||||||
userCourseBuyLog.setFee(order.getRealMoney().divide(new BigDecimal(orderCourse.size()),2, BigDecimal.ROUND_HALF_UP));
|
BigDecimal fee = order.getRealMoney().divide(new BigDecimal(orderCourse.size()),2, BigDecimal.ROUND_HALF_UP);
|
||||||
userCourseBuyLog.setJf(order.getJfDeduction().divide(new BigDecimal(orderCourse.size()),2, BigDecimal.ROUND_HALF_UP));
|
BigDecimal jf = order.getJfDeduction().divide(new BigDecimal(orderCourse.size()),2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
if (i==(orderCourse.size()-1)){
|
||||||
|
userCourseBuyLog.setFee(order.getRealMoney().subtract(fee.multiply(new BigDecimal(orderCourse.size()-1))));
|
||||||
|
userCourseBuyLog.setJf(order.getJfDeduction().subtract(jf.multiply(new BigDecimal(orderCourse.size()-1))));
|
||||||
|
}else {
|
||||||
|
userCourseBuyLog.setFee(fee);
|
||||||
|
userCourseBuyLog.setJf(jf);
|
||||||
|
}
|
||||||
userCourseBuyLogDao.insert(userCourseBuyLog);
|
userCourseBuyLogDao.insert(userCourseBuyLog);
|
||||||
}
|
}
|
||||||
//开通course,end
|
//开通course,end
|
||||||
|
|||||||
@@ -219,7 +219,8 @@ public class WxpayServiceImpl extends ServiceImpl<PayWechatOrderDao, PayWechatOr
|
|||||||
|
|
||||||
//开通course,start
|
//开通course,start
|
||||||
List<ShopProductCourseEntity> orderCourse = buyOrderService.getOrderCourse(order.getOrderSn());
|
List<ShopProductCourseEntity> orderCourse = buyOrderService.getOrderCourse(order.getOrderSn());
|
||||||
for ( ShopProductCourseEntity s : orderCourse){
|
for (int i = 0; i < orderCourse.size(); i++) {
|
||||||
|
ShopProductCourseEntity s = orderCourse.get(i);
|
||||||
LambdaQueryWrapper<UserCourseBuyEntity> wrapper2 = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<UserCourseBuyEntity> wrapper2 = new LambdaQueryWrapper<>();
|
||||||
wrapper2.eq(UserCourseBuyEntity::getUserId,order.getUserId());
|
wrapper2.eq(UserCourseBuyEntity::getUserId,order.getUserId());
|
||||||
wrapper2.eq(UserCourseBuyEntity::getCatalogueId,s.getCatalogueId());
|
wrapper2.eq(UserCourseBuyEntity::getCatalogueId,s.getCatalogueId());
|
||||||
@@ -264,8 +265,15 @@ public class WxpayServiceImpl extends ServiceImpl<PayWechatOrderDao, PayWechatOr
|
|||||||
userCourseBuyLog.setBeginDay(0);
|
userCourseBuyLog.setBeginDay(0);
|
||||||
userCourseBuyLog.setDays(s.getDays());
|
userCourseBuyLog.setDays(s.getDays());
|
||||||
}
|
}
|
||||||
userCourseBuyLog.setFee(order.getRealMoney().divide(new BigDecimal(orderCourse.size()),2, BigDecimal.ROUND_HALF_UP));
|
BigDecimal fee = order.getRealMoney().divide(new BigDecimal(orderCourse.size()),2, BigDecimal.ROUND_HALF_UP);
|
||||||
userCourseBuyLog.setJf(order.getJfDeduction().divide(new BigDecimal(orderCourse.size()),2, BigDecimal.ROUND_HALF_UP));
|
BigDecimal jf = order.getJfDeduction().divide(new BigDecimal(orderCourse.size()),2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
if (i==(orderCourse.size()-1)){
|
||||||
|
userCourseBuyLog.setFee(order.getRealMoney().subtract(fee.multiply(new BigDecimal(orderCourse.size()-1))));
|
||||||
|
userCourseBuyLog.setJf(order.getJfDeduction().subtract(jf.multiply(new BigDecimal(orderCourse.size()-1))));
|
||||||
|
}else {
|
||||||
|
userCourseBuyLog.setFee(fee);
|
||||||
|
userCourseBuyLog.setJf(jf);
|
||||||
|
}
|
||||||
userCourseBuyLogDao.insert(userCourseBuyLog);
|
userCourseBuyLogDao.insert(userCourseBuyLog);
|
||||||
}
|
}
|
||||||
//开通course,end
|
//开通course,end
|
||||||
|
|||||||
Reference in New Issue
Block a user