Kaynağa Gözat

套餐编辑

licailing 4 yıl önce
ebeveyn
işleme
e1d7e6249b

+ 23 - 7
src/main/java/com/izouma/jiashanxia/web/PackageController.java

@@ -1,5 +1,6 @@
 package com.izouma.jiashanxia.web;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.izouma.jiashanxia.domain.Attractions;
 import com.izouma.jiashanxia.domain.Category;
 import com.izouma.jiashanxia.domain.Package;
@@ -12,6 +13,7 @@ import com.izouma.jiashanxia.service.PackageService;
 import com.izouma.jiashanxia.dto.PageQuery;
 import com.izouma.jiashanxia.exception.BusinessException;
 import com.izouma.jiashanxia.repo.PackageRepo;
+import com.izouma.jiashanxia.service.SysConfigService;
 import com.izouma.jiashanxia.utils.ObjUtils;
 import com.izouma.jiashanxia.utils.excel.ExcelUtils;
 import io.swagger.annotations.ApiOperation;
@@ -21,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -29,10 +32,11 @@ import java.util.stream.Collectors;
 @RequestMapping("/package")
 @AllArgsConstructor
 public class PackageController extends BaseController {
-    private PackageService  packageService;
-    private PackageRepo     packageRepo;
-    private CategoryRepo    categoryRepo;
-    private AttractionsRepo attractionsRepo;
+    private PackageService   packageService;
+    private PackageRepo      packageRepo;
+    private CategoryRepo     categoryRepo;
+    private AttractionsRepo  attractionsRepo;
+    private SysConfigService sysConfigService;
 
     //@PreAuthorize("hasRole('ADMIN')")
     @PostMapping("/save")
@@ -47,8 +51,8 @@ public class PackageController extends BaseController {
 
 
     //@PreAuthorize("hasRole('ADMIN')")
-    @PostMapping("/all")
-    public Page<Package> all(@RequestBody PageQuery pageQuery) {
+    @PostMapping("/all1")
+    public Page<Package> all1(@RequestBody PageQuery pageQuery) {
 //        pageQuery.setSort("type,asc");
         Map<Long, String> categoryMap = categoryRepo.findAll()
                 .stream()
@@ -56,7 +60,6 @@ public class PackageController extends BaseController {
         Map<Long, String> attractionsMap = attractionsRepo.findAllByBrand(false)
                 .stream()
                 .collect(Collectors.toMap(Attractions::getId, Attractions::getName));
-
         return packageService.all(pageQuery).map(aPackage -> {
             aPackage.setAttractionsName(attractionsMap.get(aPackage.getAttractionsId()));
             aPackage.setCategoryName(categoryMap.get(aPackage.getCategoryId()));
@@ -64,6 +67,19 @@ public class PackageController extends BaseController {
         });
     }
 
+    @PostMapping("/all")
+    public Page<Package> all(@RequestBody PageQuery pageQuery) {
+        BigDecimal personalRatio = sysConfigService.getBigDecimal("PERSONAL_RATIO_0");
+        return packageService.all(pageQuery).map(aPackage -> {
+            if (aPackage.isSeparateDistribution() && ObjectUtil.isNotNull(aPackage.getPersonalRatio0())) {
+                aPackage.setShareAmount(aPackage.getPersonalRatio0().multiply(aPackage.getAmount()));
+            } else {
+                aPackage.setShareAmount(personalRatio.multiply(aPackage.getAmount()));
+            }
+            return aPackage;
+        });
+    }
+
     @GetMapping("/get/{id}")
     public Package get(@PathVariable Long id) {
         return packageRepo.findById(id).orElseThrow(new BusinessException("无记录"));

+ 7 - 0
src/main/vue/src/components/PackageEdit.vue

@@ -479,6 +479,13 @@ export default {
         submit() {
             let data = { ...this.formData };
             data.event = this.event;
+            if (this.stockList.length > 0) {
+                let minStock = this.stockList.sort(function(a, b) {
+                    return a.price < b.price ? -1 : a.price > b.price ? 1 : 0;
+                });
+                data.originalPrice = minStock[0].originalPrice;
+                data.amount = minStock[0].price;
+            }
             this.saving = true;
             this.$http
                 .post('/package/save', data, { body: 'json' })

+ 1 - 1
src/main/vue/src/views/PackageList.vue

@@ -119,7 +119,7 @@ export default {
         return {
             multipleMode: false,
             search: '',
-            url: '/package/all',
+            url: '/package/all1',
             downloading: false,
             typeOptions: [
                 { label: '团队', value: 'TEAM' },