From bd57b7c6e2307d6dfb07d778adfefc13c1afbffe Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 06 二月 2026 11:48:44 +0800
Subject: [PATCH] 经销商管理

---
 server/dmmall_service/src/main/resources/templates/controller.vm                               |    2 
 admin/src/views/index.vue                                                                      |    4 
 admin/src/components/business/OperaShopInfoWindow.vue                                          |   11 
 admin/src/views/business/platformGoods.vue                                                     |   13 +
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java  |    2 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/WorkbenchServiceImpl.java |   18 +-
 server/dmmall_service/src/main/resources/templates/serviceImpl.vm                              |   19 +-
 admin/src/components/business/OperaGoodsInfoWindow.vue                                         |  271 ++++++++++++++++++++++++++++++++++++++
 admin/src/components/business/OperaGoodsWindow.vue                                             |   19 +
 server/dmmall_service/src/main/java/com/doumee/core/utils/CodeGenerator.java                   |    8 
 server/dmmall_service/src/main/resources/templates/db.vm                                       |   10 
 11 files changed, 330 insertions(+), 47 deletions(-)

diff --git a/admin/src/components/business/OperaGoodsInfoWindow.vue b/admin/src/components/business/OperaGoodsInfoWindow.vue
new file mode 100644
index 0000000..98c0757
--- /dev/null
+++ b/admin/src/components/business/OperaGoodsInfoWindow.vue
@@ -0,0 +1,271 @@
+<template>
+  <GlobalWindow
+    v-loading="isUploading"
+    :title="title"
+    :visible.sync="visible"
+    :confirm-working="isWorking"
+    @confirm="confirm"
+  >
+    <el-form :model="form" ref="form" :rules="rules" label-width="110px" label-suffix="锛�" inline>
+      <el-form-item label="鍟嗗搧鍚嶇О" prop="name">
+        <el-input v-model="form.name" placeholder="璇疯緭鍏ュ晢鍝佸悕绉�" disabled v-trim/>
+      </el-form-item>
+      <el-form-item label="鍟嗗搧鍒嗙被" prop="categoryId">
+        <el-select  v-model="form.categoryId"  disabled  placeholder="璇烽�夋嫨鎵�灞炲垎绫�"  clearable filterable >
+          <el-option
+            v-for="item in labels()"
+            :key="item.id"
+            :value="item.id"
+            :label="item.name"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="鍟嗗搧鍝佺墝" prop="brandId">
+        <el-select v-model="form.brandId" disabled   placeholder="璇烽�夋嫨鍟嗗搧鍝佺墝" clearable filterable >
+          <el-option
+            v-for="item in brands()"
+            :key="item.id"
+            :value="item.id"
+            :label="item.name"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="鍟嗗搧涓诲浘" prop="imgurl">
+        <div  style="display: flex; align-items: center;   height: 100%; width: 100%">
+          <el-image style="width: 50px;height: 50px;" v-if="form.imgurlfull" :src="form.imgurlfull" :preview-src-list="[form.imgurlfull]"></el-image>
+        </div>
+      </el-form-item>
+      <el-form-item label="鍟嗗搧杞挱鍥�" prop="fileList">
+        <div  v-if="form.fileList && form.length">
+          <el-image v-for="item in form.fileList" style="width: 50px;height: 50px;" :src="item.url" :preview-src-list="[item.url]"></el-image>
+        </div>
+      </el-form-item>
+      <el-form-item label="鍑哄巶浠凤紙鍏冿級" prop="price">
+        <el-input type="number" v-model="form.price" placeholder="璇疯緭鍏ュ嚭鍘備环" v-trim> disabled  <template slot="append"> 鍏�</template>  </el-input>
+      </el-form-item>
+      <el-form-item label="閿�鍞环锛堝厓锛�" prop="skuPrice">
+        <el-input type="number" v-model="form.skuPrice" placeholder="璇疯緭鍏ラ攢鍞环" disabled v-trim>  <template slot="append"> 鍏�</template>  </el-input>
+      </el-form-item>
+      <el-form-item label="鍒掔嚎浠凤紙鍏冿級" prop="showPrice">
+        <el-input type="number" v-model="form.showPrice" placeholder="璇疯緭鍏ョ嚎浠�" disabled v-trim>  <template slot="append"> 鍏�</template>  </el-input>
+      </el-form-item>
+      <el-form-item label="绉垎鎶垫墸棰濆害" prop="deductRata">
+        <el-input type="number" v-model="form.deductRata" disabled placeholder="璇疯緭鍏ョН鍒嗘姷鎵i搴�" v-trim>
+          <template slot="append">%</template>
+        </el-input>
+        <p class="tip-warn" style="margin-bottom: 1px;"><i class="el-icon-warning"></i>鎻愰啋锛氱Н鍒嗗彲鎶垫墸閲戦鍗犲晢鍝侀浂鍞环鐨勭櫨鍒嗘瘮锛�0.1%锝�100%涔嬮棿 </p>
+      </el-form-item>
+      <el-form-item  label="搴撳瓨閲�" prop="stockNum">
+        <el-input type="number" v-model="form.stockNum" disabled placeholder="璇疯緭鍏ュ晢鍝佸簱瀛橀噺" v-trim/>
+      </el-form-item>
+      <el-form-item label="鍟嗗搧鍗曚綅" prop="unitName">
+        <el-input v-model="form.unitName" disabled placeholder="璇疯緭鍏ュ晢鍝佸崟浣�" v-trim/>
+      </el-form-item>
+      <el-form-item  label="鍒濆閿�閲�" prop="salenum">
+        <el-input type="number" v-model="form.salenum" disabled placeholder="璇疯緭鍏ュ垵濮嬮攢閲�" v-trim/>
+      </el-form-item>
+      <el-form-item  label="鍟嗗搧閲嶉噺" prop="weight">
+        <el-input type="number" v-model="form.weight" disabled placeholder="璇疯緭鍏ュ晢鍝侀噸閲�" v-trim>
+        <template slot="append">kg</template>
+        </el-input>
+      </el-form-item>
+      <el-form-item label="鏄惁涓婃灦" prop="status">
+        <el-radio-group v-model="form.status" disabled>
+          <el-radio :value="1" :label="1" >涓婃灦</el-radio>
+          <el-radio :value="0" :label="0" >涓嬫灦</el-radio>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="浣跨敤鍟嗗搧鍝佺墝" prop="brandIdList">
+        <el-select v-model="form.brandIdList" disabled  placeholder="璇烽�夋嫨鍟嗗搧鍝佺墝" clearable multiple @change="changeBrand">
+          <el-option
+              v-for="item in applyBrands"
+              :key="item.id"
+              :value="item.id"
+              :label="item.name"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <div v-if="form.brandIdList && form.brandIdList.length" style="border:1px solid #f2f2f2; margin-left: 150px;width: 700px;padding: 20px 0 0px 0;margin-bottom: 20px;"  class="el-form-item__content">
+<!--
+        <span style="line-height: 32px;font-size: 14px;"><b style="color: #F56C6C;margin-right: 4px;font-size: 11px;">*</b>{{'銆�'+(item.name)+'銆戠郴鍒楋細'}}</span>
+-->
+        <el-form-item  v-for="(item,index) in applyBrands.filter(item=>item.show)"   :key="'warning_'+index" style="display: block;width: 100%;"  :label="'銆�'+(item.name)+'銆戠郴鍒�'"  >
+          <el-select v-model="item.childIdList" filterable disabled    multiple   style=" width: 500px;"  clearable  placeholder="璇烽�夋嫨鍝佺墝绯诲垪" >
+            <el-option v-for="item in item.childList"   :label="item.name" :value="item.id" :key="'brand_'+index+item.id">  </el-option>
+          </el-select>
+        </el-form-item>
+<!--
+        <el-button type="danger" style="margin-left: 10px;height: 32px; " @click="delDo(index)" v-if="index>0 || form.detailList.length>1">鍒犻櫎</el-button>
+-->
+      </div>
+      <el-form-item label="鍟嗗搧璇︽儏" prop="content">
+        <div  class="agree-list"   v-html="form.content"></div>
+      </el-form-item>
+    </el-form>
+  </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import RichEditor from '@/components/common/RichEditor'
+import { findAll as labelList } from '@/api/business/labels'
+export default {
+  name: 'OperaGoodsInfoWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow,   RichEditor },
+  data () {
+    return {
+      isUploading: false,
+      // 琛ㄥ崟鏁版嵁
+      form: {
+        id: null,
+        name: '',
+        categoryId: '',
+        brandId: '',
+        price: '',
+        fileList: [],
+        imgurl: '',
+        imgurlfull: '',
+        salenum: '',
+        type: 0,
+        info: '',
+        content: '',
+        sortnum: '',
+        skuPrice: null,
+        status: 1,
+        showPrice: null,
+        deductRata: null,
+        weight: null,
+        unitName: '',
+        stockNum: null,
+        brandIdList: [],
+        brandList: []
+      },
+      applyBrands: [],
+      // 楠岃瘉瑙勫垯
+      rules: {
+      }
+    }
+  },
+  inject: ['labels', 'brands'],
+  created () {
+    this.config({
+      api: '/business/goods',
+      'field.id': 'id'
+    })
+    this.loadBrandList()
+  },
+  methods: {
+    isSeletedBrand (val) {
+      var r = false
+      if (!this.form.brandIdList || !this.form.brandIdList.length) {
+        return false
+      }
+      this.form.brandIdList.forEach(item => {
+        if (item === val.id) {
+          r = true
+        }
+      })
+      return r
+    },
+    changeBrand () {
+      this.applyBrands.forEach(item => {
+        item.show = this.isSeletedBrand(item)
+      })
+      console.log(this.form.brandIdList, this.applyBrands)
+    },
+    loadBrandList () {
+      labelList({
+        type: 14 // 閫傚簲鍟嗗搧鍝佺墝
+      })
+        .then(res => {
+          this.applyBrands = res
+          this.applyBrands.forEach(item => {
+            item.show = this.isSeletedBrand(item)
+            if(this.form.id && this.form.brandList && this.form.brandList.length){
+              this.form.brandList.forEach(item1 => {
+                if (item1.id === item.id) {
+                  item.childIdList = item1.childIdList
+                }
+              })
+            }
+          })
+        })
+    },
+    getWangedditor (val) {
+      this.form.content = val
+    },
+    open (title, target, type) {
+      this.title = title
+      this.form.brandIdList = []
+      this.form.fileList = []
+      this.form.imgurl = ''
+      this.form.imgurlfull = ''
+      // 鏂板缓
+      if (target == null) {
+        return
+      }
+
+      this.visible = true
+      // 缂栬緫
+      this.$nextTick(async () => {
+        for (const key in this.form) {
+          this.form[key] = target[key]
+        }
+        this.form.type = type
+        await this.loadInfo(this.form.id)
+        if (this.form.imgurl) {
+          this.form.imgurlfull = target.resourcePath + target.imgurl
+        }
+      })
+    },
+    loadInfo () {
+      this.form.brandIdList = []
+      this.form.fileList = []
+      this.api.detail(this.form.id).then(res => {
+        if (res && res.brandList) {
+          this.form.brandList = res.brandList
+          res.brandList.forEach(item => {
+            this.form.brandIdList.push(item.id)
+          })
+        }
+        if (res.fileList && res.fileList.length) {
+          res.fileList.forEach(item => {
+            this.form.fileList.push(
+              {
+                fileurl: item.fileurl,
+                name: item.fileName,
+                url: res.resourcePath + item.fileurl
+              }
+            )
+          })
+          console.log(this.form.fileList)
+        }
+        this.loadBrandList()
+      })
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+@import "@/assets/style/alertstyle.scss";
+::v-deep .el-form-item__content {
+  flex: 0.6;
+}
+::v-deep .el-select {
+  width: 100%;
+  .el-input__inner {
+    width: 100%;
+  }
+}
+::v-deep  .el-form-item__label{
+  width: 150px !important;
+}
+.agree-list{
+  height: 550px;
+  //max-height: 50%;
+  overflow: auto;
+}
+</style>
diff --git a/admin/src/components/business/OperaGoodsWindow.vue b/admin/src/components/business/OperaGoodsWindow.vue
index cb55733..942a92d 100644
--- a/admin/src/components/business/OperaGoodsWindow.vue
+++ b/admin/src/components/business/OperaGoodsWindow.vue
@@ -31,7 +31,7 @@
         </el-select>
       </el-form-item>
       <el-form-item label="鍟嗗搧涓诲浘" prop="imgurl">
-        <div  style="display: flex; align-items: center;justify-content: center;  height: 100%; width: 100%">
+        <div  style="display: flex; align-items: center;   height: 100%; width: 100%">
           <UploadAvatarImage
               :file="{ 'imgurlfull': form.imgurlfull, 'imgurl': form.imgurl}"
               :uploadData="{folder:'goods'}"
@@ -106,7 +106,7 @@
 <!--
         <span style="line-height: 32px;font-size: 14px;"><b style="color: #F56C6C;margin-right: 4px;font-size: 11px;">*</b>{{'銆�'+(item.name)+'銆戠郴鍒楋細'}}</span>
 -->
-        <el-form-item  v-for="(item,index) in applyBrands" v-if="item.show" :key="'warning_'+index" style="display: block;width: 100%;"  :label="'銆�'+(item.name)+'銆戠郴鍒�'"  >
+        <el-form-item  v-for="(item,index) in applyBrands.filter(item=>item.show)"   :key="'warning_'+index" style="display: block;width: 100%;"  :label="'銆�'+(item.name)+'銆戠郴鍒�'"  >
           <el-select v-model="item.childIdList" filterable  multiple   style=" width: 500px;"  clearable  placeholder="璇烽�夋嫨鍝佺墝绯诲垪" >
             <el-option v-for="item in item.childList"   :label="item.name" :value="item.id" :key="'brand_'+index+item.id">  </el-option>
           </el-select>
@@ -210,6 +210,13 @@
           this.applyBrands = res
           this.applyBrands.forEach(item => {
             item.show = this.isSeletedBrand(item)
+            if(this.form.id && this.form.brandList && this.form.brandList.length){
+              this.form.brandList.forEach(item1 => {
+                if (item1.id === item.id) {
+                  item.childIdList = item1.childIdList
+                }
+              })
+            }
           })
         })
     },
