Переглянути джерело

Merge remote-tracking branch 'origin/master'

Joburgess 4 роки тому
батько
коміт
696b55bade

+ 28 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SubjectChange.java

@@ -31,7 +31,7 @@ public class SubjectChange {
     * 原始课程费用
     */
     @ApiModelProperty(value="原始课程费用")
-    private BigDecimal originalCourseFee;
+    private BigDecimal originalCourseFee = BigDecimal.ZERO;
 
     @ApiModelProperty(value="乐器购买方式")
     private KitGroupPurchaseTypeEnum kitGroupPurchaseType;
@@ -48,7 +48,7 @@ public class SubjectChange {
     * 原始乐器价格
     */
     @ApiModelProperty(value="原始乐器价格")
-    private BigDecimal originalMusicalPrice;
+    private BigDecimal originalMusicalPrice = BigDecimal.ZERO;
 
     /**
     * 辅件ids
@@ -62,13 +62,13 @@ public class SubjectChange {
     * 辅件价格
     */
     @ApiModelProperty(value="辅件价格")
-    private BigDecimal originalAccessoriesPrice;
+    private BigDecimal originalAccessoriesPrice = BigDecimal.ZERO;
 
     /**
     * 替换课程价格
     */
     @ApiModelProperty(value="替换课程价格")
-    private BigDecimal changeCourseFee;
+    private BigDecimal changeCourseFee = BigDecimal.ZERO;
 
     /**
     * 替换乐器
@@ -83,7 +83,7 @@ public class SubjectChange {
     * 替换乐器价格
     */
     @ApiModelProperty(value="替换乐器价格")
-    private BigDecimal changeMusicalPrice;
+    private BigDecimal changeMusicalPrice = BigDecimal.ZERO;
 
     /**
     * 替换辅件
@@ -97,7 +97,7 @@ public class SubjectChange {
     * 替换辅件价格
     */
     @ApiModelProperty(value="替换辅件价格")
-    private BigDecimal changeAccessoriesPrice;
+    private BigDecimal changeAccessoriesPrice = BigDecimal.ZERO;
 
     /**
     * 乐器辅件差额
@@ -165,6 +165,12 @@ public class SubjectChange {
 
     private Integer version;
 
+    @ApiModelProperty(value="原始成本")
+    private BigDecimal originalCost = BigDecimal.ZERO;
+
+    @ApiModelProperty(value="更改后成本")
+    private BigDecimal changeCost = BigDecimal.ZERO;
+
     public Integer getId() {
         return id;
     }
@@ -428,4 +434,20 @@ public class SubjectChange {
     public void setKitGroupPurchaseType(KitGroupPurchaseTypeEnum kitGroupPurchaseType) {
         this.kitGroupPurchaseType = kitGroupPurchaseType;
     }
+
+    public BigDecimal getOriginalCost() {
+        return originalCost;
+    }
+
+    public void setOriginalCost(BigDecimal originalCost) {
+        this.originalCost = originalCost;
+    }
+
+    public BigDecimal getChangeCost() {
+        return changeCost;
+    }
+
+    public void setChangeCost(BigDecimal changeCost) {
+        this.changeCost = changeCost;
+    }
 }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -1137,6 +1137,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             if (studentLastChange.getChangeMusical() != null) {
                 StudentPaymentOrderDetail musical = new StudentPaymentOrderDetail();
                 musical.setType(OrderDetailTypeEnum.MUSICAL);
+                musical.setKitGroupPurchaseType(studentLastChange.getKitGroupPurchaseType());
                 musical.setPrice(studentLastChange.getChangeMusicalPrice());
                 musical.setGoodsList(goodsDao.findGoodsByIds(studentLastChange.getChangeMusical().toString()));
                 details.add(musical);

+ 22 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -161,6 +161,27 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
 
     @Override
     public SubjectChange addChange(SubjectChange subjectChange) {
-        return null;
+        Date nowDate = new Date();
+        subjectChange.setCourseMargin(subjectChange.getChangeCourseFee().subtract(subjectChange.getOriginalCourseFee()));
+        BigDecimal goodsMargin = subjectChange.getChangeMusicalPrice().add(subjectChange.getChangeAccessoriesPrice())
+                .subtract(subjectChange.getOriginalMusicalPrice()).subtract(subjectChange.getOriginalAccessoriesPrice());
+        subjectChange.setGoodsMargin(goodsMargin);
+        subjectChange.setCostMargin(subjectChange.getChangeCost().subtract(subjectChange.getOriginalCost()));
+        //差价 <= 0
+        if (subjectChange.getGoodsMargin().add(subjectChange.getCourseMargin()).compareTo(BigDecimal.ZERO) <= 0) {
+            subjectChange.setStatus(SubjectChangeStatusEnum.SUCCESSED);
+            subjectChange.setSellAmount(BigDecimal.ZERO);
+            subjectChange.setSellTime(nowDate);
+        }
+        //差价小于0退到余额
+        if (subjectChange.getGoodsMargin().add(subjectChange.getCourseMargin()).compareTo(BigDecimal.ZERO) < 0) {
+            subjectChange.setStatus(SubjectChangeStatusEnum.SUCCESSED);
+            subjectChange.setSellAmount(BigDecimal.ZERO);
+            subjectChange.setSellTime(nowDate);
+        }
+        subjectChange.setCreateTime(nowDate);
+        subjectChange.setUpdateTime(nowDate);
+        subjectChangeDao.insert(subjectChange);
+        return subjectChange;
     }
 }

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/SubjectChangeController.java

@@ -60,6 +60,6 @@ public class SubjectChangeController extends BaseController {
     @PostMapping("/add")
     @PreAuthorize("@pcs.hasPermissions('subjectChange/add')")
     public Object add(SubjectChange subjectChange) throws Exception {
-        return succeed(subjectChangeService.insert(subjectChange));
+        return succeed(subjectChangeService.addChange(subjectChange));
     }
 }