Browse Source

Merge branch 'dev' of xiongzhu/raex_back into master

panhui 3 years ago
parent
commit
c3ec738673

+ 11 - 1
src/main/java/com/izouma/nineth/domain/Asset.java

@@ -245,6 +245,16 @@ public class Asset extends CollectionBaseEntity {
     private boolean metaPutOn;
 
     public static Asset create(Collection collection, User user) {
+        Set<Tag> tags;
+        if (collection.getTags() != null) {
+            if (collection.getTags().size() > 0) {
+                tags = new HashSet<>(collection.getTags());
+            } else {
+                tags = new HashSet<>();
+            }
+        } else {
+            tags = new HashSet<>();
+        }
         return Asset.builder()
                 .userId(user.getId())
                 .collectionId(collection.getId())
@@ -270,7 +280,7 @@ public class Asset extends CollectionBaseEntity {
                 .holdDays(collection.getHoldDays())
                 .oldHoldDays(collection.getHoldDays())
                 .source(AssetSource.OFFICIAL)
-                .tags(new HashSet<>(collection.getTags()))
+                .tags(tags)
                 .prefixName(collection.getPrefixName())
                 .empower(collection.getEmpower())
                 .companyId(collection.getCompanyId())

+ 5 - 0
src/main/java/com/izouma/nineth/service/AssetService.java

@@ -1,6 +1,7 @@
 package com.izouma.nineth.service;
 
 import cn.hutool.core.collection.CollectionUtil;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.google.common.collect.Lists;
 import com.google.common.hash.Hashing;
@@ -159,6 +160,10 @@ public class AssetService {
         if (collection.isMessNumber() && number != null) {
             number = getMessedNumber(collection.getId(), number, collection.getTotal());
         }
+        log.info("----------------------------------");
+        log.info(JSON.toJSONString(collection));
+        log.info(JSON.toJSONString(collection.getTags()));
+        log.info("----------------------------------");
         Asset asset = Asset.create(collection, user);
         asset.setTokenId(TokenUtils.genTokenId());
         asset.setNumber(number);

+ 3 - 3
src/main/vue/src/views/Dashboard.vue

@@ -28,7 +28,7 @@
                     </grid-item>
                 </grid-layout>
             </el-tab-pane>
-            <el-tab-pane label="业绩统计">
+            <el-tab-pane label="业绩统计" lazy>
                 <grid-layout
                     style="margin: 0 -10px;"
                     :layout="layout"
@@ -136,8 +136,8 @@ export default {
                 ];
                 this.layout2 = [
                     { x: 6, y: 0, w: 12, h: 12, i: '10', name: 'OtherStatistic' },
-                    { x: 6, y: 12, w: 12, h: 12, i: '11', name: 'Detail' }
-                    ];
+                    { x: 6, y: 12, w: 12, h: 15, i: '11', name: 'Detail' }
+                ];
             } else {
                 this.layout = [
                     { x: 0, y: 0, w: 6, h: 4, i: '2', name: 'PriceWidget' },

+ 82 - 29
src/main/vue/src/widgets/Detail.vue

@@ -1,25 +1,44 @@
 <template>
-    <widget-card :bodyStyle="bodyStyle">
+    <widget-card :bodyStyle="bodyStyle" ref="container">
         <template #header>
-            <div class="header">
+            <div class="header" ref="top">
                 <span>流水明细</span>
-<!--                <el-select-->
-<!--                    style="width: 120px;"-->
-<!--                    size="mini"-->
-<!--                    v-model="value"-->
-<!--                    @change="changeSelect"-->
-<!--                    placeholder="请选择"-->
-<!--                >-->
-<!--                    <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">-->
-<!--                    </el-option>-->
-<!--                </el-select>-->
+                <!--                <el-select-->
+                <!--                    style="width: 120px;"-->
+                <!--                    size="mini"-->
+                <!--                    v-model="value"-->
+                <!--                    @change="changeSelect"-->
+                <!--                    placeholder="请选择"-->
+                <!--                >-->
+                <!--                    <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">-->
+                <!--                    </el-option>-->
+                <!--                </el-select>-->
             </div>
         </template>
-        <div class="box-content">
+        <!-- <div class="box-content">
             <div class="box">
                 <div class="text1">手续费/充值/saas/版权/星图/提现/域名</div>
-                <div class="text2">{{ order.serviceCharge }}元/{{ order.recharge }}元/{{ order.saas }}元/{{ order.royalties }}元/{{ order.photoAsset }}元/{{ order.withdraw }}元/{{ order.domainOrder }}元</div>
+                <div class="text2">
+                    {{ order.serviceCharge }}元/{{ order.recharge }}元/{{ order.saas }}元/{{ order.royalties }}元/{{
+                        order.photoAsset
+                    }}元/{{ order.withdraw }}元/{{ order.domainOrder }}元
+                </div>
             </div>
+        </div> -->
+        <div class="chart-box">
+            <div class="table">
+                <el-table :data="order" border style="width: 100%">
+                    <el-table-column align="center" prop="domainOrder" label="元域名"> </el-table-column>
+                    <el-table-column align="center" prop="photoAsset" label="星图"> </el-table-column>
+                    <el-table-column align="center" prop="auction" label="易拍"> </el-table-column>
+                    <el-table-column align="center" prop="saas" label="saas"> </el-table-column>
+                    <el-table-column align="center" prop="serviceCharge" label="技术服务费"> </el-table-column>
+                    <el-table-column align="center" prop="royalties" label="版权费"> </el-table-column>
+                    <el-table-column align="center" prop="recharge" label="充值"> </el-table-column>
+                    <el-table-column align="center" prop="withdraw" label="提现"> </el-table-column>
+                </el-table>
+            </div>
+            <canvas ref="chart" class="chart"></canvas>
         </div>
     </widget-card>
 </template>
@@ -28,24 +47,20 @@ import WidgetCard from './WidgetCard';
 import acc from '../mixins/acc';
 
 export default {
-    created() {
-        this.getPriceInfo();
-        // this.value = 'today';
-        // this.changeSelect();
-    },
     data() {
         return {
+            myChart: null,
             bodyStyle: {
                 overflow: 'auto'
             },
             value: '',
             priceInfo: {},
             options: [
-                {label: 'today', value: 'today'},
-                {label: 'last', value: 'last'},
-                {label: 'yesterday', value: 'yesterday'},
+                { label: 'today', value: 'today' },
+                { label: 'last', value: 'last' },
+                { label: 'yesterday', value: 'yesterday' }
             ],
-            order: {}
+            order: []
         };
     },
     mixins: [acc],
@@ -53,16 +68,50 @@ export default {
         WidgetCard
     },
     mounted() {
+        setTimeout(() => {
+            this.$nextTick(() => {
+                this.$refs.chart.width = this.$refs.container.$el.offsetWidth - 20;
+                this.$refs.chart.height = this.$refs.container.$el.offsetHeight - this.$refs.top.offsetHeight - 420;
+                this.init();
+            });
+        }, 500);
         // this.changeSelect();
     },
     methods: {
-        getPriceInfo() {
-            this.$http
-                .get('/statistic/statisticDetail')
-                .then(res => {
-                    this.order = res.today;
+        init() {
+            this.$http.get('/statistic/statisticDetail').then(res => {
+                this.order = [{ ...res.today, auction: 0 }];
+                this.myChart = new Chart(this.$refs.chart.getContext('2d'), {
+                    type: 'bar',
+                    data: {
+                        labels: ['元域名', '星图', '易拍', 'saas', '技术服务费', '版权费', '充值', '提现'],
+                        datasets: [
+                            {
+                                label: '流水(元)',
+                                borderColor: '#409EFF',
+                                backgroundColor: '#409EFF',
+                                data: [
+                                    this.order[0].domainOrder,
+                                    this.order[0].photoAsset,
+                                    0,
+                                    this.order[0].saas,
+                                    this.order[0].serviceCharge,
+                                    this.order[0].royalties,
+                                    this.order[0].recharge,
+                                    this.order[0].withdraw
+                                ]
+                            }
+                        ]
+                    },
+                    options: {
+                        title: { text: '今日流水明细', display: true },
+                        legend: { display: false },
+                        responsive: true,
+                        maintainAspectRatio: false
+                    }
                 });
-        },
+            });
+        }
         // changeSelect() {
         //     this.order = this.priceInfo.today;
         // }
@@ -129,4 +178,8 @@ export default {
         }
     }
 }
+
+.table {
+    margin-bottom: 20px;
+}
 </style>