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