Merge remote-tracking branch 'origin/master'
# Conflicts:
# server/admin/target/classes/com/doumee/config/shiro/ShiroConfig.class
# server/admin/target/classes/com/doumee/timer/ZbomIAMSyncJobBiz.class
# server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
# server/service/target/classes/com/doumee/biz/system/SystemDictDataBiz.class
# server/service/target/classes/com/doumee/biz/system/impl/SystemDictDataBizImpl.class
# server/service/target/classes/com/doumee/core/utils/Constants$RedisKeys.class
# server/service/target/classes/com/doumee/core/utils/Constants$Status.class
# server/service/target/classes/com/doumee/core/utils/Constants$VehiclePlateNoEnum.class
# server/service/target/classes/com/doumee/core/utils/Constants.class
# server/service/target/classes/com/doumee/core/utils/QrCodeUtils.class
# server/service/target/classes/com/doumee/core/utils/tyyun/TyyZosUtil.class
# server/service/target/classes/com/doumee/dao/business/model/IamInterfaceLog.class
# server/service/target/classes/com/doumee/dao/business/model/Multifile.class
# server/service/target/classes/com/doumee/dao/business/model/News.class
# server/service/target/classes/com/doumee/dao/business/model/Shop.class
# server/service/target/classes/com/doumee/dao/business/model/Users.class
# server/service/target/classes/com/doumee/service/business/InitService.class
# server/service/target/classes/com/doumee/service/business/impl/IamInterfaceLogServiceImpl.class
# server/service/target/classes/com/doumee/service/business/impl/NewsServiceImpl.class
# server/service/target/classes/com/doumee/service/business/impl/ShopServiceImpl.class
# server/service/target/classes/com/doumee/service/business/impl/UsersServiceImpl.class
# server/service/target/classes/mappers/SystemDictDataMapper.xml
| | |
| | | # å¼åç¯å¢é
ç½® |
| | | NODE_ENV = 'development' |
| | | VUE_APP_BASE_API = 'http://localhost:10028' |
| | |
| | | }) |
| | | } |
| | | |
| | | export function uploadFile (data) { |
| | | return request.post('/public/upload', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | // å建 |
| | | export function create (data) { |
| | | return request.post('/business/multifile/create', data) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="60%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="æ é¢" prop="title" required> |
| | | <el-input v-model="form.title" placeholder="请è¾å
¥æ é¢" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="坿 é¢" prop="subTitle"> |
| | | <el-input type="textarea" v-model="form.subTitle" placeholder="请è¾å
¥å¯æ é¢" v-trim maxLength="200" /> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="status" required> |
| | | <el-radio-group v-model="form.status" > |
| | | <el-radio :label="0" >å±ç¤º</el-radio> |
| | | <el-radio :label="1">ä¸å±ç¤º</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="å表å¾/è§é¢" prop="files" > |
| | | <upload width="100px" height="100px" :max-length="1" @dele="delFile" :list="form.fileList" accept=".png,.jpg,.jpeg,.mp4" folder="news" @loading="loading = true" @success="fileResult($event)" /> |
| | | </el-form-item> |
| | | <el-form-item label="跳转类å" prop="linkType" required> |
| | | <el-radio-group v-model="form.linkType" > |
| | | <el-radio :label="0" >坿æ¬</el-radio> |
| | | <el-radio :label="1">å¤é¾</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item :label="form.linkType == 1?'å¤èå°å':'å
容'" prop="content"> |
| | | <RichEditor v-if="form.linkType != 1" :richData="form.content" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor" :readonly="false"/> |
| | | <el-input v-else v-model="form.content" type="tex" placeholder="请è¾å
¥å¤æ³¨" v-trim/> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æåºç ï¼ååºï¼" prop="sortnum"> |
| | | <el-input v-model="form.sortnum" type="number" placeholder="请è¾å
¥æåºç " v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="夿³¨" prop="remark"> |
| | | <el-input v-model="form.remark" type="tex" placeholder="请è¾å
¥å¤æ³¨" v-trim/> |
| | | </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 upload from '@/components/common/upload' |
| | | export default { |
| | | name: 'OperaNewsWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, RichEditor, upload }, |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | id: null, |
| | | remark: '', |
| | | title: '', |
| | | subTitle: '', |
| | | sortnum: '', |
| | | content: '', |
| | | linkType: 0, |
| | | status: 0, |
| | | fileList: [], |
| | | type: 1 |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | title: [{ required: true, message: '请è¾å
¥æ é¢' }], |
| | | status: [{ required: true, message: 'è¯·éæ©ç¶æ' }], |
| | | linkType: [{ required: true, message: 'è¯·éæ©è·³è½¬ç±»å' }] |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/news', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | getWangedditor (val) { |
| | | this.form.content = val |
| | | }, |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.form.fileList = [] |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | this.form.fileType = target.fileType || 0 |
| | | const files = target.fileList || [] |
| | | if (files.length > 0) { |
| | | this.form.fileList.push(files[0]) |
| | | } |
| | | }) |
| | | }, |
| | | delFile (index) { |
| | | this.form.fileList.splice(index, 1) |
| | | }, |
| | | fileResult (e) { |
| | | this.form.fileList = this.form.fileList || [] |
| | | this.form.fileList.push({ |
| | | fileurlFull: e.url, |
| | | fileurl: e.imgaddr, |
| | | name: e.originname, |
| | | type: e.type |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="60%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="å建人ç¼ç " prop="creator"> |
| | | <el-input v-model="form.creator" placeholder="请è¾å
¥å建人ç¼ç " v-trim/> |
| | | <el-form-item label="ææ¡" prop="title" required> |
| | | <el-input type="textarea" v-model="form.title" placeholder="请è¾å
¥æ é¢" v-trim maxlength="200"/> |
| | | </el-form-item> |
| | | <el-form-item label="å建æ¶é´" prop="createDate"> |
| | | <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="请è¾å
¥å建æ¶é´"></el-date-picker> |
| | | <el-form-item label="å叿¶é´" prop="publishDate" required> |
| | | <el-date-picker |
| | | v-model="form.publishDate" |
| | | type="datetime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="éæ©æ¶é´"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="æ´æ°äººç¼ç " prop="editor"> |
| | | <el-input v-model="form.editor" placeholder="请è¾å
¥æ´æ°äººç¼ç " v-trim/> |
| | | <el-form-item label="ç¶æ" prop="status" required> |
| | | <el-radio-group v-model="form.status" > |
| | | <el-radio :label="0" >å±ç¤º</el-radio> |
| | | <el-radio :label="1">ä¸å±ç¤º</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="æ´æ°æ¶é´" prop="editDate"> |
| | | <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="请è¾å
¥æ´æ°æ¶é´"></el-date-picker> |
| | | <el-form-item label="éä»¶ç±»å" prop="fileType" required> |
| | | <el-radio-group v-model="form.fileType" > |
| | | <el-radio :label="0" >å¾ç</el-radio> |
| | | <el-radio :label="1">è§é¢</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="æ¯å¦å é¤0å¦ 1æ¯" prop="isdeleted"> |
| | | <el-input v-model="form.isdeleted" placeholder="请è¾å
¥æ¯å¦å é¤0å¦ 1æ¯" v-trim/> |
| | | <el-form-item label="å¾éä¸ä¼ ï¼æå¤9å¼ ï¼" v-if="form.fileType !=1"> |
| | | <upload width="100px" height="100px" :max-length="9" @dele="delFile" :list="fileImgList" accept=".png,.jpg,.jpeg" folder="news" @loading="loading = true" @success="fileResult($event)" /> |
| | | </el-form-item> |
| | | <el-form-item label="夿³¨" prop="remark"> |
| | | <el-input v-model="form.remark" placeholder="请è¾å
¥å¤æ³¨" v-trim/> |
| | | <el-form-item label="è§é¢ä¸ä¼ ï¼å个ï¼" v-if="form.fileType === 1"> |
| | | <upload width="100px" height="100px" :max-length="1" @dele="delFile" :list="fileVideoList" accept=".mp4" folder="news" @loading="loading = true" @success="fileResult($event)" /> |
| | | </el-form-item> |
| | | <el-form-item label="æ é¢" prop="title"> |
| | | <el-input v-model="form.title" placeholder="请è¾å
¥æ é¢" v-trim/> |
| | | <el-form-item label="æåºç ï¼ååºï¼" prop="sortnum"> |
| | | <el-input v-model="form.sortnum" type="number" placeholder="请è¾å
¥æåºç " v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="坿 é¢" prop="subTitle"> |
| | | <el-input v-model="form.subTitle" placeholder="请è¾å
¥å¯æ é¢" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="æåºç " prop="sortnum"> |
| | | <el-input v-model="form.sortnum" placeholder="请è¾å
¥æåºç " v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="å
容" prop="content"> |
| | | <el-input v-model="form.content" placeholder="请è¾å
¥å
容" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="跳转类å 0å¯ææ¬ 1å¤é¾" prop="linkType"> |
| | | <el-input v-model="form.linkType" placeholder="请è¾å
¥è·³è½¬ç±»å 0å¯ææ¬ 1å¤é¾" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ 0å±ç¤º 1ä¸å±ç¤º" prop="status"> |
| | | <el-input v-model="form.status" placeholder="请è¾å
¥ç¶æ 0å±ç¤º 1ä¸å±ç¤º" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="æµè§é" prop="lookNum"> |
| | | <el-input v-model="form.lookNum" placeholder="请è¾å
¥æµè§é" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="ä¸è½½é" prop="donwloadNum"> |
| | | <el-input v-model="form.donwloadNum" placeholder="请è¾å
¥ä¸è½½é" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="æè¿å叿¶é´" prop="publishDate"> |
| | | <el-date-picker v-model="form.publishDate" value-format="yyyy-MM-dd" placeholder="请è¾å
¥æè¿å叿¶é´"></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="æè¿åå¸äººäººç¼ç (å
³èsystem_user)" prop="publishUserid"> |
| | | <el-input v-model="form.publishUserid" placeholder="请è¾å
¥æè¿åå¸äººäººç¼ç (å
³èsystem_user)" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="æè¿åå¸å¤æ³¨" prop="publishInfo"> |
| | | <el-input v-model="form.publishInfo" placeholder="请è¾å
¥æè¿åå¸å¤æ³¨" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="ç´ æç±»å 0æ¨å¹¿èµè®¯ 1å®å¶æå¡" prop="type"> |
| | | <el-input v-model="form.type" placeholder="请è¾å
¥ç´ æç±»å 0æ¨å¹¿èµè®¯ 1å®å¶æå¡" v-trim/> |
| | | <el-form-item label="夿³¨" prop="publishInfo"> |
| | | <el-input type="textarea" v-model="form.publishInfo" placeholder="请è¾å
¥åå¸å¤æ³¨" v-trim/> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import upload from '@/components/common/upload' |
| | | export default { |
| | | name: 'OperaNewsWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | components: { GlobalWindow, upload }, |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | loading: false, |
| | | form: { |
| | | id: null, |
| | | creator: '', |
| | | createDate: '', |
| | | editor: '', |
| | | editDate: '', |
| | | isdeleted: '', |
| | | remark: '', |
| | | title: '', |
| | | subTitle: '', |
| | | sortnum: '', |
| | | content: '', |
| | | linkType: '', |
| | | status: '', |
| | | lookNum: '', |
| | | donwloadNum: '', |
| | | status: 0, |
| | | publishDate: '', |
| | | publishUserid: '', |
| | | publishInfo: '', |
| | | type: '' |
| | | fileList: [], |
| | | fileType: 0, |
| | | type: 0 |
| | | }, |
| | | fileImgList: [], |
| | | fileVideoList: [], |
| | | // éªè¯è§å |
| | | rules: { |
| | | title: [{ required: true, message: '请è¾å
¥ææ¡' }], |
| | | publishDate: [{ required: true, message: 'è¯·éæ©å叿¶é´' }], |
| | | status: [{ required: true, message: 'è¯·éæ©ç¶æ' }], |
| | | fileType: [{ required: true, message: 'è¯·éæ©éä»¶ç±»å' }] |
| | | } |
| | | } |
| | | }, |
| | |
| | | api: '/business/news', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.form.fileList = [] |
| | | this.fileImgList= [] |
| | | this.fileVideoList = [] |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | this.form.fileType = target.fileType || 0 |
| | | const files = target.fileList || [] |
| | | if(target.fileType === 1){ |
| | | if(files.length>0){ |
| | | this.fileVideoList.push(files[0]) |
| | | } |
| | | }else { |
| | | files.forEach(item => { |
| | | this.fileImgList.push(item) |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | getWangedditor (val) { |
| | | this.form.content = val |
| | | }, |
| | | delFile (index) { |
| | | if(this.form.fileType === 1){ |
| | | this.fileVideoList.splice(index, 1) |
| | | this.form.fileList =this.fileVideoList |
| | | }else{ |
| | | this.fileImgList.splice(index, 1) |
| | | this.form.fileList =this.fileImgList |
| | | } |
| | | }, |
| | | fileResult (e) { |
| | | if(this.form.fileType === 1){ |
| | | this.fileVideoList = this.fileVideoList||[] |
| | | this.fileVideoList.push({ |
| | | fileurlFull: e.url, |
| | | fileurl: e.imgaddr, |
| | | name: e.originname, |
| | | type: e.type |
| | | }) |
| | | this.form.fileList =this.fileVideoList |
| | | }else{ |
| | | this.fileImgList = this.fileImgList||[] |
| | | this.fileImgList.push({ |
| | | fileurlFull: e.url, |
| | | fileurl: e.imgaddr, |
| | | name: e.originname, |
| | | type: e.type |
| | | }) |
| | | this.form.fileList =this.fileImgList |
| | | } |
| | | console.log(this.form.fileList) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | ] // ä¸çº§èå key ï¼å¿
å¡« |
| | | },*/ |
| | | // ä¸ä¼ å¾çåç» |
| | | /* { |
| | | { |
| | | key: 'img-style', // å¿
å¡«ï¼è¦ä»¥ group å¼å¤´ |
| | | title: 'å¾ç', // å¿
å¡« |
| | | // iconSvg: '<svg>....</svg>', // å¯é |
| | |
| | | "imageWidth50", // å¾ç宽度ç¸å¯¹äºç¼è¾å¨å®½åº¦çç¾åæ¯50 |
| | | "imageWidth100", // å¾ç宽度ç¸å¯¹äºç¼è¾å¨å®½åº¦çç¾åæ¯100 |
| | | ] // ä¸çº§èå key ï¼å¿
å¡« |
| | | },*/ |
| | | }, |
| | | // è§é¢åç» |
| | | /* { |
| | | { |
| | | key: 'video-style', // å¿
å¡«ï¼è¦ä»¥ group å¼å¤´ |
| | | title: 'è§é¢', // å¿
å¡« |
| | | // iconSvg: '<svg>....</svg>', // å¯é |
| | |
| | | "uploadVideo", // ä¸ä¼ è§é¢ |
| | | "editVideoSize", // ä¿®æ¹è§é¢å°ºå¯¸ |
| | | ] // ä¸çº§èå key ï¼å¿
å¡« |
| | | },*/ |
| | | }, |
| | | "fullScreen", // å
¨å± |
| | | ], |
| | | excludeKeys: [ // éèæå®çèå项 |
| | |
| | | MENU_CONF: { |
| | | // å¾çä¸ä¼ |
| | | uploadImage: { |
| | | server: process.env.VUE_APP_BASE_API + "/common/upload", |
| | | server: process.env.VUE_APP_API_PREFIX + '/public/upload?folder=richeditor', |
| | | fieldName: 'file', |
| | | // å个æä»¶çæå¤§ä½ç§¯éå¶ï¼é»è®¤ä¸º 2M |
| | | maxFileSize: 10 * 1024 * 1024, // 10M |
| | |
| | | // message: `${res.data.originalName} ä¸ä¼ 失败ï¼è¯·éæ°å°è¯` |
| | | // }); |
| | | } |
| | | insertFn(res.url, res.originalFilename, res.newFileName); |
| | | insertFn(res.data.url, res.data.originname, res.data.imgname); |
| | | }, |
| | | |
| | | // å个æä»¶ä¸ä¼ æåä¹å |
| | |
| | | // è§é¢ä¸ä¼ |
| | | uploadVideo: { |
| | | fieldName: 'file', |
| | | server: process.env.VUE_APP_BASE_API + "/common/upload", |
| | | server: process.env.VUE_APP_API_PREFIX + '/public/upload?folder=richeditor', |
| | | // å个æä»¶çæå¤§ä½ç§¯éå¶ï¼é»è®¤ä¸º 10M |
| | | maxFileSize: 50 * 1024 * 1024, // 50M |
| | | // æå¤å¯ä¸ä¼ å 个æä»¶ï¼é»è®¤ä¸º 5 |
| | |
| | | // message: `${res.data.originalName} ä¸ä¼ 失败ï¼è¯·éæ°å°è¯` |
| | | // }); |
| | | } |
| | | insertFn(res.data.link, res.data.link); |
| | | insertFn(res.data.url, res.data.url); |
| | | }, |
| | | // ä¸ä¼ è¿åº¦çåè°å½æ° |
| | | onProgress(progress) { |
| | |
| | | <div class="dele" @click="deleItem(index)"> |
| | | <i class="el-icon-close"></i> |
| | | </div> |
| | | <img :src="item.url" v-if="fileType(item.url) === 'img'" /> |
| | | <video controls autoplay :src="item.url" v-else></video> |
| | | <img :src="item.fileurlFull" v-if="fileType(item.fileurlFull) === 'img'" /> |
| | | <video controls autoplay :src="item.fileurlFull" v-else></video> |
| | | </div> |
| | | <div class="file_list_item" :style="{width: width, height: height, cursor: 'pointer'}" @click="$refs.file.click()"> |
| | | <div v-if="list ==null || list.length == 0 || list.length < maxLength" class="file_list_item" :style="{width: width, height: height, cursor: 'pointer'}" @click="$refs.file.click()"> |
| | | <i class="el-icon-plus"></i> |
| | | </div> |
| | | </div> |
| | | <input type="file" ref="file" :accept="accept" @change="getFile" /> |
| | | <input type="file" ref="file" :accept="accept" @change="getFile" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import axios from 'axios'; |
| | | export default { |
| | | props: { |
| | | width: { |
| | | type: String, |
| | | default: '90px' |
| | | }, |
| | | height: { |
| | | type: String, |
| | | default: '90px' |
| | | }, |
| | | list: { |
| | | type: Array, |
| | | default: [] |
| | | }, |
| | | accept: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | folder: { |
| | | type: String, |
| | | default: '' |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload' |
| | | } |
| | | }, |
| | | |
| | | methods: { |
| | | fileType(url) { |
| | | if (url.indexOf('.mp4') !== -1) { |
| | | return 'video' |
| | | } else { |
| | | return 'img' |
| | | } |
| | | }, |
| | | getFile(e) { |
| | | if (e.target && e.target.files.length > 0) { |
| | | this.$emit('loading') |
| | | const formdate = new FormData() |
| | | formdate.append('file', e.target.files[0]) |
| | | formdate.append('folder', this.folder) |
| | | axios.post(this.uploadImgUrl, formdate) |
| | | .then(res => { |
| | | this.$emit('success', res.data.data) |
| | | }) |
| | | .catch(e => { |
| | | this.$message.error(e) |
| | | }) |
| | | .finally(() => { |
| | | this.$refs.file.value = null |
| | | }) |
| | | } |
| | | }, |
| | | deleItem(index) { |
| | | this.$emit('dele', index) |
| | | } |
| | | } |
| | | import axios from 'axios' |
| | | export default { |
| | | props: { |
| | | width: { |
| | | type: String, |
| | | default: '90px' |
| | | }, |
| | | height: { |
| | | type: String, |
| | | default: '90px' |
| | | }, |
| | | list: { |
| | | type: Array, |
| | | default: [] |
| | | }, |
| | | accept: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | folder: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | maxLength: { |
| | | type: Number, |
| | | default: 9999 |
| | | } |
| | | }, |
| | | data () { |
| | | return { |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload' |
| | | } |
| | | }, |
| | | methods: { |
| | | fileType (url) { |
| | | if (url && url.indexOf('.mp4') !== -1) { |
| | | return 'video' |
| | | } else { |
| | | return 'img' |
| | | } |
| | | }, |
| | | getFile (e) { |
| | | if (e.target && e.target.files.length > 0) { |
| | | this.$emit('loading') |
| | | const formdate = new FormData() |
| | | formdate.append('file', e.target.files[0]) |
| | | formdate.append('folder', this.folder) |
| | | axios.post(this.uploadImgUrl, formdate) |
| | | .then(res => { |
| | | this.$emit('success', res.data.data) |
| | | }) |
| | | .catch(e => { |
| | | this.$message.error(e) |
| | | }) |
| | | .finally(() => { |
| | | this.$refs.file.value = null |
| | | }) |
| | | } |
| | | }, |
| | | deleItem (index) { |
| | | this.$emit('dele', index) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | margin: 0 !important; |
| | | } |
| | | .dele { |
| | | z-index: 10000; |
| | | position: absolute; |
| | | right: 0; |
| | | top: 0; |
| | |
| | | } |
| | | } |
| | | </style> |
| | | |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="dictName + 'æ°æ®ç®¡ç'" |
| | | width="78%" |
| | | width="100%" |
| | | :visible.sync="visible" |
| | | :with-footer="false" |
| | | > |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="label" label="æ°æ®æ ç¾" min-width="100px"></el-table-column> |
| | | <el-table-column prop="label" label="æ°æ®æ ç¾" min-width="200px"></el-table-column> |
| | | <el-table-column prop="code" label="æ°æ®å¼" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.code || row.code.length>500" > |
| | |
| | | <el-table-column prop="updateUser" label="æ´æ°äºº" min-width="100px"> |
| | | <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template> |
| | | </el-table-column> |
| | | <el-table-column prop="remark" label="说æ" min-width="150px"></el-table-column> |
| | | <el-table-column prop="createTime" label="å建æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="updateTime" label="æ´æ°æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column |
| | |
| | | <el-switch v-model="form.disabled" :active-value="false" :inactive-value="true"/> |
| | | <span class="status-text">{{form.disabled | disabledText}}</span> |
| | | </el-form-item> |
| | | <el-form-item label="说æ" prop="remark"> |
| | | <el-input v-model="form.remark" placeholder="请è¾å
¥æ°æ®è¯´æ" v-trim /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | | </template> |
| | |
| | | code: '', |
| | | label: '', |
| | | disabled: false, |
| | | remark: '', |
| | | istext: false |
| | | }, |
| | | // éªè¯è§å |
| | |
| | | open (title, dictId, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.form.remark='' |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | |
| | | <TableLayout :permissions="['business:categoryseg:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="主é®" prop="id"> |
| | | <el-input v-model="searchForm.id" placeholder="请è¾å
¥ä¸»é®" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å建人ç¼ç " prop="creator"> |
| | | <el-input v-model="searchForm.creator" placeholder="请è¾å
¥å建人ç¼ç " @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å建æ¶é´" prop="createDate"> |
| | | <el-date-picker v-model="searchForm.createDate" value-format="yyyy-MM-dd" placeholder="请è¾å
¥å建æ¶é´" @change="search"/> |
| | | </el-form-item> |
| | | <el-form-item label="æ´æ°äººç¼ç " prop="editor"> |
| | | <el-input v-model="searchForm.editor" placeholder="请è¾å
¥æ´æ°äººç¼ç " @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ´æ°æ¶é´" prop="editDate"> |
| | | <el-date-picker v-model="searchForm.editDate" value-format="yyyy-MM-dd" placeholder="请è¾å
¥æ´æ°æ¶é´" @change="search"/> |
| | | </el-form-item> |
| | | <el-form-item label="æ¯å¦å é¤0å¦ 1æ¯" prop="isdeleted"> |
| | | <el-input v-model="searchForm.isdeleted" placeholder="请è¾å
¥æ¯å¦å é¤0å¦ 1æ¯" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="夿³¨" prop="remark"> |
| | | <el-input v-model="searchForm.remark" placeholder="请è¾å
¥å¤æ³¨" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="åç±»ç¼ç " prop="unitCode"> |
| | | <el-input v-model="searchForm.unitCode" placeholder="请è¾å
¥åç±»ç¼ç " @keypress.enter.native="search"></el-input> |
| | | <el-select v-model="searchForm.unitCode" @change="search" clearable placeholder="æå±åç"> |
| | | <el-option v-for="(item) in unitList " :key="item.code" :label="item.name" :value="item.code"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æåºç¼ç " prop="segId"> |
| | | <el-input v-model="searchForm.segId" placeholder="请è¾å
¥æåºç¼ç " @keypress.enter.native="search"></el-input> |
| | | <el-form-item label="Fç " prop="orgId"> |
| | | <el-input v-model="searchForm.orgId" placeholder="请è¾å
¥Fç " @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="çåºç¼ç " prop="segId2"> |
| | | <el-input v-model="searchForm.segId2" placeholder="请è¾å
¥çåºç¼ç " @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å¸åºç¼ç " prop="segId3"> |
| | | <el-input v-model="searchForm.segId3" placeholder="请è¾å
¥å¸åºç¼ç " @keypress.enter.native="search"></el-input> |
| | | <el-form-item label="Sç " prop="scode"> |
| | | <el-input v-model="searchForm.scode" placeholder="请è¾å
¥Sç " @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æåºåç§°" prop="segName"> |
| | | <el-input v-model="searchForm.segName" placeholder="请è¾å
¥æåºåç§°" @keypress.enter.native="search"></el-input> |
| | |
| | | </el-form-item> |
| | | <el-form-item label="å¸åºåç§°" prop="segName3"> |
| | | <el-input v-model="searchForm.segName3" placeholder="请è¾å
¥å¸åºåç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æè¿åæ¥æ¶é´" prop="syncDate"> |
| | | <el-date-picker v-model="searchForm.syncDate" value-format="yyyy-MM-dd" placeholder="请è¾å
¥æè¿åæ¥æ¶é´" @change="search"/> |
| | | </el-form-item> |
| | | <el-form-item label="æè¿åæ¥å¤æ³¨" prop="syncInfo"> |
| | | <el-input v-model="searchForm.syncInfo" placeholder="请è¾å
¥æè¿åæ¥å¤æ³¨" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ¶è´§å°å" prop="shipToAddress"> |
| | | <el-input v-model="searchForm.shipToAddress" placeholder="请è¾å
¥æ¶è´§å°å" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ¶è´§äºº" prop="shipToPerson"> |
| | | <el-input v-model="searchForm.shipToPerson" placeholder="请è¾å
¥æ¶è´§äºº" @keypress.enter.native="search"></el-input> |
| | |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:categoryseg:create', 'business:categoryseg:delete']"> |
| | | <li><el-button type="primary" @click="$refs.operaCategorySegWindow.open('æ°å»ºå¿é¦è¥éåºåå类信æ¯è¡¨')" icon="el-icon-plus" v-permissions="['business:categoryseg:create']">æ°å»º</el-button></li> |
| | | <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:categoryseg:delete']">å é¤</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="id" label="主é®" min-width="100px"></el-table-column> |
| | | <el-table-column prop="creator" label="å建人ç¼ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editor" label="æ´æ°äººç¼ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æ´æ°æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="isdeleted" label="æ¯å¦å é¤0å¦ 1æ¯" min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="夿³¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="unitCode" label="åç±»ç¼ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="segId" label="æåºç¼ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="segId2" label="çåºç¼ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="segId3" label="å¸åºç¼ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="segName" label="æåºåç§°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="segName2" label="çåºåç§°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="segName3" label="å¸åºåç§°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="syncDate" label="æè¿åæ¥æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="syncInfo" label="æè¿åæ¥å¤æ³¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="shipToAddress" label="æ¶è´§å°å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="shipToPerson" label="æ¶è´§äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="shipToPhone" label="æ¶è´§äººçµè¯" min-width="100px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:categoryseg:update', 'business:categoryseg:delete'])" |
| | | label="æä½" |
| | | min-width="120" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaCategorySegWindow.open('ç¼è¾å¿é¦è¥éåºåå类信æ¯è¡¨', row)" icon="el-icon-edit" v-permissions="['business:categoryseg:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:categoryseg:delete']">å é¤</el-button> |
| | | </template> |
| | | <el-table-column type="selection" width="55" fixed></el-table-column> |
| | | <el-table-column label="Sç " prop="scode" fixed min-width="80px"></el-table-column> |
| | | <el-table-column label="ä¸ä½å" prop="sname" fixed min-width="180px"></el-table-column> |
| | | <el-table-column label="Fç " prop="orgId" fixed min-width="80px"></el-table-column> |
| | | <el-table-column label="å çå" prop="orgName" fixed min-width="180px"></el-table-column> |
| | | <el-table-column prop="unitCode" label="åç±»" min-width="150px"> |
| | | <template slot-scope="{row}"> {{row.unitCode}} / {{row.unitName}}</template> |
| | | </el-table-column> |
| | | <el-table-column prop="segId" label="æåº" min-width="150px"> |
| | | <template slot-scope="{row}"> {{row.segId}} / {{row.segName}}</template> |
| | | </el-table-column> |
| | | <el-table-column prop="segId2" label="çåº" min-width="150px"> |
| | | <template slot-scope="{row}"> {{row.segId2}} / {{row.segName2}}</template> |
| | | </el-table-column> |
| | | <el-table-column prop="segId3" label="çåº" min-width="150px"> |
| | | <template slot-scope="{row}"> {{row.segId3}} / {{row.segName3}}</template> |
| | | </el-table-column> |
| | | <el-table-column prop="shipToPerson" label="æ¶è´§äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="shipToPhone" label="æ¶è´§äººçµè¯" min-width="120px"></el-table-column> |
| | | <el-table-column prop="shipToAddress" label="æ¶è´§å°å" min-width="250px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æ´æ°æ¶é´" min-width="150px"></el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaCategorySegWindow from '@/components/business/OperaCategorySegWindow' |
| | | import { getUnitList } from '@/api/business/segments' |
| | | export default { |
| | | name: 'CategorySeg', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaCategorySegWindow }, |
| | | data () { |
| | | return { |
| | | unitList:[], |
| | | // æç´¢ |
| | | searchForm: { |
| | | id: '', |
| | | creator: '', |
| | | createDate: '', |
| | | editor: '', |
| | | editDate: '', |
| | | isdeleted: '', |
| | | remark: '', |
| | | unitCode: '', |
| | | segId: '', |
| | | segId2: '', |
| | | segId3: '', |
| | | segName: '', |
| | | segName2: '', |
| | | segName3: '', |
| | | syncDate: '', |
| | | syncInfo: '', |
| | | shipToAddress: '', |
| | | shipToPerson: '', |
| | | shipToPhone: '' |
| | | scode: '', |
| | | orgId: '' |
| | | } |
| | | } |
| | | }, |
| | |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.loadUnitList() |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | loadUnitList () { |
| | | getUnitList() |
| | | .then(data => { |
| | | this.unitList = data |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:news:create', 'business:news:delete']"> |
| | | <li><el-button type="primary" @click="$refs.operaNewsWindow.open('æ°å»ºèµè®¯åå®å¶æå¡ä¿¡æ¯è¡¨')" icon="el-icon-plus" v-permissions="['business:news:create']">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" @click="$refs.operaNewsWindow.open('æ°å»ºæ¨å¹¿èµè®¯')" icon="el-icon-plus" v-permissions="['business:news:create']">æ°å»º</el-button></li> |
| | | <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:news:delete']">å é¤</el-button></li> |
| | | </ul> |
| | | <el-table |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="title" label="æ é¢" min-width="100px"></el-table-column> |
| | | <el-table-column prop="subTitle" label="坿 é¢" min-width="100px"></el-table-column> |
| | | <el-table-column prop="linkType" label="跳转类å" min-width="100px"> |
| | | <el-table-column prop="title" label="ææ¡" fixed min-width="300px"></el-table-column> |
| | | <el-table-column prop="fileList" label="éä»¶" align="center" fixed min-width="250px">> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.linkType ==0">坿æ¬</span> |
| | | <span v-if="row.linkType ==1">å¤é¾</span> |
| | | <div v-if="row.fileType!=1 && row.fileList!=null && row.fileList.length" class="image-container"> |
| | | <div v-for="(item) in row.fileList" :key="item.id" > |
| | | <el-image |
| | | v-if="item.fileurlFull && item.type !=1" |
| | | class="image-item" |
| | | :src="item.fileurlFull" |
| | | fit="fill" |
| | | :preview-src-list="[item.fileurlFull]"> |
| | | </el-image> |
| | | </div> |
| | | </div> |
| | | <div v-if="row.fileType == 1 && row.fileList!=null && row.fileList.length" class="image-container"> |
| | | <video v-if="row.fileList[0].fileurlFull" style="width: 60px;height: 60px" controls autoplay :src="row.fileList[0].fileurlFull"></video> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" min-width="100px"> |
| | | <el-table-column prop="publishDate" label="å叿¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.status ==1">ä¸å±ç¤º</span> |
| | | <span v-if="row.status ==0">å±ç¤º</span> |
| | | <span v-if="row.status ==1" style="color:red;">ä¸å±ç¤º</span> |
| | | <span v-if="row.status ==0" style="color:green;">å±ç¤º</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="publishInfo" label="åå¸å¤æ³¨" min-width="150px"></el-table-column> |
| | | <el-table-column prop="lookNum" label="æµè§é" min-width="80px"></el-table-column> |
| | | <el-table-column prop="donwloadNum" label="ä¸è½½é" min-width="80px"></el-table-column> |
| | | <el-table-column prop="sortnum" label="æåºç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="夿³¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="sortnum" label="æåºç " min-width="80px"></el-table-column> |
| | | <el-table-column prop="editorName" label="æä½äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æä½æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="publishDate" label="æè¿å叿¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="publishUserName" label="æè¿åå¸äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="publishInfo" label="æè¿åå¸å¤æ³¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æä½æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:news:update', 'business:news:delete'])" |
| | | label="æä½" |
| | |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaNewsWindow.open('ç¼è¾èµè®¯åå®å¶æå¡ä¿¡æ¯è¡¨', row)" icon="el-icon-edit" v-permissions="['business:news:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="$refs.operaNewsWindow.open('ç¼è¾æ¨å¹¿èµè®¯', row)" icon="el-icon-edit" v-permissions="['business:news:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:news:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .image-container { |
| | | display: flex; /* 设å®ä¸º Flexbox å¸å± */ |
| | | flex-wrap: wrap; /* å
许æ¢è¡ */ |
| | | justify-content: center; /* æ°´å¹³æ¹åä¸çé´éåå¸ */ |
| | | align-items: flex-start; /* åç´æ¹åä¸ç项ç®å¯¹é½ */ |
| | | } |
| | | |
| | | .image-item { |
| | | height: 60px; |
| | | width: 60px; |
| | | margin-right: 10px; /* å³è¾¹è·ï¼ä½¿å¾å¾çä¹é´æé´é */ |
| | | margin-bottom: 10px; /* åºé¨è¾¹è·ï¼ä½¿å¾å¾çè½å¤æ¢è¡ */ |
| | | } |
| | | </style> |
| | |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:news:create', 'business:news:delete']"> |
| | | <li><el-button type="primary" @click="$refs.operaNewsWindow.open('æ°å»ºèµè®¯åå®å¶æå¡ä¿¡æ¯è¡¨')" icon="el-icon-plus" v-permissions="['business:news:create']">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" @click="$refs.operaNewsWindow.open('æ°å»ºå®å¶æå¡ä¿¡æ¯')" icon="el-icon-plus" v-permissions="['business:news:create']">æ°å»º</el-button></li> |
| | | <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:news:delete']">å é¤</el-button></li> |
| | | </ul> |
| | | <el-table |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="title" label="æ é¢" min-width="100px"></el-table-column> |
| | | <el-table-column prop="subTitle" label="坿 é¢" min-width="100px"></el-table-column> |
| | | <el-table-column prop="title" label="æ é¢" fixed min-width="100px"></el-table-column> |
| | | <el-table-column prop="subTitle" label="坿 é¢" fixed min-width="100px"></el-table-column> |
| | | <el-table-column prop="fileList" label="éä»¶" align="center" fixed min-width="100px">> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.fileList!=null && row.fileList.length" class="image-container"> |
| | | <el-image |
| | | v-if="row.fileList[0].type !=1 && row.fileList[0].fileurlFull" |
| | | class="image-item" |
| | | :src="row.fileList[0].fileurlFull" |
| | | fit="fill" |
| | | :preview-src-list="[row.fileList[0].fileurlFull]"> |
| | | </el-image> |
| | | <video v-if="row.fileList[0].type ==1 && row.fileList[0].fileurlFull" style="width: 60px;height: 60px" controls autoplay :src="row.fileList[0].fileurlFull"></video> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="linkType" label="跳转类å" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.linkType ==0">坿æ¬</span> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="lookNum" label="æµè§é" min-width="80px"></el-table-column> |
| | | <el-table-column prop="donwloadNum" label="ä¸è½½é" min-width="80px"></el-table-column> |
| | | <el-table-column prop="sortnum" label="æåºç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="夿³¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editorName" label="æä½äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æä½æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="publishDate" label="æè¿å叿¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="publishUserName" label="æè¿åå¸äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="publishInfo" label="æè¿åå¸å¤æ³¨" min-width="100px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:news:update', 'business:news:delete'])" |
| | | label="æä½" |
| | |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaNewsWindow.open('ç¼è¾èµè®¯åå®å¶æå¡ä¿¡æ¯è¡¨', row)" icon="el-icon-edit" v-permissions="['business:news:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="$refs.operaNewsWindow.open('ç¼è¾å®å¶æå¡ä¿¡æ¯', row)" icon="el-icon-edit" v-permissions="['business:news:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:news:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaNewsWindow ref="operaNewsWindow" @success="handlePageChange"/> |
| | | <OperaNewsDzWindow ref="operaNewsWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaNewsWindow from '@/components/business/OperaNewsWindow' |
| | | import OperaNewsDzWindow from '@/components/business/OperaNewsDzWindow' |
| | | export default { |
| | | name: 'News', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaNewsWindow }, |
| | | components: { TableLayout, Pagination, OperaNewsDzWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | |
| | | port: 10012, |
| | | proxy: { |
| | | [process.env.VUE_APP_API_PREFIX]: { |
| | | target: 'http://localhost:10028', |
| | | target: process.env.VUE_APP_BASE_API, |
| | | changeOrigin: true, |
| | | pathRewrite: { |
| | | [`^${[process.env.VUE_APP_API_PREFIX]}`]: '' |
| | |
| | | success = Constants.ONE; |
| | | r = ApiResponse.failed(StringUtils.defaultString(e.getMessage(),"æä½å¤±è´¥")); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | success = Constants.ONE; |
| | | r = ApiResponse.failed("æä½å¤±è´¥"); |
| | | }finally { |
| | |
| | | r = ApiResponse.failed(StringUtils.defaultString(e.getMessage(),"æä½å¤±è´¥")); |
| | | }catch (Exception e){ |
| | | success = Constants.ONE; |
| | | e.getMessage(); |
| | | r = ApiResponse.failed("æä½å¤±è´¥"); |
| | | }finally { |
| | | zbomIAMService.saveInterfaceLog("/push/iam/updateUserInfo","IAMæ¨é人åè´¦å·ä¿¡æ¯", token, uuid, timestamp, upateUserModel,success, JSONObject.toJSONString(r)); |
| | |
| | | public Integer create(SystemDictData systemDictData) { |
| | | SystemDictData queryDto = new SystemDictData(); |
| | | queryDto.setDictId(systemDictData.getDictId()); |
| | | queryDto.setCode(systemDictData.getCode()); |
| | | queryDto.setLabel(systemDictData.getLabel()); |
| | | queryDto.setDeleted(Boolean.FALSE); |
| | | SystemDictData dictData = systemDictDataService.findOne(queryDto); |
| | | if (dictData != null) { |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "æ°æ®å¼å·²åå¨"); |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "æ°æ®æ ç¾å·²åå¨"); |
| | | } |
| | | return systemDictDataService.create(systemDictData); |
| | | } |
| | |
| | | public void updateById(SystemDictData systemDictData) { |
| | | SystemDictData queryDto = new SystemDictData(); |
| | | queryDto.setDictId(systemDictData.getDictId()); |
| | | queryDto.setCode(systemDictData.getLabel()); |
| | | queryDto.setLabel(systemDictData.getLabel()); |
| | | queryDto.setDeleted(Boolean.FALSE); |
| | | SystemDictData dictData = systemDictDataService.findOne(queryDto); |
| | | if (dictData != null && !dictData.getId().equals(systemDictData.getId())) { |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "æ°æ®å¼å·²åå¨"); |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "æ°æ®æ ç¾å·²åå¨"); |
| | | } |
| | | systemDictDataService.updateById(systemDictData); |
| | | } |
| | |
| | | import com.doumee.dao.business.model.*; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.scheduling.annotation.Async; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | private IamInterfaceLogMapper iamInterfaceLogMapper; |
| | | @Autowired |
| | | private SegmentsMapper segmentsMapper; |
| | | /** |
| | | * æ¯å¦å¼åè
|
| | | */ |
| | | @Value("${debug_model}") |
| | | private Boolean isDebug; |
| | | |
| | | |
| | | /** |
| | | * åå§ååæ¥ç¨æ· |
| | |
| | | .eq(Shop::getOrgId,model.getIdtOrgId()) |
| | | .last("limit 1")); |
| | | if(shop == null){ |
| | | shop = new Shop(); |
| | | shop.setCreateDate(date); |
| | | addShops.add(initShopInfo(shop,model,date)); |
| | | }else { |
| | | segDelOrgIds.add(shop.getOrgId()); |
| | | updateShops.add(shop); |
| | | updateShops.add(initShopInfo(shop,model,date)); |
| | | } |
| | | //å¤çåç±»æ°æ®é»è¾ |
| | | dealCategorySegData(date,shop,model.getCategory(),categorySegList,segmentsList); |
| | |
| | | } |
| | | |
| | | private Shop initShopInfo(Shop shop, IamUpateShopModel model, Date date) { |
| | | if(shop == null) { |
| | | shop = new Shop(); |
| | | shop.setCreateDate(date); |
| | | } |
| | | shop.setEditDate(date); |
| | | shop.setOrgId(model.getIdtOrgId()); |
| | | shop.setName(model.getIdtOrgName()); |
| | | shop.setCode(model.getIdtOrgCode()); |
| | | shop.setType(model.getIdtOrgFirstLevelType()); |
| | | |
| | | shop.setStatus(Constants.parseIntByStr(model.getIdtOrgStatus())); |
| | | shop.setSecondType(model.getIdtOrgSecondLevelType()); |
| | | shop.setAttribute(model.getIdtOrgAttribute()); |
| | | if(model.getScode()!=null){ |
| | |
| | | } |
| | | |
| | | private void isValidToken(String uuid, String timestamp, String token) { |
| | | if(isDebug){ |
| | | return; |
| | | } |
| | | if (!StringUtils.equalsIgnoreCase( getToken( uuid, timestamp), token)) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼tokené误~"); |
| | | } |
| | |
| | | users.setEditDate(new Date()); |
| | | users.setSex(upateUserModel.getIdtUserGender()); |
| | | users.setIamUsername(upateUserModel.getAppAccountNo()); |
| | | users.setCode(upateUserModel.getIdtUserWorkNo()); |
| | | users.setName(upateUserModel.getIdtUserName()); |
| | | users.setPassword(upateUserModel.getAppAccountPwd()); |
| | | users.setPhone(upateUserModel.getIdtUserMobile()); |
| | |
| | | users.setStatus(upateUserModel.getAppAccountStatus()); |
| | | users.setIsdeleted(Constants.ZERO); |
| | | users.setRemark(JSONObject.toJSONString(upateUserModel)); |
| | | users.setRoleNames(null); |
| | | users.setRoleIds(null); |
| | | users.setUserTypes(null); |
| | | if( upateUserModel.getUserTypes() !=null){ |
| | | for(IamUserTypeModel type : upateUserModel.getUserTypes()){ |
| | | if(StringUtils.isNotBlank(users.getUserTypes())){ |
| | | if(StringUtils.isBlank(users.getUserTypes())){ |
| | | users.setUserTypes(""); |
| | | } |
| | | users.setUserTypes("["+users.getUserTypes()+type.getIdtUserTypeCode()+"];"); |
| | | users.setUserTypes(users.getUserTypes()+"["+type.getIdtUserTypeCode()+"];"); |
| | | } |
| | | } |
| | | if( upateUserModel.getRoles() !=null){ |
| | | for(IamUserRoleModel t : upateUserModel.getRoles()){ |
| | | if(StringUtils.isNotBlank(users.getRoleIds())){ |
| | | if(StringUtils.isBlank(users.getRoleIds())){ |
| | | users.setRoleIds(""); |
| | | } |
| | | if(StringUtils.isNotBlank(users.getRoleNames())){ |
| | | if(StringUtils.isBlank(users.getRoleNames())){ |
| | | users.setRoleNames(""); |
| | | } |
| | | users.setRoleIds("["+users.getRoleIds()+t.getId()+"];"); |
| | | users.setRoleNames("["+users.getRoleNames()+t.getName()+"];"); |
| | | users.setRoleIds(users.getRoleIds()+t.getId()+"["+t.getId()+"];"); |
| | | users.setRoleNames(users.getRoleNames()+"["+t.getName()+"];"); |
| | | } |
| | | } |
| | | if(upateUserModel.getJobs()!=null){ |
| | |
| | | Shop shop = shopMapper.selectOne(new QueryWrapper<Shop>().lambda() |
| | | .eq(Shop::getOrgId,orgId) |
| | | .last("limit 1")); |
| | | users.setDepartmentId(shop.getId()); |
| | | users.setDepartmentId(shop ==null?null:shop.getId()); |
| | | } |
| | | |
| | | } |
| | |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.fasterxml.jackson.databind.PropertyNamingStrategy; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | |
| | | import java.io.IOException; |
| | |
| | | public static final String FTP_USERNAME ="FTP_USERNAME" ; |
| | | public static final String FTP_PWD ="FTP_PWD" ; |
| | | public static final String FTP_RESOURCE_PATH ="FTP_RESOURCE_PATH" ; |
| | | public static final String ERP_ORGLIST_URL ="ERP_ORGLIST_URL" ; |
| | | public static final String ERP_USERLIST_URL ="ERP_USERLIST_URL" ; |
| | | public static final String ERP_APPROVE_URL ="ERP_APPROVE_URL" ; |
| | | public static final String ERP_USERSTATUS_RL ="ERP_USERSTATUS_RL" ; |
| | | public static final String ERP ="ERP" ; |
| | | public static final Integer THREE =3 ; |
| | | public static final Integer FOUR =4 ; |
| | | public static final String ORG_USER_ORIGIN = "ORG_USER_ORIGIN"; |
| | |
| | | public static final String ZBOM = "ZBOM" ; |
| | | public static final String ZBOM_IAM_APPKEY = "ZBOM_IAM_APPKEY"; |
| | | public static final String ZBOM_IAM_APPID = "ZBOM_IAM_APPID"; |
| | | public static boolean DEALING_HK_SYNCPRIVILEGE= false; |
| | | public static boolean DEALING_HK_SYNCDEVICE = false; |
| | | public static boolean DEALING_HK_SYNCDEVICE_STATUS = false; |
| | | public static boolean DEALING_HK_SYNCPARK = false; |
| | | public static boolean DEALING_HK_IMG = false; |
| | | public static boolean DEALING_HK_ORG = false; |
| | | public static boolean DEALING_HK_USER = false; |
| | | public static boolean DEALING_HK_DEL_USER = false; |
| | | public static boolean DEALING_HK_VISIT = false; |
| | | public static boolean DEALING_HK_VISIT_EXPIRE = false; |
| | | public static boolean DEALING_FROM_HK_VISIT = false; |
| | | public static boolean DEALING_HK_EMPOWER = false; |
| | | public static boolean DEALING_HK_EMPOWER_DETAIL = false; |
| | | public static boolean DEALING_HK_EMPOWER_RESULT = false; |
| | | public static boolean DEALING_HK_PARKBOOK = false; |
| | | // ERPæ¥å£é
ç½® |
| | | public static final String ERP_CONFIG = "ERP_CONFIG"; |
| | | // ERP ACCESS_KEY |
| | | public static final String ERP_ACCESS_KEY = "ERP_ACCESS_KEY"; |
| | | // ERP ACCESS_SECRET |
| | | public static final String ERP_ACCESS_SECRET = "ERP_ACCESS_SECRET"; |
| | | |
| | | // å
é¨äººåå»ç»é
ç½®æ¶é´ |
| | | public static final String TIMEOUT_FREEZE = "TIMEOUT_FREEZE"; |
| | | public static Integer parseIntByStr(String idtOrgStatus) { |
| | | try { |
| | | return Integer.parseInt(idtOrgStatus); |
| | | }catch (Exception e){ |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | // è¶
æ¶é¢è¦é
ç½® |
| | | public static final String TIMEOUT_WARNING = "TIMEOUT_WARNING"; |
| | | // FTPæä»¶æå¡å¨èµæºè®¿é®å°å |
| | | /** |
| | | * é件对象类å 0newså¤å¾ 1newsè§é¢ |
| | | */ |
| | | public enum MultiFile{ |
| | | NEWS_FILE(0, "æ¨å¹¿èµè®¯éä»¶", "NEWS") |
| | | |
| | | ; |
| | | // æååé |
| | | private String name; |
| | | private int key; |
| | | private String info;// æè¿° |
| | | |
| | | // æé æ¹æ³ |
| | | MultiFile(int key, String name, String info) { |
| | | this.name = name; |
| | | this.key = key; |
| | | this.info = info; |
| | | } |
| | | |
| | | // æ®éæ¹æ³ |
| | | public static String getName(int index) { |
| | | for (MultiFile c : MultiFile.values()) { |
| | | if (c.getKey() == index) { |
| | | return c.name; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | // æ®éæ¹æ³ |
| | | public static String getInfo(int index) { |
| | | for (MultiFile c : MultiFile.values()) { |
| | | if (c.getKey() == index) { |
| | | return c.info; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public String getInfo() { |
| | | return info; |
| | | } |
| | | |
| | | public void setInfo(String info) { |
| | | this.info = info; |
| | | } |
| | | |
| | | // get set æ¹æ³ |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | } |
| | | |
| | | public int getKey() { |
| | | return key; |
| | | } |
| | | |
| | | public void setKey(int key) { |
| | | this.key = key; |
| | | } |
| | | |
| | | } |
| | | |
| | | public static Date getBirthdyByCardNo(String idCard){ |
| | | if(idCard ==null || idCard.length()<14){ |
| | |
| | | public static final String ACCESS_KEY = "ACCESS_KEY"; |
| | | public static final String ENDPOINT = "ENDPOINT"; |
| | | public static final String RESOURCE_PATH = "RESOURCE_PATH"; |
| | | public static final String USERS_FILE = "USERS_FILE"; |
| | | public static final String NEWS_FILE = "NEWS_FILE"; |
| | | //åéä¼è®®å¼å§ 宿¶æåå¤å°åéåé |
| | | |
| | | public static final String SYSTEM ="SYSTEM"; |
| | |
| | | } |
| | | |
| | | |
| | | public static boolean equalsLong(Long a, Long b) { |
| | | if (a == null || b==null) { |
| | | return false; |
| | | } |
| | | return a.equals(b); |
| | | } |
| | | public static boolean equalsInteger(Integer a, Integer b) { |
| | | if (formatIntegerNum(a) == formatIntegerNum(b)) { |
| | | return true; |
| | |
| | | package com.doumee.core.utils; |
| | | |
| | | import com.google.zxing.*; |
| | | import com.google.zxing.BarcodeFormat; |
| | | import com.google.zxing.EncodeHintType; |
| | | import com.google.zxing.MultiFormatWriter; |
| | | import com.google.zxing.common.BitMatrix; |
| | | import com.google.zxing.common.HybridBinarizer; |
| | | import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; |
| | | |
| | | import javax.imageio.ImageIO; |
| | |
| | | |
| | | if (inputStream != null) { |
| | | ObjectMetadata metadata = new ObjectMetadata(); |
| | | metadata.setContentLength(inputStream.available()); |
| | | |
| | | PutObjectRequest request = new PutObjectRequest(bucketName, key, inputStream,metadata); |
| | | request.setCannedAcl(CannedAccessControlList.PublicRead); |
| | | PutObjectResult result = client.putObject(request); |
| | | return true; |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("对象åå¨==================== ç½ç»æä»¶ä¸ä¼ 失败"+e.getMessage()); |
| | | log.error("对象åå¨==================== æä»¶ä¸ä¼ 失败"+e.getMessage()); |
| | | }finally { |
| | | shutDown(); |
| | | } |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.doumee.dao.business.dto.BaseQueryDto; |
| | | import io.swagger.annotations.ApiModel; |
| | |
| | | @ExcelColumn(name="ç±»å0å¾ç 1è§é¢ 2å
¶ä»") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "å
³è对象类å 0æ¨å¹¿èµè®¯å¤å¾ 1æ¨å¹¿èµè®¯è§é¢ 2å®å¶æå¡å¤å¾ 3å®å¶æå¡è§é¢", example = "1") |
| | | @ExcelColumn(name="å
³è对象类å 0æ¨å¹¿èµè®¯å¤å¾ 1æ¨å¹¿èµè®¯è§é¢ 2å®å¶æå¡å¤å¾ 3å®å¶æå¡è§é¢") |
| | | @ApiModelProperty(value = "é件对象类å 0newså¤å¾ 1newsè§é¢", example = "1") |
| | | @ExcelColumn(name="é件对象类å 0newså¤å¾ 1newsè§é¢") |
| | | private Integer objType; |
| | | |
| | | @ApiModelProperty(value = "æä»¶å°å") |
| | | @ExcelColumn(name="æä»¶å°å") |
| | | private String fileurl; |
| | | @ApiModelProperty(value = "æä»¶å°å宿´") |
| | | @TableField(exist = false) |
| | | private String fileurlFull; |
| | | |
| | | @ApiModelProperty(value = "æåºç ", example = "1") |
| | | @ExcelColumn(name="æåºç ") |
| | |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * èµè®¯åå®å¶æå¡ä¿¡æ¯è¡¨ |
| | |
| | | @ApiModelProperty(value = "跳转类å 0å¯ææ¬ 1å¤é¾", example = "1") |
| | | @ExcelColumn(name="跳转类å 0å¯ææ¬ 1å¤é¾") |
| | | private Integer linkType; |
| | | @ApiModelProperty(value = "éä»¶ç±»å 0å¾ç 1è§é¢", example = "1") |
| | | @ExcelColumn(name="éä»¶ç±»å 0å¾ç 1è§é¢") |
| | | private Integer fileType; |
| | | |
| | | @ApiModelProperty(value = "ç¶æ 0å±ç¤º 1ä¸å±ç¤º", example = "1") |
| | | @ExcelColumn(name="ç¶æ 0å±ç¤º 1ä¸å±ç¤º") |
| | |
| | | @ExcelColumn(name="æè¿åå¸äºº") |
| | | @TableField(exist = false) |
| | | private String publishUserName; |
| | | @ApiModelProperty(value = "éä»¶éå") |
| | | @TableField(exist = false) |
| | | private List<Multifile> fileList; |
| | | |
| | | @ApiModelProperty(value = "ç´ æç±»å 0æ¨å¹¿èµè®¯ 1å®å¶æå¡", example = "1") |
| | | @ExcelColumn(name="ç´ æç±»å 0æ¨å¹¿èµè®¯ 1å®å¶æå¡") |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.doumee.dao.business.dto.BaseQueryDto; |
| | | import io.swagger.annotations.ApiModel; |
| | |
| | | @ApiModelProperty(value = "ç¨æ·è§è²åç§°éåï¼å¤ä¸ªç¨è±è¯éå·éå¼") |
| | | @ExcelColumn(name="ç¨æ·è§è²åç§°éåï¼å¤ä¸ªç¨è±è¯éå·éå¼") |
| | | private String roleNames; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å
å«ä¸çº§") |
| | | @TableField(exist = false) |
| | | private Boolean includeChild; |
| | | @ApiModelProperty(value = "æå±ç»ç»åç§°") |
| | | @TableField(exist = false) |
| | | private String shopName; |
| | | @ApiModelProperty(value = "ç»ç»ç±»å") |
| | | @TableField(exist = false) |
| | | private Integer shopType; |
| | | @ApiModelProperty(value = "ç»ç»ç±»åäºçº§") |
| | | @TableField(exist = false) |
| | | private Integer shopSecType; |
| | | @ApiModelProperty(value = "宿´å¤´åå½") |
| | | @TableField(exist = false) |
| | | private String imgurlFull; |
| | | @ApiModelProperty(value = "个人äºç»´ç å¾çå°å") |
| | | @TableField(exist = false) |
| | | private String qrcodeImgFull; |
| | | } |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.MultifileMapper; |
| | | import com.doumee.dao.business.NewsMapper; |
| | | import com.doumee.dao.business.model.BjParam; |
| | | import com.doumee.dao.business.model.Multifile; |
| | | import com.doumee.dao.business.model.News; |
| | | import com.doumee.dao.system.model.SystemUser; |
| | | import com.doumee.service.business.NewsService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | |
| | | @Autowired |
| | | private NewsMapper newsMapper; |
| | | @Autowired |
| | | private MultifileMapper multifileMapper; |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | |
| | | @Override |
| | | public Long create(News news) { |
| | | newsMapper.insert(news); |
| | | return news.getId(); |
| | | @Transactional |
| | | public Long create(News param) { |
| | | LoginUserInfo userInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | param.setIsdeleted(Constants.ZERO); |
| | | param.setEditor(userInfo.getId()); |
| | | param.setCreator(userInfo.getId()); |
| | | param.setStatus(Constants.formatIntegerNum(param.getStatus())); |
| | | param.setCreateDate(new Date()); |
| | | param.setEditDate(param.getCreateDate()); |
| | | param.setPublishUserid(param.getCreator()); |
| | | param.setFileType(Constants.formatIntegerNum(param.getFileType())); |
| | | newsMapper.insert(param); |
| | | if(param.getFileList()!=null && param.getFileList().size()>0){ |
| | | List<Multifile> multifiles = new ArrayList<>(); |
| | | int index =1; |
| | | for(Multifile f : param.getFileList()){ |
| | | if(StringUtils.isNotBlank(f.getFileurl())){ |
| | | f.setId(null); |
| | | f.setIsdeleted(Constants.ZERO); |
| | | f.setObjId(param.getId()); |
| | | f.setType(StringUtils.endsWith(f.getFileurl(),".mp4")?Constants.ONE:Constants.ZERO); |
| | | f.setObjType(Constants.MultiFile.NEWS_FILE.getKey()); |
| | | f.setCreator(param.getCreator()); |
| | | f.setCreateDate(param.getCreateDate()); |
| | | f.setSortnum(index++); |
| | | multifiles.add(f); |
| | | } |
| | | } |
| | | if(multifiles.size()>0){ |
| | | multifileMapper.insert(multifiles); |
| | | } |
| | | } |
| | | return param.getId(); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteById(Long id) { |
| | | newsMapper.deleteById(id); |
| | | LoginUserInfo userInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | newsMapper.update(null,new UpdateWrapper<News>().lambda() |
| | | .set(News::getIsdeleted,Constants.ONE ) |
| | | .set(News::getEditor,userInfo.getId() ) |
| | | .set(News::getEditDate,new Date() ) |
| | | .eq(News::getId,id)); |
| | | multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda() |
| | | .set(Multifile::getIsdeleted,Constants.ONE ) |
| | | .eq(Multifile::getIsdeleted,Constants.ZERO ) |
| | | .eq(Multifile::getObjType,Constants.MultiFile.NEWS_FILE.getKey()) |
| | | .eq(Multifile::getObjId,id)); |
| | | } |
| | | |
| | | @Override |
| | |
| | | if (CollectionUtils.isEmpty(ids)) { |
| | | return; |
| | | } |
| | | newsMapper.deleteBatchIds(ids); |
| | | for(Long id : ids){ |
| | | deleteById(id); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void updateById(News news) { |
| | | LoginUserInfo userInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | news.setEditor(userInfo.getId()); |
| | | news.setEditDate(new Date()); |
| | | news.setPublishUserid(news.getEditor()); |
| | | newsMapper.updateById(news); |
| | | if(news.getFileList()!=null && news.getFileList().size()>0){ |
| | | List<Multifile> multifiles = new ArrayList<>(); |
| | | int index =1; |
| | | for(Multifile f : news.getFileList()){ |
| | | if(StringUtils.isNotBlank(f.getFileurl())){ |
| | | f.setId(null); |
| | | f.setIsdeleted(Constants.ZERO); |
| | | f.setType(StringUtils.endsWith(f.getFileurl(),".mp4")?Constants.ONE:Constants.ZERO); |
| | | f.setObjId(news.getId()); |
| | | f.setObjType(Constants.MultiFile.NEWS_FILE.getKey()); |
| | | f.setCreator(news.getCreator()); |
| | | f.setCreateDate(news.getCreateDate()); |
| | | f.setSortnum(index++); |
| | | multifiles.add(f); |
| | | } |
| | | } |
| | | if(multifiles.size()>0){ |
| | | multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda() |
| | | .set(Multifile::getIsdeleted,Constants.ONE ) |
| | | .eq(Multifile::getIsdeleted,Constants.ZERO ) |
| | | .eq(Multifile::getObjType,Constants.MultiFile.NEWS_FILE.getKey()) |
| | | .eq(Multifile::getObjId,news.getId() )); |
| | | multifileMapper.insert(multifiles); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | @Override |
| | | public PageData<News> findPage(PageWrap<News> pageWrap) { |
| | | IPage<News> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<News> queryWrapper = new QueryWrapper<>(); |
| | | MPJLambdaWrapper<News> queryWrapper = new MPJLambdaWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | pageWrap.getModel().setIsdeleted(Constants.ZERO); |
| | | queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,News::getEditor) |
| | | .selectAll(News.class) |
| | | .selectAs(SystemUser::getRealname,News::getEditorName); |
| | | if (pageWrap.getModel().getId() != null) { |
| | | queryWrapper.lambda().eq(News::getId, pageWrap.getModel().getId()); |
| | | queryWrapper.eq(News::getId, pageWrap.getModel().getId()); |
| | | } |
| | | if (pageWrap.getModel().getCreator() != null) { |
| | | queryWrapper.lambda().eq(News::getCreator, pageWrap.getModel().getCreator()); |
| | | queryWrapper.eq(News::getCreator, pageWrap.getModel().getCreator()); |
| | | } |
| | | if (pageWrap.getModel().getCreateDate() != null) { |
| | | queryWrapper.lambda().ge(News::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.lambda().le(News::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.ge(News::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.le(News::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); |
| | | } |
| | | if (pageWrap.getModel().getEditor() != null) { |
| | | queryWrapper.lambda().eq(News::getEditor, pageWrap.getModel().getEditor()); |
| | | queryWrapper.eq(News::getEditor, pageWrap.getModel().getEditor()); |
| | | } |
| | | if (pageWrap.getModel().getEditDate() != null) { |
| | | queryWrapper.lambda().ge(News::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.lambda().le(News::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.ge(News::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.le(News::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); |
| | | } |
| | | if (pageWrap.getModel().getIsdeleted() != null) { |
| | | queryWrapper.lambda().eq(News::getIsdeleted, pageWrap.getModel().getIsdeleted()); |
| | | queryWrapper.eq(News::getIsdeleted, pageWrap.getModel().getIsdeleted()); |
| | | } |
| | | if (pageWrap.getModel().getRemark() != null) { |
| | | queryWrapper.lambda().eq(News::getRemark, pageWrap.getModel().getRemark()); |
| | | queryWrapper.eq(News::getRemark, pageWrap.getModel().getRemark()); |
| | | } |
| | | if (pageWrap.getModel().getTitle() != null) { |
| | | queryWrapper.lambda().like(News::getTitle, pageWrap.getModel().getTitle()); |
| | | queryWrapper.like(News::getTitle, pageWrap.getModel().getTitle()); |
| | | } |
| | | if (pageWrap.getModel().getSubTitle() != null) { |
| | | queryWrapper.lambda().eq(News::getSubTitle, pageWrap.getModel().getSubTitle()); |
| | | queryWrapper.eq(News::getSubTitle, pageWrap.getModel().getSubTitle()); |
| | | } |
| | | if (pageWrap.getModel().getSortnum() != null) { |
| | | queryWrapper.lambda().eq(News::getSortnum, pageWrap.getModel().getSortnum()); |
| | | queryWrapper.eq(News::getSortnum, pageWrap.getModel().getSortnum()); |
| | | } |
| | | if (pageWrap.getModel().getContent() != null) { |
| | | queryWrapper.lambda().eq(News::getContent, pageWrap.getModel().getContent()); |
| | | queryWrapper.eq(News::getContent, pageWrap.getModel().getContent()); |
| | | } |
| | | if (pageWrap.getModel().getLinkType() != null) { |
| | | queryWrapper.lambda().eq(News::getLinkType, pageWrap.getModel().getLinkType()); |
| | | queryWrapper.eq(News::getLinkType, pageWrap.getModel().getLinkType()); |
| | | } |
| | | if (pageWrap.getModel().getStatus() != null) { |
| | | queryWrapper.lambda().eq(News::getStatus, pageWrap.getModel().getStatus()); |
| | | queryWrapper.eq(News::getStatus, pageWrap.getModel().getStatus()); |
| | | } |
| | | if (pageWrap.getModel().getLookNum() != null) { |
| | | queryWrapper.lambda().eq(News::getLookNum, pageWrap.getModel().getLookNum()); |
| | | queryWrapper.eq(News::getLookNum, pageWrap.getModel().getLookNum()); |
| | | } |
| | | if (pageWrap.getModel().getDonwloadNum() != null) { |
| | | queryWrapper.lambda().eq(News::getDonwloadNum, pageWrap.getModel().getDonwloadNum()); |
| | | queryWrapper.eq(News::getDonwloadNum, pageWrap.getModel().getDonwloadNum()); |
| | | } |
| | | if (pageWrap.getModel().getPublishDate() != null) { |
| | | queryWrapper.lambda().ge(News::getPublishDate, Utils.Date.getStart(pageWrap.getModel().getPublishDate())); |
| | | queryWrapper.lambda().le(News::getPublishDate, Utils.Date.getEnd(pageWrap.getModel().getPublishDate())); |
| | | queryWrapper.ge(News::getPublishDate, Utils.Date.getStart(pageWrap.getModel().getPublishDate())); |
| | | queryWrapper.le(News::getPublishDate, Utils.Date.getEnd(pageWrap.getModel().getPublishDate())); |
| | | } |
| | | if (pageWrap.getModel().getPublishUserid() != null) { |
| | | queryWrapper.lambda().eq(News::getPublishUserid, pageWrap.getModel().getPublishUserid()); |
| | | queryWrapper.eq(News::getPublishUserid, pageWrap.getModel().getPublishUserid()); |
| | | } |
| | | if (pageWrap.getModel().getPublishInfo() != null) { |
| | | queryWrapper.lambda().eq(News::getPublishInfo, pageWrap.getModel().getPublishInfo()); |
| | | queryWrapper.eq(News::getPublishInfo, pageWrap.getModel().getPublishInfo()); |
| | | } |
| | | if (pageWrap.getModel().getType() != null) { |
| | | queryWrapper.lambda().eq(News::getType, pageWrap.getModel().getType()); |
| | | queryWrapper.eq(News::getType, pageWrap.getModel().getType()); |
| | | } |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | |
| | | PageData<News> pageData = PageData.from(newsMapper.selectJoinPage(page, News.class,queryWrapper)); |
| | | if(pageData!=null && pageData.getRecords()!=null && pageData.getRecords().size()>0){ |
| | | |
| | | List<Long> idList = new ArrayList<>(); |
| | | for(News model : pageData.getRecords()){ |
| | | idList.add(model.getId()); |
| | | } |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | List<Multifile> files = dealMultifileList(idList); |
| | | for(News model : pageData.getRecords()){ |
| | | setFilelistById(model,files); |
| | | } |
| | | |
| | | } |
| | | return PageData.from(newsMapper.selectPage(page, queryWrapper)); |
| | | return pageData; |
| | | } |
| | | |
| | | private void setFilelistById(News model, List<Multifile> multifiles) { |
| | | if(multifiles!=null && multifiles.size()>0){ |
| | | for(Multifile f : multifiles){ |
| | | if(Constants.equalsLong(f.getObjId(),model.getId())){ |
| | | if(Constants.equalsInteger(model.getType(),Constants.ZERO) &&Constants.equalsInteger(model.getFileType(),Constants.ONE) && Constants.equalsInteger(f.getType(),Constants.ONE)){ |
| | | //妿æ¯è§é¢ |
| | | if(model.getFileList() == null){ |
| | | model.setFileList(new ArrayList<>()); |
| | | } |
| | | model.getFileList().add(f); |
| | | break; |
| | | } |
| | | if(Constants.equalsInteger(model.getType(),Constants.ZERO) && Constants.equalsInteger(model.getFileType(),Constants.ZERO) && Constants.equalsInteger(f.getType(),Constants.ZERO)){ |
| | | //妿æ¯è§é¢ |
| | | if(model.getFileList() == null){ |
| | | model.setFileList(new ArrayList<>()); |
| | | } |
| | | model.getFileList().add(f); |
| | | } |
| | | |
| | | if(Constants.equalsInteger(model.getType(),Constants.ONE)){ |
| | | //妿æ¯è§é¢ |
| | | if(model.getFileList() == null){ |
| | | model.setFileList(new ArrayList<>()); |
| | | } |
| | | model.getFileList().add(f); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | private List<Multifile> dealMultifileList(List<Long> idList) { |
| | | List<Integer> types = new ArrayList<>(); |
| | | types.add(Constants.MultiFile.NEWS_FILE.getKey()); |
| | | List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() |
| | | .eq(Multifile::getIsdeleted,Constants.ZERO ) |
| | | .in(Multifile::getObjType,types) |
| | | .in(Multifile::getObjId,idList ) |
| | | .orderByAsc(Multifile::getSortnum) |
| | | ); |
| | | if(multifiles!=null && multifiles.size()>0){ |
| | | String path = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH ).getCode() + |
| | | systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.NEWS_FILE ).getCode(); |
| | | for(Multifile f : multifiles){ |
| | | if(StringUtils.isNotBlank(f.getFileurl())){ |
| | | f.setFileurlFull(path + f.getFileurl()); |
| | | } |
| | | } |
| | | } |
| | | return multifiles; |
| | | } |
| | | |
| | | @Override |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; |
| | | import com.doumee.config.Jwt.JwtPayLoad; |
| | | import com.doumee.config.Jwt.JwtTokenUtil; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.CodeVerifyUtils; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.ShopMapper; |
| | | import com.doumee.core.wx.WxMiniConfig; |
| | | import com.doumee.dao.business.UsersMapper; |
| | | import com.doumee.dao.business.model.Multifile; |
| | | import com.doumee.dao.business.model.News; |
| | | import com.doumee.dao.business.model.Shop; |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.business.model.Users; |
| | | import com.doumee.dao.system.model.SystemUser; |
| | | import com.doumee.dao.web.response.AccountResponse; |
| | | import com.doumee.service.business.UsersService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.catalina.User; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import me.chanjar.weixin.common.error.WxErrorException; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | |
| | | |
| | | @Autowired |
| | | private UsersMapper usersMapper; |
| | | @Autowired |
| | | private ShopMapper shopMapper; |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | |
| | | @Override |
| | | public Long create(Users users) { |
| | |
| | | @Override |
| | | public PageData<Users> findPage(PageWrap<Users> pageWrap) { |
| | | IPage<Users> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<Users> queryWrapper = new QueryWrapper<>(); |
| | | MPJLambdaWrapper<Users> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.leftJoin(Shop.class,Shop::getId,Users::getDepartmentId) |
| | | .selectAs(Shop::getNamePath,Users::getShopName) |
| | | .selectAs(Shop::getType,Users::getShopType) |
| | | .selectAs(Shop::getSecondType,Users::getShopSecType) |
| | | .selectAll(Users.class); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | if (pageWrap.getModel().getId() != null) { |
| | | queryWrapper.lambda().eq(Users::getId, pageWrap.getModel().getId()); |
| | | queryWrapper.eq(Users::getId, pageWrap.getModel().getId()); |
| | | } |
| | | if (pageWrap.getModel().getCreator() != null) { |
| | | queryWrapper.lambda().eq(Users::getCreator, pageWrap.getModel().getCreator()); |
| | | queryWrapper.eq(Users::getCreator, pageWrap.getModel().getCreator()); |
| | | } |
| | | if (pageWrap.getModel().getCreateDate() != null) { |
| | | queryWrapper.lambda().ge(Users::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.lambda().le(Users::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.ge(Users::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.le(Users::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); |
| | | } |
| | | if (pageWrap.getModel().getEditor() != null) { |
| | | queryWrapper.lambda().eq(Users::getEditor, pageWrap.getModel().getEditor()); |
| | | queryWrapper.eq(Users::getEditor, pageWrap.getModel().getEditor()); |
| | | } |
| | | if (pageWrap.getModel().getEditDate() != null) { |
| | | queryWrapper.lambda().ge(Users::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.lambda().le(Users::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.ge(Users::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.le(Users::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); |
| | | } |
| | | if (pageWrap.getModel().getIsdeleted() != null) { |
| | | queryWrapper.lambda().eq(Users::getIsdeleted, pageWrap.getModel().getIsdeleted()); |
| | | queryWrapper.eq(Users::getIsdeleted, pageWrap.getModel().getIsdeleted()); |
| | | } |
| | | if (pageWrap.getModel().getRemark() != null) { |
| | | queryWrapper.lambda().eq(Users::getRemark, pageWrap.getModel().getRemark()); |
| | | queryWrapper.eq(Users::getRemark, pageWrap.getModel().getRemark()); |
| | | } |
| | | if (pageWrap.getModel().getDepartmentId() != null) { |
| | | queryWrapper.lambda().eq(Users::getDepartmentId, pageWrap.getModel().getDepartmentId()); |
| | | queryWrapper.eq(Users::getDepartmentId, pageWrap.getModel().getDepartmentId()); |
| | | } |
| | | if (pageWrap.getModel().getImgurl() != null) { |
| | | queryWrapper.lambda().eq(Users::getImgurl, pageWrap.getModel().getImgurl()); |
| | | queryWrapper.eq(Users::getImgurl, pageWrap.getModel().getImgurl()); |
| | | } |
| | | if (pageWrap.getModel().getType() != null) { |
| | | queryWrapper.lambda().eq(Users::getType, pageWrap.getModel().getType()); |
| | | queryWrapper.eq(Users::getType, pageWrap.getModel().getType()); |
| | | } |
| | | if (pageWrap.getModel().getName() != null) { |
| | | queryWrapper.lambda().eq(Users::getName, pageWrap.getModel().getName()); |
| | | queryWrapper.eq(Users::getName, pageWrap.getModel().getName()); |
| | | } |
| | | if (pageWrap.getModel().getBirthday() != null) { |
| | | queryWrapper.lambda().ge(Users::getBirthday, Utils.Date.getStart(pageWrap.getModel().getBirthday())); |
| | | queryWrapper.lambda().le(Users::getBirthday, Utils.Date.getEnd(pageWrap.getModel().getBirthday())); |
| | | queryWrapper.ge(Users::getBirthday, Utils.Date.getStart(pageWrap.getModel().getBirthday())); |
| | | queryWrapper.le(Users::getBirthday, Utils.Date.getEnd(pageWrap.getModel().getBirthday())); |
| | | } |
| | | if (pageWrap.getModel().getPhone() != null) { |
| | | queryWrapper.lambda().eq(Users::getPhone, pageWrap.getModel().getPhone()); |
| | | queryWrapper.eq(Users::getPhone, pageWrap.getModel().getPhone()); |
| | | } |
| | | if (pageWrap.getModel().getIdcardNo() != null) { |
| | | queryWrapper.lambda().eq(Users::getIdcardNo, pageWrap.getModel().getIdcardNo()); |
| | | queryWrapper.eq(Users::getIdcardNo, pageWrap.getModel().getIdcardNo()); |
| | | } |
| | | if (pageWrap.getModel().getCode() != null) { |
| | | queryWrapper.lambda().eq(Users::getCode, pageWrap.getModel().getCode()); |
| | | queryWrapper.eq(Users::getCode, pageWrap.getModel().getCode()); |
| | | } |
| | | if (pageWrap.getModel().getOpenid() != null) { |
| | | queryWrapper.lambda().eq(Users::getOpenid, pageWrap.getModel().getOpenid()); |
| | | queryWrapper.eq(Users::getOpenid, pageWrap.getModel().getOpenid()); |
| | | } |
| | | if (pageWrap.getModel().getStatus() != null) { |
| | | queryWrapper.lambda().eq(Users::getStatus, pageWrap.getModel().getStatus()); |
| | | queryWrapper.eq(Users::getStatus, pageWrap.getModel().getStatus()); |
| | | } |
| | | if (pageWrap.getModel().getIamStatus() != null) { |
| | | queryWrapper.lambda().eq(Users::getIamStatus, pageWrap.getModel().getIamStatus()); |
| | | queryWrapper.eq(Users::getIamStatus, pageWrap.getModel().getIamStatus()); |
| | | } |
| | | if (pageWrap.getModel().getIamDate() != null) { |
| | | queryWrapper.lambda().ge(Users::getIamDate, Utils.Date.getStart(pageWrap.getModel().getIamDate())); |
| | | queryWrapper.lambda().le(Users::getIamDate, Utils.Date.getEnd(pageWrap.getModel().getIamDate())); |
| | | queryWrapper.ge(Users::getIamDate, Utils.Date.getStart(pageWrap.getModel().getIamDate())); |
| | | queryWrapper.le(Users::getIamDate, Utils.Date.getEnd(pageWrap.getModel().getIamDate())); |
| | | } |
| | | if (pageWrap.getModel().getIamId() != null) { |
| | | queryWrapper.lambda().eq(Users::getIamId, pageWrap.getModel().getIamId()); |
| | | queryWrapper.eq(Users::getIamId, pageWrap.getModel().getIamId()); |
| | | } |
| | | if (pageWrap.getModel().getIamUsername() != null) { |
| | | queryWrapper.lambda().eq(Users::getIamUsername, pageWrap.getModel().getIamUsername()); |
| | | queryWrapper.like(Users::getIamUsername, pageWrap.getModel().getIamUsername()); |
| | | } |
| | | if (pageWrap.getModel().getPassword() != null) { |
| | | queryWrapper.lambda().eq(Users::getPassword, pageWrap.getModel().getPassword()); |
| | | queryWrapper.eq(Users::getPassword, pageWrap.getModel().getPassword()); |
| | | } |
| | | if (pageWrap.getModel().getSex() != null) { |
| | | queryWrapper.lambda().eq(Users::getSex, pageWrap.getModel().getSex()); |
| | | queryWrapper.eq(Users::getSex, pageWrap.getModel().getSex()); |
| | | } |
| | | if (pageWrap.getModel().getLastLoginDate() != null) { |
| | | queryWrapper.lambda().ge(Users::getLastLoginDate, Utils.Date.getStart(pageWrap.getModel().getLastLoginDate())); |
| | | queryWrapper.lambda().le(Users::getLastLoginDate, Utils.Date.getEnd(pageWrap.getModel().getLastLoginDate())); |
| | | queryWrapper.ge(Users::getLastLoginDate, Utils.Date.getStart(pageWrap.getModel().getLastLoginDate())); |
| | | queryWrapper.le(Users::getLastLoginDate, Utils.Date.getEnd(pageWrap.getModel().getLastLoginDate())); |
| | | } |
| | | if (pageWrap.getModel().getLoginNum() != null) { |
| | | queryWrapper.lambda().eq(Users::getLoginNum, pageWrap.getModel().getLoginNum()); |
| | | queryWrapper.eq(Users::getLoginNum, pageWrap.getModel().getLoginNum()); |
| | | } |
| | | if (pageWrap.getModel().getLastLoginPlat() != null) { |
| | | queryWrapper.lambda().eq(Users::getLastLoginPlat, pageWrap.getModel().getLastLoginPlat()); |
| | | queryWrapper.eq(Users::getLastLoginPlat, pageWrap.getModel().getLastLoginPlat()); |
| | | } |
| | | if (pageWrap.getModel().getCostomerNum() != null) { |
| | | queryWrapper.lambda().eq(Users::getCostomerNum, pageWrap.getModel().getCostomerNum()); |
| | | queryWrapper.eq(Users::getCostomerNum, pageWrap.getModel().getCostomerNum()); |
| | | } |
| | | if (pageWrap.getModel().getJobDate() != null) { |
| | | queryWrapper.lambda().eq(Users::getJobDate, pageWrap.getModel().getJobDate()); |
| | | queryWrapper.eq(Users::getJobDate, pageWrap.getModel().getJobDate()); |
| | | } |
| | | if (pageWrap.getModel().getSlogans() != null) { |
| | | queryWrapper.lambda().eq(Users::getSlogans, pageWrap.getModel().getSlogans()); |
| | | queryWrapper.eq(Users::getSlogans, pageWrap.getModel().getSlogans()); |
| | | } |
| | | if (pageWrap.getModel().getQrcodeImg() != null) { |
| | | queryWrapper.lambda().eq(Users::getQrcodeImg, pageWrap.getModel().getQrcodeImg()); |
| | | queryWrapper.eq(Users::getQrcodeImg, pageWrap.getModel().getQrcodeImg()); |
| | | } |
| | | if (pageWrap.getModel().getEmail() != null) { |
| | | queryWrapper.lambda().eq(Users::getEmail, pageWrap.getModel().getEmail()); |
| | | queryWrapper.eq(Users::getEmail, pageWrap.getModel().getEmail()); |
| | | } |
| | | if (pageWrap.getModel().getUserTypes() != null) { |
| | | queryWrapper.lambda().eq(Users::getUserTypes, pageWrap.getModel().getUserTypes()); |
| | | queryWrapper.eq(Users::getUserTypes, pageWrap.getModel().getUserTypes()); |
| | | } |
| | | if (pageWrap.getModel().getRoleIds() != null) { |
| | | queryWrapper.lambda().eq(Users::getRoleIds, pageWrap.getModel().getRoleIds()); |
| | | queryWrapper.eq(Users::getRoleIds, pageWrap.getModel().getRoleIds()); |
| | | } |
| | | if (pageWrap.getModel().getRoleNames() != null) { |
| | | queryWrapper.lambda().eq(Users::getRoleNames, pageWrap.getModel().getRoleNames()); |
| | | if (StringUtils.isNotBlank(pageWrap.getModel().getRoleNames() )) { |
| | | queryWrapper.eq(Users::getRoleNames, pageWrap.getModel().getRoleNames()); |
| | | } |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | if (StringUtils.isNotBlank(pageWrap.getModel().getShopName() )) { |
| | | queryWrapper.eq(Shop::getName, pageWrap.getModel().getShopName()); |
| | | } |
| | | queryWrapper.eq(pageWrap.getModel().getShopType()!=null,Shop::getType,pageWrap.getModel().getShopType()); |
| | | queryWrapper.eq(pageWrap.getModel().getShopSecType()!=null,Shop::getSecondType,pageWrap.getModel().getShopSecType()); |
| | | if(StringUtils.isNotBlank(pageWrap.getModel().getQueryKeyword())){ |
| | | queryWrapper.and(w ->{ |
| | | w.eq(Users::getName,pageWrap.getModel().getQueryKeyword()) |
| | | .or().eq(Users::getPhone,pageWrap.getModel().getQueryKeyword()) |
| | | .or().eq(Users::getCode,pageWrap.getModel().getQueryKeyword()) |
| | | ; |
| | | } ); |
| | | } |
| | | if(pageWrap.getModel().getIamOrgId()!=null){ |
| | | if(pageWrap.getModel().getIncludeChild()!=null &&pageWrap.getModel().getIncludeChild() ){ |
| | | //妿å
å«ä¸çº§ç»ç» |
| | | Shop shop = shopMapper.selectOne(new QueryWrapper<Shop>().lambda().eq(Shop::getOrgId,pageWrap.getModel().getIamOrgId()).last("limit 1"));//æ¥è¯¢ç»ç»ä¿¡æ¯ |
| | | queryWrapper.likeRight(Shop::getIdPath,shop.getIdPath()); |
| | | }else{ |
| | | //ä¸å
å«ä¸çº§ç»ç» |
| | | queryWrapper.eq(Shop::getOrgId,pageWrap.getModel().getIamOrgId()); |
| | | } |
| | | } |
| | | return PageData.from(usersMapper.selectPage(page, queryWrapper)); |
| | | |
| | | PageData<Users> pageData = PageData.from(usersMapper.selectJoinPage(page,Users.class, queryWrapper)); |
| | | if(pageData!=null && pageData.getRecords()!=null && pageData.getRecords().size()>0){ |
| | | String path = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH ).getCode() + |
| | | systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE ).getCode(); |
| | | for(Users f : pageData.getRecords()){ |
| | | if(StringUtils.isNotBlank(f.getImgurl())){ |
| | | f.setImgurlFull(path + f.getImgurl()); |
| | | } |
| | | if(StringUtils.isNotBlank(f.getQrcodeImg())){ |
| | | f.setQrcodeImgFull(path + f.getQrcodeImg()); |
| | | } |
| | | } |
| | | |
| | | } |
| | | return pageData; |
| | | } |
| | | |
| | | @Override |
| | |
| | | </resultMap> |
| | | <select id="selectManageList" parameterType="com.doumee.dao.system.dto.QuerySystemDictDataDTO" resultMap="SystemDictDataListVO"> |
| | | SELECT |
| | | dict_data.`ID`, dict_data.`DICT_ID`, dict_data.`CODE`, dict_data.`LABEL`, dict_data.`SORT`, dict_data.`DISABLED`, dict_data.`CREATE_TIME`, dict_data.`UPDATE_TIME`, dict_data.`CREATE_USER`, dict_data.`UPDATE_USER`, |
| | | dict_data.*, |
| | | create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME, |
| | | update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME |
| | | FROM SYSTEM_DICT_DATA dict_data |
| | |
| | | </select> |
| | | <select id="list" resultType="com.doumee.dao.system.vo.SystemDictDataListVO"> |
| | | SELECT |
| | | dict_data.`ID`, dict_data.`DICT_ID`, dict_data.`CODE`, dict_data.`LABEL` |
| | | dict_data.* |
| | | FROM SYSTEM_DICT_DATA dict_data |
| | | <where> |
| | | dict_data.DELETED = 0 |