From b3752822ea0b7cfdac51b248dc56452d4242ce56 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 15 一月 2026 10:31:50 +0800
Subject: [PATCH] 经销商管理
---
server/dmmall_service/src/main/java/com/doumee/dao/business/model/MemberCoupon.java | 40 +---
admin/src/api/business/memberCoupon.js | 11 +
admin/src/components/business/OperaMemberCouponWindow.vue | 353 ++++++++++++++++++++++++++++++++++++++++++++++++++
server/dmmall_admin/src/main/java/com/doumee/api/business/MemberCouponController.java | 2
admin/src/views/business/memberCoupon.vue | 9 +
server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUser.java | 2
6 files changed, 387 insertions(+), 30 deletions(-)
diff --git a/admin/src/api/business/memberCoupon.js b/admin/src/api/business/memberCoupon.js
index 01e9e7c..f006475 100644
--- a/admin/src/api/business/memberCoupon.js
+++ b/admin/src/api/business/memberCoupon.js
@@ -6,3 +6,14 @@
trim: true
})
}
+export function exportExcel (data) {
+ return request.post('/business/memberCoupon/exportExcel', data, {
+ trim: true,
+ download: true
+ })
+}
+
+// 鍒涘缓
+export function create (data) {
+ return request.post('/business/memberCoupon/create', data)
+}
diff --git a/admin/src/components/business/OperaMemberCouponWindow.vue b/admin/src/components/business/OperaMemberCouponWindow.vue
new file mode 100644
index 0000000..68002b6
--- /dev/null
+++ b/admin/src/components/business/OperaMemberCouponWindow.vue
@@ -0,0 +1,353 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="80%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <el-form :model="form" ref="form" :rules="rules" label-width="120px" label-suffix="锛�" inline>
+ <p class="tip-header" >鍩烘湰灞炴��</p>
+ <el-form-item label="浼樻儬鍒稿悕绉�" prop="name">
+ <el-input v-model="form.name" placeholder="璇疯緭鍏ヤ紭鎯犲埜鍚嶇О" :maxlength="12" v-trim/>
+ </el-form-item>
+ <el-form-item label="绫诲瀷" prop="couponType">
+ <el-radio-group v-model="form.couponType">
+ <el-radio :label="0" >婊″噺鍒�</el-radio>
+ <el-radio :label="1">鎶樻墸鍒�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="浼樻儬瑙勫垯" prop="couponRule" >
+ <div class="coupon-rule">
+ <div class="discrep">璁㈠崟婊�</div>
+ <el-input v-model="form.limitPrice" placeholder="璇疯緭鍏�" @input="inputAction(form, 'limitPrice')"
+ >
+ <template slot="append">鍏�</template>
+ </el-input>
+ <div class="discrep" >{{form.couponType === 1?'锛屼韩':'锛屽噺'}}</div>
+ <el-input v-model="form.price" placeholder="璇疯緭鍏�" @input="inputAction(form, 'price')" >
+ <template slot="append" >{{form.couponType ===1?'鎶�':'鍏�'}}</template>
+ </el-input>
+ </div>
+ </el-form-item>
+ <el-form-item label="浼樻儬鍒歌鏄�" prop="info">
+ <el-input type="textarea" v-model="form.info" placeholder="璇疯緭鍏ヤ紭鎯犲埜璇存槑" v-trim/>
+ </el-form-item>
+ <p class="tip-header" >浣跨敤闄愬埗</p>
+ <el-form-item label="鏈夋晥鏈�" prop="useType">
+ <el-radio-group v-model="form.useType">
+ <el-radio :label="0">鍥哄畾鏃舵</el-radio>
+ <el-radio :label="1">鍥哄畾鏃堕暱</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="浣跨敤鏃舵" prop="getDate" v-if="form.useType===0">
+ <div class="date-style">
+ <el-date-picker
+ v-model="getDate"
+ type="datetimerange"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy-MM-dd HH:mm:ss"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫椂闂�"
+ end-placeholder="缁撴潫鏃堕棿"
+ @change="selectDate"
+ ></el-date-picker>
+ </div>
+ </el-form-item>
+ <el-form-item label="鍥哄畾鏃堕暱" prop="validDays" v-if="form.useType===1">
+ <div class="coupon-rule">
+ <div class="discrep">棰嗗姷鍚�</div>
+ <el-input
+ v-model="form.validDays"
+ placeholder="璇疯緭鍏�"
+ @input="inputAction(form, 'validDays')"
+ >
+ <template slot="append">澶�</template>
+ </el-input>
+ <div class="discrep">鏈夋晥</div>
+ </div>
+ </el-form-item>
+ <el-form-item label="閫傜敤瀵硅薄" prop="applyType">
+ <el-radio-group v-model="form.applyType">
+ <el-radio :label="0">鍏ㄥ満閫氱敤</el-radio>
+ <el-radio :label="1">鎸夊搧绫�</el-radio>
+ <el-radio :label="2">鎸囧畾鍟嗗搧</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item v-if="form.applyType===1" label="閫夋嫨鍝佺被" prop="applyCateIdList" >
+ <el-select v-model="form.applyCateIdList" placeholder="璇烽�夋嫨,鏀寔澶氶��" filterable multiple clearable >
+ <el-option v-for="item in categorys" :key="'optCate'+item.id" :label="item.name" :value="item.id"> </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item v-if="form.applyType===2" label="閫夋嫨鍟嗗搧" prop="applyIdList" style="display: flex">
+ <span style="font-size: 12px;color: #216EEE" @click="selectGoods">宸叉寚瀹氥�� {{applyDataList.length}} 銆戜欢鍟嗗搧</span>
+ <el-button style="margin-left:30px;display: inline-block;width: 80px;" type="primary" @click="selectGoods">鍘婚�夋嫨 </el-button>
+ </el-form-item>
+ <p class="tip-header" >鍙戞斁瑙勫垯</p>
+ <el-form-item label="鍙戞斁鎬婚噺" prop="num">
+ <div class="num-style">
+ <el-input-number v-model="form.num" :controls="false" :min="1" :max="99999" placeholder="璇疯緭鍏ュ彂鏀炬�婚噺(1~99999)" v-trim></el-input-number>
+ </div>
+ </el-form-item>
+ </el-form>
+ <OperaCouponGoodsWindow ref="OperaCouponGoodsWindow" @success="doSelect"/>
+ </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import { fetchList as shopList } from '@/api/business/shop'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import { findAll as labelList } from '@/api/business/labels'
+import { allList as goodsList} from '@/api/business/goods'
+import OperaCouponGoodsWindow from '@/components/business/OperaCouponGoodsWindow'
+export default {
+ name: 'OperaCouponWindow',
+ extends: BaseOpera,
+ components: { GlobalWindow,OperaCouponGoodsWindow },
+ data () {
+ const couponRules = (rule, value, callback) => {
+ if (!this.form.limitPrice) {
+ callback(new Error('璇疯緭鍏ユ弧棰�'))
+ } else if (!this.form.price) {
+ callback(new Error('璇峰畬鍠勪紭鎯犺鍒�'))
+ } else {
+ callback()
+ }
+ }
+ const getDateRules = (rule, value, callback) => {
+ if (!this.form.startDate) {
+ callback(new Error('璇烽�夋嫨寮�濮嬫椂闂�'))
+ } else if (!this.form.endDate) {
+ callback(new Error('璇疯緭鍏ョ粨鏉熸椂闂�'))
+ } else {
+ callback()
+ }
+ }
+ const numRule = (rule, value, callBack) => {
+ if (value < 0) {
+ callBack(new Error())
+ } else {
+ callBack()
+ }
+ }
+ return {
+ searchLoading: false,
+ getDate: [],
+ applyDataList:[],
+ showGoods:false,
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ name: '',
+ couponType: 0,
+ applyType: 0,
+ useType: 0,
+ shopId: '',
+ applyIdList: [],
+ applyCateIdList: [],
+ type: 0,
+ limitPrice: '',
+ price: '',
+ startDate: '',
+ endDate: '',
+ applyIds: '',
+ validDays: '',
+ getMethod: '',
+ integral: '',
+ status: '',
+ num: '',
+ info: ''
+ },
+ shops: [],
+ categorys: [],
+ // 楠岃瘉瑙勫垯
+ rules: {
+ name: [
+ { required: true, message: '璇疯緭鍏ヤ紭鎯犲埜鍚嶇О', tigger: 'blur' }
+ ],
+ couponRule: [
+ { required: true, validator: couponRules, tigger: 'blur' }
+ ],
+ useType: [
+ { required: true, message: '璇烽�夋嫨鏈夋晥鏈熸柟寮�' }
+ ],
+ couponType: [
+ { required: true, message: '璇烽�夋嫨绫诲瀷' }
+ ],
+ applyType: [
+ { required: true, message: '璇烽�夋嫨閫傜敤瀵硅薄绫诲瀷' }
+ ],
+ num: [
+ { required: true, validator: numRule, message: '璇疯緭鍏ュ彂鏀炬�绘暟', tigger: 'blur' }
+ ],
+ /*integral: [
+ { required: true, validator: numRule, message: '璇疯緭鍏ュ厬鎹㈡潯浠�', tigger: 'blur' }
+ ],*/
+ // validDays: [
+ // { required: true, message: '璇疯緭鍏ュ彲鐢ㄦ椂闂�', tigger: 'blur' }
+ // ],
+ // getDate: [
+ // { required: true, validator: getDateRules, tigger: 'change' }
+ // ],
+ // shopId: [
+ // { required: true, validator: numRule, message: '璇烽�夋嫨鍏宠仈搴楅摵', tigger: 'change' }
+ // ]
+ }
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/coupon',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ selectGoods(){
+ this.$refs.OperaCouponGoodsWindow.open('閫夋嫨鍟嗗搧', this.applyDataList)
+ },
+ loadLabels(){
+ labelList({
+ type: 0 // 鍟嗗搧鍒嗙被
+ }).then(res => {
+ this.categorys = res || []
+ })
+ },
+ loadSelectGoods(){
+ console.log(this.form.applyIdList)
+ if(!this.form.applyIdList || !this.form.applyIdList.length){
+ return
+ }
+ goodsList({
+ idList: this.form.applyIdList // 鍟嗗搧鍒嗙被
+ }).then(res => {
+ this.applyDataList = res || []
+ })
+ },
+ doSelect(rows){
+ console.log(rows,this.applyDataList)
+ this.applyDataList =[]
+ this.form.applyIdList=[]
+ if(rows && rows.length){
+ rows.forEach(item => {
+ this.applyDataList.push(item)
+ this.form.applyIdList.push(item.id)
+ })
+ }
+ },
+ open (title, target, type) {
+ this.showGoods=false
+ this.title = title
+ this.visible = true
+ this.form.type = type
+ this.getDate = []
+ this.form.startDate = ''
+ this.form.endDate = ''
+ this.applyDataList=[]
+ this.form.applyIdList=[]
+ this.form.applyCateIdList=[]
+ this.loadLabels()
+ this.form.limitPrice=null
+ this.form.price=null
+ this.form.startDate=null
+ this.form.endDate=null
+ this.form.num=1
+ // 鏂板缓
+ if (target == null) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ console.log(this.form)
+ this.form[this.configData['field.id']] = null
+ })
+ return
+ }
+ // 缂栬緫
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ this.getDate = [target.startDate, target.endDate]
+ if(this.form.applyType === 1){
+ this.form.applyCateIdList =[]
+ var ta = this.form.applyIds.split(',')
+ if(ta && ta.length){
+ ta.forEach(tt =>{
+ this.form.applyCateIdList.push(parseInt(tt))
+ })
+ }
+ }
+ if(this.form.applyType === 2){
+ this.form.applyIdList = this.form.applyIds.split(',')
+ this.loadSelectGoods()
+ }
+ })
+ },
+ selectDate (value) {
+ this.form.startDate = value[0]
+ this.form.endDate = value[1]
+ },
+ inputAction (item, key) {
+ if (item[key] < 0) {
+ item[key] = ''
+ } else {
+ item[key] = item[key].replace(/[^\d.]/g, '')
+ .replace(/\.{2,}/g, '.')
+ .replace('.', '$#$')
+ .replace(/\./g, '')
+ .replace('$#$', '.')
+ .replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')
+ .replace(/^\./g, '')
+ }
+ },
+ remoteMethod (query) {
+ if (query !== '') {
+ this.searchLoading = true
+ const action = this.form.type == 2 ? activityList : shopList
+ action({
+ capacity: 999,
+ model: {
+ name: query
+ }
+ })
+ .then(res => {
+ this.shops = res.records
+ })
+ .finally(() => {
+ this.searchLoading = false
+ })
+ }
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+@import '@/assets/style/alertstyle.scss';
+
+.coupon-rule {
+ display: flex;
+ .discrep {
+ padding: 0 10px;
+ }
+ ::v-deep .el-input {
+ width: 160px;
+ }
+}
+.num-style {
+ ::v-deep .el-input-number {
+ width: 60%;
+ }
+}
+.date-style {
+ ::v-deep input {
+ text-align: center !important;
+ }
+}
+::v-deep .el-select {
+ width: 100%;
+ .el-input__inner {
+ width: 100%;
+ }
+}
+
+</style>
diff --git a/admin/src/views/business/memberCoupon.vue b/admin/src/views/business/memberCoupon.vue
index 59ab4d1..a8835c4 100644
--- a/admin/src/views/business/memberCoupon.vue
+++ b/admin/src/views/business/memberCoupon.vue
@@ -38,6 +38,10 @@
</el-form>
<!-- 琛ㄦ牸鍜屽垎椤� -->
<template v-slot:table-wrap>
+ <ul class="toolbar" v-permissions="['business:membercoupon:create', 'business:membercoupon:exportExcel']">
+ <li><el-button type="primary" @click="$refs.OperaMemberCouponWindow.open('鏂板缓', null)" v-permissions="['business:membercoupon:create']">瀹氬悜鍙戞斁</el-button></li>
+ <li> <el-button type="primary" :loading="isWorking.export" v-permissions="['business:membercoupon:exportExcel']" @click="exportExcel">瀵煎嚭</el-button></li>
+ </ul>
<el-table
v-loading="isWorking.search"
:data="tableData.list"
@@ -83,17 +87,20 @@
>
</pagination>
</template>
+
+ <OperaMemberCouponWindow ref="OperaMemberCouponWindow" @success="handlePageChange"/>
</TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
+import OperaMemberCouponWindow from '@/components/business/OperaMemberCouponWindow'
import Pagination from '@/components/common/Pagination'
export default {
name: 'MemberCoupon',
extends: BaseTable,
- components: { TableLayout, Pagination },
+ components: { TableLayout, Pagination ,OperaMemberCouponWindow},
data () {
return {
// 鎼滅储
diff --git a/server/dmmall_admin/src/main/java/com/doumee/api/business/MemberCouponController.java b/server/dmmall_admin/src/main/java/com/doumee/api/business/MemberCouponController.java
index 93ba767..96d56b3 100644
--- a/server/dmmall_admin/src/main/java/com/doumee/api/business/MemberCouponController.java
+++ b/server/dmmall_admin/src/main/java/com/doumee/api/business/MemberCouponController.java
@@ -78,7 +78,7 @@
@PostMapping("/exportExcel")
@RequiresPermissions("business:membercoupon:exportExcel")
public void exportExcel (@RequestBody PageWrap<MemberCoupon> pageWrap, HttpServletResponse response) {
- ExcelExporter.build(MemberCoupon.class).export(memberCouponService.findPage(pageWrap).getRecords(), "鐢ㄦ埛浼樻儬鍒稿叧鑱旇〃", response);
+ ExcelExporter.build(MemberCoupon.class).export(memberCouponService.findPage(pageWrap).getRecords(), "浼樻儬鍒告槑缁�", response);
}
@ApiOperation("鏍规嵁ID鏌ヨ")
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/MemberCoupon.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/MemberCoupon.java
index 3dd6851..6d1486c 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/MemberCoupon.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/MemberCoupon.java
@@ -23,99 +23,82 @@
public class MemberCoupon {
@ApiModelProperty(value = "涓婚敭", example = "1")
- @ExcelColumn(name="涓婚敭")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
private Integer creator;
@ApiModelProperty(value = "鍒涘缓鏃堕棿")
- @ExcelColumn(name="鍒涘缓鏃堕棿")
-
+ @ExcelColumn(name="鍙戞斁鏃堕棿" ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10,index = 11)
private Date createDate;
@ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鏇存柊浜虹紪鐮�")
private Integer editor;
@ApiModelProperty(value = "鏇存柊鏃堕棿")
- @ExcelColumn(name="鏇存柊鏃堕棿")
-
private Date editDate;
@ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
- @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
private Integer isdeleted;
@ApiModelProperty(value = "澶囨敞")
- @ExcelColumn(name="澶囨敞")
private String remark;
@ApiModelProperty(value = "鐢ㄦ埛缂栫爜锛堝叧鑱攎ember琛級", example = "1")
- @ExcelColumn(name="鐢ㄦ埛缂栫爜锛堝叧鑱攎ember琛級")
private Integer memberId;
@ApiModelProperty(value = "鍟嗗缂栫爜锛堝叧鑱攕hop琛級", example = "1")
- @ExcelColumn(name="鍟嗗缂栫爜锛堝叧鑱攕hop琛級")
private Integer shopId;
@ApiModelProperty(value = "绫诲瀷0鍟嗗浼樻儬鍒� 1骞冲彴浼樻儬鍒� ", example = "1")
- @ExcelColumn(name="绫诲瀷0鍟嗗浼樻儬鍒� 1骞冲彴浼樻儬鍒� ")
private Integer type;
@ApiModelProperty(value = "婊¢锛堝厓锛�", example = "1")
- @ExcelColumn(name="婊¢锛堝厓锛�")
private BigDecimal limitPrice;
@ApiModelProperty(value = "浼樻儬閲戦锛堝厓锛�", example = "1")
- @ExcelColumn(name="浼樻儬閲戦锛堝厓锛�")
+ @ExcelColumn(name="浼樻儬閲戦锛堝厓锛�",width = 10,index = 7)
private BigDecimal price;
@ApiModelProperty(value = "寮�濮嬫椂闂�")
- @ExcelColumn(name="寮�濮嬫椂闂�")
-
+ @ExcelColumn(name="寮�濮嬫椂闂�",width = 10,index = 5,dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date startDate;
@ApiModelProperty(value = "缁撴潫鏃堕棿")
- @ExcelColumn(name="缁撴潫鏃堕棿")
-
+ @ExcelColumn(name="缁撴潫鏃堕棿",width = 10 ,index = 6,dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date endDate;
@ApiModelProperty(value = "棰嗗彇鏂瑰紡 0棰嗗彇 1鍏戞崲", example = "1")
- @ExcelColumn(name="棰嗗彇鏂瑰紡 0棰嗗彇 1鍏戞崲")
+ @ExcelColumn(name="棰嗗彇鏂瑰紡",width = 10,index = 4,valueMapping = "0=棣栨娉ㄥ唽;1=閭�璇峰ソ鍙�;2=瀹氬悜鍙戞斁;")
private Integer getMethod;
@ApiModelProperty(value = "鍏戞崲鎵�闇�鍜栬眴閲戦", example = "1")
- @ExcelColumn(name="鍏戞崲鎵�闇�鍜栬眴閲戦")
private BigDecimal integral;
@ApiModelProperty(value = "鐘舵�� 0鏈娇鐢� 1宸蹭娇鐢�", example = "1")
- @ExcelColumn(name="鐘舵�� 0鏈娇鐢� 1宸蹭娇鐢�")
+ @ExcelColumn(name="鐘舵��",width = 10,index = 8,valueMapping = "0=鏈娇鐢�;1=宸蹭娇鐢�;2=宸茶繃鏈�;")
private Integer status;
@ApiModelProperty(value = "璇存槑")
- @ExcelColumn(name="璇存槑")
private String info;
@ApiModelProperty(value = "浣跨敤鏃堕棿")
- @ExcelColumn(name="浣跨敤鏃堕棿")
+ @ExcelColumn(name="浣跨敤鏃堕棿",width = 10,index = 9,dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date useDate;
@ApiModelProperty(value = "浣跨敤绉垎濂栧姳鏁伴噺", example = "1")
- @ExcelColumn(name="浣跨敤绉垎濂栧姳鏁伴噺")
private BigDecimal backIntegral;
@ApiModelProperty(value = "浼樻儬鍒稿悕绉�")
- @ExcelColumn(name="浼樻儬鍒稿悕绉�")
+ @ExcelColumn(name="浼樻儬鍒稿悕绉�",width = 10,index = 2 )
private String name;
@ApiModelProperty(value = "coupon琛╥d")
- @ExcelColumn(name="coupon琛╥d")
private Integer couponId;
@ApiModelProperty(value = "浼樻儬鍒哥被鍨嬶細0=婊″噺鍒革紱1=鎶樻墸鍒革紱")
+ @ExcelColumn(name="浼樻儬鍒哥被鍨�",width = 10,index = 3,valueMapping = "0=婊″噺鍒�;1=鎶樻墸鍒�;")
private Integer couponType;
@ApiModelProperty(value = "閫傜敤绫诲瀷锛�0=鍏ㄥ満;1=鍝佺被锛�2=鎸囧畾鍟嗗搧")
@@ -129,14 +112,17 @@
@ApiModelProperty(value = "鏄电О")
@TableField(exist = false)
+ @ExcelColumn(name="鐢ㄦ埛",width = 10,index = 1)
private String nikeName;
@ApiModelProperty(value = "鍏宠仈璁㈠崟鍙峰彿")
+ @ExcelColumn(name="鍏宠仈璁㈠崟鍙�",width = 10,index = 10)
@TableField(exist = false)
private String orderCode;
@ApiModelProperty(value = "鍒涘缓浜�")
@TableField(exist = false)
+ @ExcelColumn(name="鎿嶄綔浜�",index = 12,width = 10)
private String creatorName;
- @ApiModelProperty(value = "鍏宠仈璁㈠崟鍙�")
+ @ApiModelProperty(value = "鍏宠仈璁㈠崟")
private String orderId;
@ApiModelProperty(value = "瀹為檯閫傜敤鏃堕噾棰�")
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUser.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
index e84041f..2eead31 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
@@ -60,7 +60,7 @@
private String mobile;
@ApiModelProperty(value = "澶村儚")
- @NotBlank(message = "澶村儚涓嶈兘涓虹┖", groups = {OperaType.Create.class, OperaType.Update.class})
+// @NotBlank(message = "澶村儚涓嶈兘涓虹┖", groups = {OperaType.Create.class, OperaType.Update.class})
private String avatar;
@ApiModelProperty(value = "瀵嗙爜")
--
Gitblit v1.9.3