@@ -221,8 +228,8 @@
       this.visible = true
       this.form.brandIdList = []
       this.form.fileList = []
-      this.form.imgurl=''
-      this.form.imgurlfull=''
+      this.form.imgurl = ''
+      this.form.imgurlfull = ''
       // debugger
       // 鏂板缓
       if (target == null) {
@@ -247,8 +254,8 @@
       })
     },
     loadInfo () {
-      this.form.brandIdList =[]
-      this.form.fileList =[]
+      this.form.brandIdList = []
+      this.form.fileList = []
       this.api.detail(this.form.id).then(res => {
         if (res && res.brandList) {
           this.form.brandList = res.brandList
diff --git a/admin/src/components/business/OperaShopInfoWindow.vue b/admin/src/components/business/OperaShopInfoWindow.vue
index 4c37612..63b4150 100644
--- a/admin/src/components/business/OperaShopInfoWindow.vue
+++ b/admin/src/components/business/OperaShopInfoWindow.vue
@@ -7,12 +7,12 @@
     <div class="detail-box">
       <div class="platgroup_tabs">
         <div class="tab" :class="{ active: activeGroup === item.id }" @click="groupClick(item)"
-             v-for="(item, i) in groupList" :key="i">
+             v-for="(item, i) in groupList" :key="'tab_'+i">
           {{ item.name }}
         </div>
       </div>
     </div>
-    <template v-if="activeGroup ==0">
+    <template v-if="activeGroup ===0">
       <div class="detail-box">
         <div class="header">
           <div  class="header-b">鍩烘湰淇℃伅</div>
@@ -109,7 +109,7 @@
         </TableLayout>
       </div>
     </template>
-    <template v-else-if="activeGroup == 1">
+    <template v-if="activeGroup === 1">
       <div class="detail-box">
         <el-form ref="searchForm1"   :model="searchForm1"    style="display: block;" >
           <el-form-item label="" prop="code" style="display: inline-block;margin-right: 30px;">
@@ -179,7 +179,7 @@
               <el-table-column prop="details" label="鍟嗗搧淇℃伅"   align="center" min-width="250px" show-overflow-tooltip>
                 <template slot-scope="{row}">
                   <div v-if="row.goodsorderDetailList && row.goodsorderDetailList.length"  style="width: 220px">
-                      <div v-for="(item) in row.goodsorderDetailList" style="display: flex">
+                      <div v-for="(item) in row.goodsorderDetailList" :key="'itemdetail_'+item.id" style="display: flex">
                         <div style="flex: 1">銆恵{item.name}}銆�</div><div style="flex: 1">閿�鍞环锛歿{item.price||0}} 鏁伴噺锛歿{item.goodsNum||0}}</div>
                       </div>
                   </div>
@@ -220,7 +220,7 @@
         </TableLayout>
       </div>
     </template>
-    <template v-else-if="activeGroup == 2">
+    <template v-if="activeGroup === 2">
       <div  class="detail-box">
         <div class="header">
           <div  class="header-b">绉垎鏄庣粏</div>
@@ -517,6 +517,7 @@
 .platgroup_tabs {
   flex: 1;
   display: flex;
+  font-size: 15px;
   border-bottom: 1px solid #dfe2e8;
   margin-bottom: 30px;
   .tab {
diff --git a/admin/src/views/business/platformGoods.vue b/admin/src/views/business/platformGoods.vue
index 885cc8c..a36e703 100644
--- a/admin/src/views/business/platformGoods.vue
+++ b/admin/src/views/business/platformGoods.vue
@@ -77,7 +77,11 @@
             <el-image style="width: 50px;height: 50px;" v-if="row.imgurl && row.imgurl!=''" :src="row.resourcePath+row.imgurl" :preview-src-list="[row.resourcePath+row.imgurl]"></el-image>
           </template>
         </el-table-column>
-        <el-table-column prop="id" label="鍟嗗搧ID" min-width="150px" ></el-table-column>
+        <el-table-column prop="id" label="鍟嗗搧ID" min-width="150px" >
+          <template slot-scope="{row}">
+            <span class="blue" style="cursor: pointer" @click="$refs.OperaGoodsInfoWindow.open('鍟嗗搧璇︽儏', row, 0)">{{row.id}}</span>
+          </template>
+        </el-table-column>
         <el-table-column prop="name" label="鍟嗗搧鍚嶇О" min-width="150px" show-overflow-tooltip></el-table-column>
         <el-table-column prop="categoryName" label="鎵�灞炲垎绫�" min-width="120px"></el-table-column>
         <el-table-column prop="brandName" label="鎵�灞炲搧鐗�" min-width="120px"></el-table-column>
@@ -112,7 +116,6 @@
              <el-button type="text" v-if="row.status == 1" @click="$refs.operaGoodsWindow.open('缂栬緫鍟嗗搧', row, 0)" v-permissions="['business:goods:update']">缂栬緫</el-button>
             <el-button type="text" v-permissions="['business:goods:update']" @click="goPriceSet(row)">渚涜揣浠�</el-button>
             <el-button type="text" style="color: red;" @click="deleteById(row)" v-permissions="['business:goods:delete']">鍒犻櫎</el-button>
-            <!-- <el-button type="text" @click="$refs.operaGoodsDetailWindow.open('鍟嗗搧璇︽儏', row, 0)">鏌ョ湅璇︽儏</el-button>-->
           </template>
         </el-table-column>
       </el-table>
@@ -125,7 +128,7 @@
     </template>
     <!-- 鏂板缓/淇敼 -->
     <OperaGoodsWindow ref="operaGoodsWindow" @success="handlePageChange"/>
-    <OperaGoodsDetailWindow ref="operaGoodsDetailWindow"/>
+    <OperaGoodsInfoWindow ref="OperaGoodsInfoWindow"/>
     <OperaPlatformGoodsSkuWindow ref="operaPlatformGoodsSkuWindow"/>
     <OperaShopGoodsWindow ref="OperaShopGoodsWindow" @success="priceSuccess"/>
   </TableLayout>
@@ -136,14 +139,14 @@
 import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
 import OperaGoodsWindow from '@/components/business/OperaGoodsWindow'
-import OperaGoodsDetailWindow from '@/components/business/OperaGoodsDetailWindow'
+import OperaGoodsInfoWindow from '@/components/business/OperaGoodsInfoWindow'
 import OperaPlatformGoodsSkuWindow from '@/components/business/OperaPlatformGoodsSkuWindow'
 import OperaShopGoodsWindow from '@/components/business/OperaShopGoodsWindow'
 import { findAll as labelList } from '@/api/business/labels'
 export default {
   name: 'Goods',
   extends: BaseTable,
-  components: { TableLayout, Pagination, OperaGoodsWindow, OperaGoodsDetailWindow, OperaPlatformGoodsSkuWindow, OperaShopGoodsWindow },
+  components: { TableLayout, Pagination, OperaGoodsWindow, OperaGoodsInfoWindow, OperaPlatformGoodsSkuWindow, OperaShopGoodsWindow },
   data () {
     return {
       activeName: 'first',
diff --git a/admin/src/views/index.vue b/admin/src/views/index.vue
index 2cd5e29..1a8be1c 100644
--- a/admin/src/views/index.vue
+++ b/admin/src/views/index.vue
@@ -509,13 +509,13 @@
   .tab-btn{
     font-weight: normal;
     cursor: pointer;
-    border-radius: 0px;
+    border-radius: 1px;
     margin: 0px 5px;
     font-size: 12px;
     border: 1px solid #999;
     color: #999;
     padding: 1px 5px;
-    background-color: #f2f2f2;
+    background-color: #f4f7fc;
   }
 }
 .data {
diff --git a/server/dmmall_service/src/main/java/com/doumee/core/utils/CodeGenerator.java b/server/dmmall_service/src/main/java/com/doumee/core/utils/CodeGenerator.java
index 2796a18..0a83b20 100644
--- a/server/dmmall_service/src/main/java/com/doumee/core/utils/CodeGenerator.java
+++ b/server/dmmall_service/src/main/java/com/doumee/core/utils/CodeGenerator.java
@@ -18,7 +18,7 @@
 public class CodeGenerator {
     public static  String packName ="com.doumee";
     // 璁剧疆杈撳嚭鐩綍
-    public static String rootFileDir = "D:/code/idea/initCode/";
+    public static String rootFileDir = "D:/code/idea/initCode/diandongche/";
     public static  String outputDirEntity =rootFileDir+"src/main/java/com/doumee/dao/business/model/"; // 杈撳嚭鐨勪唬鐮佹枃浠跺す璺緞
     public static  String outputDirMapper = rootFileDir+"src/main/java/com/doumee/dao/business/"; // 杈撳嚭鐨勪唬鐮佹枃浠跺す璺緞
     public static  String outputDirService =rootFileDir+"src/main/java/com/doumee/service/business/"; // 杈撳嚭鐨勪唬鐮佹枃浠跺す璺緞
@@ -27,12 +27,12 @@
     public static  String outputDirDb =rootFileDir+"db/"; // 杈撳嚭鐨勪唬鐮佹枃浠跺す璺緞
     public static void main(String[] args) {
         // 閰嶇疆鏁版嵁搴撹繛鎺�
-        String url = "jdbc:mysql://192.168.0.211:3306/dmmall_full";
+        String url = "jdbc:mysql://192.168.0.211:3306/diandongche";
         String username = "root";
         String password = "Doumee@168";
-        String database = "dmmall_full";
+        String database = "diandongche";
         List<String> tables = new ArrayList<>();
-        tables.add("withdraw_record");
+        tables.add("refund");
 
         for(String tableName : tables){
             // 鑾峰彇琛ㄤ俊鎭苟鐢熸垚浠g爜
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
index d7850b1..a0c6493 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
@@ -355,7 +355,7 @@
         if (pageWrap.getModel().getEndtime() != null) {
             queryWrapper.le(Integral::getCreateDate, pageWrap.getModel().getEndtime());
         }
-        queryWrapper.orderByDesc(Integral::getCreateDate);
+        queryWrapper.orderByDesc(Integral::getId);
         IPage<Integral> result = integralJoinMapper.selectJoinPage(page, Integral.class, queryWrapper);
 
         String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.MEMBER_FILE).getCode();
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WorkbenchServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WorkbenchServiceImpl.java
index c8e576b..4f6291f 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WorkbenchServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WorkbenchServiceImpl.java
@@ -70,7 +70,7 @@
     private GoodsorderDetailMapper goodsorderDetailMapper;
     @Override
     public List<BusinessDataCountVO> shopRankList10(CountDataDTO param) {
-        Date startDate = null,endDate = null;
+ /*       Date startDate = null,endDate = null;
         if(param.getYear()!=null && param.getMonth()!=null){
             List<Date> dList = DateUtil.getDatePeriodByYearAndMonth(param.getYear(),param.getMonth()-1);
             startDate = dList.get(0);
@@ -79,7 +79,7 @@
             List<Date> dList = DateUtil.getDatePeriodByYear(param.getYear());
             startDate = dList.get(0);
             endDate = dList.get(1);
-        }
+        }*/
         //缁熻璁㈠崟閿�閲忓拰閿�鍞闆嗗悎
         List<BusinessDataCountVO> list1 =  goodsorderMapper.selectJoinList(BusinessDataCountVO.class,new MPJLambdaWrapper<Goodsorder>()
                 .selectAs(Shop::getName,BusinessDataCountVO::getName)
@@ -87,8 +87,8 @@
                 .select("(select count(t.id) )",BusinessDataCountVO::getNum)
                 .select("(select sum(t.total_price) )",BusinessDataCountVO::getPrice)
                 .leftJoin(Shop.class,Shop::getId,Goodsorder::getDistributionShopId)
-                .ge(startDate!=null,Goodsorder::getCreateDate,startDate)
-                .ne(endDate!=null,Goodsorder::getCreateDate,endDate)
+                .apply(param.getYear()!=null,"YEAR ( t.CREATE_DATE )="+param.getYear() )
+                .apply(param.getYear()!=null && param.getMonth()!=null,"MONTH ( t.CREATE_DATE )="+param.getMonth() )
                 .eq(Goodsorder::getIsdeleted,Constants.ZERO)
                 .in(Goodsorder::getStatus,Constants.OrderStatus.DONE.getKey(),Constants.OrderStatus.REFUND.getKey())
                 .groupBy(Goodsorder::getDistributionShopId)
@@ -101,7 +101,7 @@
     }
     @Override
     public List<BusinessDataCountVO> goodsRankList10(CountDataDTO param) {
-        Date startDate = null,endDate = null;
+ /*       Date startDate = null,endDate = null;
         if(param.getYear()!=null && param.getMonth()!=null){
             List<Date> dList = DateUtil.getDatePeriodByYearAndMonth(param.getYear(),param.getMonth()-1);
             startDate = dList.get(0);
@@ -110,7 +110,7 @@
             List<Date> dList = DateUtil.getDatePeriodByYear(param.getYear());
             startDate = dList.get(0);
             endDate = dList.get(1);
-        }
+        }*/
         //缁熻璁㈠崟閿�閲忓拰閿�鍞闆嗗悎
         List<BusinessDataCountVO> list1 =  goodsorderDetailMapper.selectJoinList(BusinessDataCountVO.class,new MPJLambdaWrapper<GoodsorderDetail>()
                 .selectAs(Goods::getName,BusinessDataCountVO::getName)
@@ -118,8 +118,10 @@
                 .select("(select  sum(ifnull(t.price,0) * ifnull(t.goods_num,0)))",BusinessDataCountVO::getPrice)
                 .leftJoin(Goodsorder.class,Goodsorder::getId,GoodsorderDetail::getOrderId)
                 .leftJoin(Goods.class,Goods::getId,GoodsorderDetail::getGoodsId)
-                .ge(startDate!=null,Goodsorder::getCreateDate,startDate)
-                .ne(endDate!=null,Goodsorder::getCreateDate,endDate)
+//                .ge(startDate!=null,Goodsorder::getCreateDate,startDate)
+//                .ne(endDate!=null,Goodsorder::getCreateDate,endDate)
+                .apply(param.getYear()!=null,"YEAR ( t1.CREATE_DATE )="+param.getYear() )
+                .apply(param.getYear()!=null && param.getMonth()!=null,"MONTH ( t1.CREATE_DATE )="+param.getMonth() )
                 .eq(Goodsorder::getIsdeleted,Constants.ZERO)
                 .in(Goodsorder::getStatus,Constants.OrderStatus.DONE.getKey(),Constants.OrderStatus.REFUND.getKey())
                 .groupBy(GoodsorderDetail::getGoodsId)
diff --git a/server/dmmall_service/src/main/resources/templates/controller.vm b/server/dmmall_service/src/main/resources/templates/controller.vm
index d6a4fdc..16a259d 100644
--- a/server/dmmall_service/src/main/resources/templates/controller.vm
+++ b/server/dmmall_service/src/main/resources/templates/controller.vm
@@ -22,7 +22,7 @@
  * @author doumee
  * @date ${nowDate}
  */
-@Api(tags = "tableName鎺ュ彛")
+@Api(tags = "${tableName}鎺ュ彛")
 @RestController
 @RequestMapping("/business/${entityNameLower}")
 public class ${entityName}Controller extends BaseController {
diff --git a/server/dmmall_service/src/main/resources/templates/db.vm b/server/dmmall_service/src/main/resources/templates/db.vm
index 3735148..d76b90c 100644
--- a/server/dmmall_service/src/main/resources/templates/db.vm
+++ b/server/dmmall_service/src/main/resources/templates/db.vm
@@ -1,6 +1,6 @@
-INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:${entityNameLowerFull}:create', '鏂板缓${tableComment}', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
-INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:${entityNameLowerFull}:delete', '鍒犻櫎${tableComment}', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
-INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:${entityNameLowerFull}:update', '淇敼${tableComment}', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
-INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:${entityNameLowerFull}:query', '鏌ヨ${tableComment}', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
-INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:${entityNameLowerFull}:exportExcel', '瀵煎嚭${tableComment}(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`, `MODULE`) VALUES ('business:${entityNameLowerFull}:create', '鏂板缓${tableComment}', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0,'${tableComment}');
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`, `MODULE`) VALUES ('business:${entityNameLowerFull}:delete', '鍒犻櫎${tableComment}', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0,'${tableComment}');
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`, `MODULE`) VALUES ('business:${entityNameLowerFull}:update', '淇敼${tableComment}', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0,'${tableComment}');
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`, `MODULE`) VALUES ('business:${entityNameLowerFull}:query', '鏌ヨ${tableComment}', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0,'${tableComment}');
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`, `MODULE`) VALUES ('business:${entityNameLowerFull}:exportExcel', '瀵煎嚭${tableComment}(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0,'${tableComment}');
 
diff --git a/server/dmmall_service/src/main/resources/templates/serviceImpl.vm b/server/dmmall_service/src/main/resources/templates/serviceImpl.vm
index 5ff71f2..fe0dd8a 100644
--- a/server/dmmall_service/src/main/resources/templates/serviceImpl.vm
+++ b/server/dmmall_service/src/main/resources/templates/serviceImpl.vm
@@ -90,15 +90,15 @@
         QueryWrapper<${entityName}> queryWrapper = new QueryWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
         #foreach ($column in $columns)
-            #if(${column.javaType} !='Date')
-               queryWrapper.lambda().eq(pageWrap.getModel().get${column.getJavaName}() != null,${entityName}::get${column.getJavaName}, pageWrap.getModel().get${column.getJavaName}());
-            #end
-            #if(${column.javaType} =='Date')
-             if (pageWrap.getModel().getId() != null) {
-                  queryWrapper.lambda().ge(${entityName}::get${column.getJavaName}, Utils.Date.getStart(pageWrap.getModel().get${column.getJavaName}()));
-                  queryWrapper.lambda().le(${entityName}::get${column.getJavaName}, Utils.Date.getEnd(pageWrap.getModel().get${column.getJavaName}()));
-             }
-            #end
+        #if(${column.javaType} !='Date')
+        queryWrapper.lambda().eq(pageWrap.getModel().get${column.getJavaName}() != null,${entityName}::get${column.getJavaName}, pageWrap.getModel().get${column.getJavaName}());
+        #end
+        #if(${column.javaType} =='Date')
+        if (pageWrap.getModel().get${column.getJavaName}() != null) {
+            queryWrapper.lambda().ge(${entityName}::get${column.getJavaName}, Utils.Date.getStart(pageWrap.getModel().get${column.getJavaName}()));
+            queryWrapper.lambda().le(${entityName}::get${column.getJavaName}, Utils.Date.getEnd(pageWrap.getModel().get${column.getJavaName}()));
+        }
+        #end
         #end
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
@@ -109,7 +109,6 @@
         }
         return PageData.from(${entityNameLower}Mapper.selectPage(page, queryWrapper));
     }
-
     @Override
     public long count(${entityName} ${entityNameLower}) {
         QueryWrapper<${entityName}> wrapper = new QueryWrapper<>(${entityNameLower});

--
Gitblit v1.9.3