admin/src/api/business/activity.js
@@ -16,6 +16,10 @@ export function updateById (data) { return request.post('/business/activity/updateById', data) } // ä¿®æ¹ export function updateStatusById (data) { return request.post('/business/activity/updateStatusById', data) } // å é¤ export function deleteById (id) { admin/src/components/business/OperaInformationWindow.vue
@@ -7,48 +7,47 @@ @confirm="confirm" > <el-form :model="form" ref="form" label-width="130px" label-suffix="ï¼" :rules="rules" inline> <el-form-item label="èµè®¯æ é¢" prop="name"> <el-input v-model="form.name" placeholder="请è¾å ¥èµè®¯æ é¢" v-trim/> </el-form-item> <el-form-item label="èµè®¯åç±»" prop="labelId"> <el-select v-model="form.labelId" placeholder="è¯·éæ©èµè®¯åç±»" filterable clearable > <el-option v-for="item in labels" :key="item.id" :value="item.id" :label="item.name" /> </el-select> <!-- <el-input v-model="form.labelId" placeholder="请è¾å ¥éæ©" v-trim/> --> <el-form-item label="æ é¢" prop="name"> <el-input v-model="form.name" placeholder="请è¾å ¥æ é¢" v-trim/> </el-form-item> <el-form-item label="èµè®¯å°é¢å¾" prop="imgurlfull"> <UploadAvatarImage :file="{ 'imgurlfull': form.imgurlfull, 'imgurl': form.imgurl }" @uploadSuccess="uploadAvatarSuccess" :uploadData="{folder:'activity'}" @uploadEnd="isUploading=false" @uploadBegin="isUploading = true" /> </el-form-item> <el-form-item label="å ³èåºéº" prop="shopId"> <el-form-item label="æå±åç±»" prop="labelId"> <el-select v-model="form.shopId" placeholder="请è¾å ¥åºéºåç§°ï¼åéæ©" v-model="form.labelId" placeholder="è¯·éæ©æå±åç±»" filterable remote reserve-keyword :remote-method="remoteMethod" :loading="searchLoading" clearable > <el-option v-for="item in shops" :key="item.value" :label="item.label" :value="item.value"> </el-option> <el-option v-for="item in labels()" :key="item.id" :value="item.id" :label="item.name" /> </el-select> </el-form-item> <el-form-item label="详æ " prop="content"> <RichEditor :content="{ content : form.content}" @edit="form.content=$event" /> <el-form-item label="æå±åç" prop="brandId"> <el-select v-model="form.brandId" placeholder="è¯·éæ©æå±åç" filterable clearable > <el-option v-for="item in brands()" :key="item.id" :value="item.id" :label="item.name" /> </el-select> </el-form-item> <el-form-item label="å 容类å" prop="contentType" > <el-radio-group v-model="form.contentType"> <el-radio :label="0" value="0">坿æ¬</el-radio> <el-radio :label="1" value="1">å¤é¾</el-radio> </el-radio-group> </el-form-item> <el-form-item label="详æ " prop="content" required> <el-input v-if="form.contentType == 1" v-model="form.content" placeholder="请è¾å ¥å¤é¾å°å" v-trim/> <RichEditor v-else :richData="form.content" :styleEditor="styleEditor" @getWangedditor="getWangedditor" :readonly="false"/> </el-form-item> </el-form> </GlobalWindow> @@ -68,6 +67,7 @@ components: { GlobalWindow, RichEditor, UploadAvatarImage }, data () { return { styleEditor: 'border: 1px solid #ccc;display: inline-block;height:500px;', isUploading: false, searchLoading: false, shops: [], @@ -78,29 +78,35 @@ labelId: '', imgurlfull: null, imgurl: null, shopId: '', brandId: '', content: '', contentType: 0, type: 3 //èµè®¯ }, labels: [ { name: 'a', id: 1 }, { name: 'b', id: 2 }, { name: 'c', id: 3 }, ], // éªè¯è§å rules: { name: [ { required: true, message: '请è¾å ¥èµè®¯æ é¢', tigger: 'blur' } { required: true, message: '请è¾å ¥æ é¢', tigger: 'blur' } ], content: [ { required: true, message: '请è¾å ¥å 容', tigger: 'blur' } ], contentType: [ { required: true, message: 'è¯·éæ©å 容类å' } ], labelId: [ { required: true, message: 'è¯·éæ©èµè®¯åç±»', tigger: 'change' } { required: true, message: 'è¯·éæ©æå±åç±»' } ], brandId: [ { required: true, message: 'è¯·éæ©æå±åç' } ], imgurlfull: [ { required: true, message: '请ä¸ä¼ èµè®¯ä¸»å¾', tigger: 'change' } { required: true, message: '请ä¸ä¼ èµè®¯ä¸»å¾' } ], } } }, inject: ['labels', 'brands'], created () { this.config({ api: '/business/activity', @@ -113,24 +119,10 @@ this.form.imgurl = file.imgurl; this.form.imgurlfull = file.imgurlfull; }, remoteMethod(query) { if (query !== '') { this.searchLoading = true shopList({ capacity: 999, model: { name: query } }) .then(res => { this.shops = res.records }) .finally(() => { this.searchLoading = false }) getWangedditor(val){ this.form.content =val } } }, } </script> admin/src/components/business/OperaLabelKnowledgeWindow.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,73 @@ <template> <GlobalAlertWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm" > <el-form :model="form" ref="form" :rules="rules" label-width="110px" label-suffix="ï¼" inline> <el-form-item label="åç§°" prop="name"> <el-input v-model="form.name" placeholder="请è¾å ¥åç§°" v-trim/> </el-form-item> <el-form-item label="è²å¼" prop="param" > <div style="display: flex" class="paperview-input-text"> <span v-if="form.name" :title="form.param" :style="'padding:0px 10px; cursor:pointer;height:28px;line-height: 28px;display: inline-block;width:auto;border:1px solid '+form.param+'; color:'+form.param+';border-radius:5px;'">{{form.name}}</span> <el-input style="width: 50px;border: none;outline:none; " type="color" v-model="form.param" placeholder="请è¾å ¥è²å¼" v-trim/> </div> </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> </GlobalAlertWindow> </template> <script> import BaseOpera from '@/components/base/BaseOpera' import GlobalAlertWindow from '@/components/common/GlobalAlertWindow' export default { name: 'OperaLabelKnowledgeWindow', extends: BaseOpera, components: { GlobalAlertWindow }, data () { return { // è¡¨åæ°æ® form: { id: null, name: '', module: 0, type: 9, sortnum: '', param: '#000000' }, // éªè¯è§å rules: { name: [ { required: true, message: '请è¾å ¥åç§°', tigger: 'blur' } ] } } }, created () { this.config({ api: '/business/labels', 'field.id': 'id' }) } } </script> <style lang="scss" scoped> @import "@/assets/style/alertstyle.scss"; ::v-deep .el-select { width: 100%; .el-input__inner { width: 100%; } } ::v-deep .paperview-input-text .el-input__inner { -webkit-appearance: none; border: 0px !important;//æ¹æ0ï¼è¾¹æ¡å°±æ¶å¤±äºï¼ } </style> admin/src/components/business/OperaShopInfoWindow.vue
@@ -239,7 +239,7 @@ </div> </div> <div style="float: right; margin-bottom: 20px;"> <el-select v-model="searchForm2.type" placeholder="å ¨é¨" clearable @change="search" style="width: 120px;" > <el-select v-model="searchForm2.type" placeholder="å ¨é¨" clearable @change="handlePageChange2(1)" style="width: 120px;" > <el-option :key="0" :value="0" label="è·å¾" ></el-option> <el-option :key="1" :value="1" label="æ£é¤" ></el-option> </el-select> admin/src/views/business/information.vue
@@ -2,23 +2,41 @@ <TableLayout :permissions="['business:activity:query']"> <!-- æç´¢è¡¨å --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> <el-form-item label="èµè®¯æ é¢" prop="name"> <el-input v-model="searchForm.name" placeholder="请è¾å ¥èµè®¯æ é¢" @keypress.enter.native="search"></el-input> <el-form-item label="æ é¢" prop="name"> <el-input v-model="searchForm.name" placeholder="请è¾å ¥æ é¢" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="åå¸äºº" prop="realName"> <el-input v-model="searchForm.realName" placeholder="请è¾å ¥åå¸äºº" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="ç¨æ·ç±»å" prop="userType"> <el-form-item label="æå±åç±»" prop="labelId"> <el-select v-model="searchForm.userType" placeholder="è¯·éæ©ç¨æ·ç±»å" v-model="searchForm.labelId" placeholder="è¯·éæ©æå±åç±»" style="width: 150px" clearable @change="search" > <!-- 0ç³»ç»ç®¡çå 1æºæç®¡çå 2åä½ä¸å¿ç®¡çå --> <el-option v-for="item in userType" v-for="item in labels" :key="item.id" :value="item.id" :label="item.label" :label="item.name" ></el-option> </el-select> </el-form-item> <el-form-item label="æå±åç" prop="brandId"> <el-select v-model="searchForm.brandId" style="width: 150px" placeholder="è¯·éæ©æå±åç" clearable @change="search" > <el-option v-for="item in brands" :key="item.id" :value="item.id" :label="item.name" ></el-option> </el-select> </el-form-item> @@ -42,28 +60,40 @@ @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55" ></el-table-column> <el-table-column prop="imgurlfull" label="èµè®¯ä¸»å¾" align="center" min-width="100px"> <el-table-column prop="imgurlfull" label="主å¾" align="center" min-width="100px"> <template slot-scope="{row}"> <el-image :scr="row.imgurlfull" :preview-src-list="[row.imgurlfull]"></el-image> <el-image style="width: 50px;height: 50px;" v-if="row.imgurl && row.imgurl!=''" :src="row.imgurlfull" :preview-src-list="[row.imgurlfull]"></el-image> </template> </el-table-column> <el-table-column prop="name" label="èµè®¯æ é¢" align="center" min-width="100px"> <el-table-column prop="name" label="æ é¢" align="center" min-width="100px"></el-table-column> <el-table-column prop="lablesName" label="æå±åç±»" align="center" min-width="100px"></el-table-column> <el-table-column prop="brandName" label="æå±åç" align="center" min-width="100px"></el-table-column> <el-table-column prop="content" label="æ°æ®å¼" min-width="100px"> <template slot-scope="{row}"> <el-button type="text" @click="shopDetail(row)">{{ row.name }}</el-button> <div v-if="row.content"> <el-button v-if="row.contentType == 1" title="ç¹å»è·³è½¬å¤é¾æ¥ç" type="text" @click="openUrl(row)" >ç¹å»è·³è½¬</el-button> <el-button v-else title="ç¹å»æ¥ç详æ " type="text" @click="showCode(row)" >ç¹å»æ¥ç</el-button> </div> </template> </el-table-column> <el-table-column prop="lablesName" label="èµè®¯åç±»" align="center" min-width="100px"></el-table-column> <el-table-column prop="realName" label="åå¸ç¨æ·" align="center" min-width="100px"></el-table-column> <el-table-column prop="name" label="ç¨æ·ç±»å" align="center" min-width="100px"> <template slot-scope="{row}"> {{ userTypeToStr(row.userType) }} </template> </el-table-column> <el-table-column prop="looknum" label="æµè§æ°" align="center" min-width="100px"></el-table-column> <el-table-column prop="looknum" label="æµè§é" align="center" min-width="100px"></el-table-column> <el-table-column prop="zanCount" label="ç¹èµæ°" align="center" min-width="100px"></el-table-column> <el-table-column prop="commentCount" label="è¯è®ºæ°" align="center" min-width="100px"></el-table-column> <el-table-column prop="collectCount" label="æ¶èæ°" align="center" min-width="100px"></el-table-column> <el-table-column prop="createDate" label="å叿¶é´" align="center" min-width="140px"></el-table-column> <el-table-column prop="realName" label="åå¸äºº" align="center" min-width="140px"></el-table-column> <el-table-column prop="editDate" label="å叿¶é´" align="center" min-width="140px"></el-table-column> <el-table-column prop="status" label="ç¶æ" min-width="80px" align="center"> <template slot-scope="{row}"> <el-switch v-model="row.status" :active-value="1" :inactive-value="0" active-color="#13ce66" fixed="right" inactive-color="#ff4949" @change="statusChange(row)" ></el-switch> </template> </el-table-column> <el-table-column v-if="containPermissions(['business:activity:update', 'business:activity:delete'])" label="æä½" @@ -85,6 +115,21 @@ </template> <!-- æ°å»º/ä¿®æ¹ --> <OperaInformationWindow ref="operaInformationWindow" @success="handlePageChange"/> <el-dialog class="center-title" :title="'å 容详æ ã'+curTitle+'ã'" width="70%" height="70%" text="åå ¸å¼" :visible.sync="visible1" append-to-body > <div class="agree-list" v-html="agreement"> </div> <template v-slot:footer> <el-button @click="visible1=false">è¿å</el-button> </template> </el-dialog> </TableLayout> </template> @@ -93,6 +138,7 @@ import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import OperaInformationWindow from '@/components/business/OperaInformationWindow' import { findAll as labelList } from '@/api/business/labels' export default { name: 'Information', extends: BaseTable, @@ -103,18 +149,25 @@ searchForm: { name: '', realName: '', userType: '', brandId: null, labelId: null, contentType: '', type: 3 //ç±»å0åå®¶æ´»å¨ 1平尿´»å¨ 2æ¢åº 3èµè®¯ }, // 0ç³»ç»ç®¡çå 1æºæç®¡çå 2åä½ä¸å¿ç®¡çå userType: [ { label: 'å¹³å°', id: 0 }, { label: 'æºæ', id: 1 }, { label: 'åä½è ', id: 2 } ] agreement: null, curTitle:'', visible1: false, labels: [], brands: [] } }, created () { provide () { return { labels: () => this.labels, brands: () => this.brands } }, created: function () { this.config({ module: 'èµè®¯ä¿¡æ¯è¡¨', api: '/business/activity', @@ -122,15 +175,59 @@ 'field.main': 'id' }) this.search() labelList({ type: 0 // åååç±» }).then(res => { this.labels = res }) labelList({ type: 1 // åååç }) .then(res => { this.brands = res }) }, methods: { userTypeToStr(type) { const temp = this.userType.find(item => item.id = type) return temp ? temp.label : '-' showCode(row){ this.curTitle =row.name this.agreement=row.content this.visible1=true }, shopDetail(row) { openUrl(row){ window.open(row.content) }, statusChange (row) { this.api.updateStatusById({ id: row.id, status: row.status }) .then(() => { this.$message.success('æä½æå') }) .catch(e => { this.$message.error('æä½æå') }) .then(() => { this.handlePageChange() }) } }, } } </script> <style scoped lang="scss"> .agree-list{ height: 550px; //max-height: 50%; overflow: auto; } .no-scroll { overflow: hidden !important; } /deep/ .window__body { .table-content { padding: 0; .table-wrap { padding-top: 0; } } } </style> admin/src/views/business/labelsKnowledge.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,120 @@ <template> <TableLayout :permissions="['business:labels:query']"> <!-- æç´¢è¡¨å --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> <el-form-item label="åç±»åç§°" prop="name"> <el-input v-model="searchForm.name" placeholder="请è¾å ¥åç§°" @keypress.enter.native="search"></el-input> </el-form-item> <section> <el-button type="primary" @click="search">æç´¢</el-button> <el-button @click="reset">éç½®</el-button> </section> </el-form> <!-- è¡¨æ ¼åå页 --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="['business:labels:create', 'business:labels:delete']"> <li><el-button type="primary" @click="$refs.operaLabelsWindow.open('æ°å»ºç¥è¯åºåç±»')" icon="el-icon-plus" v-permissions="['business:labels:create']">æ°å»º</el-button></li> <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:labels:delete']">å é¤</el-button></li> </ul> <el-table v-loading="isWorking.search" :data="tableData.list" border stripe @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="name" label="åç±»åç§°" min-width="100px"></el-table-column> <el-table-column prop="param" label="è²å¼" min-width="100px" align="center"> <template slot-scope="{row}"> <div v-if="row.param" > <span :title="row.param" :style="'cursor:pointer;display: inline-block;width:auto;border:1px solid '+row.param+';padding: 2px 10px;color:'+row.param+';border-radius:5px;'">{{row.name}}</span> </div> </template> </el-table-column> <el-table-column prop="status" label="ç¶æ" min-width="100px"> <template slot-scope="{row}"> <el-switch v-model="row.status" :active-value="1" :inactive-value="0" active-color="#13ce66" inactive-color="#ff4949" @change="statusChange(row)" ></el-switch> </template> </el-table-column> <el-table-column prop="sortnum" label="æåºç " min-width="100px"></el-table-column> <el-table-column prop="createDate" label="å建æ¶é´" min-width="100px"></el-table-column> <el-table-column v-if="containPermissions(['business:labels:update', 'business:labels:delete'])" label="æä½" min-width="120" fixed="right" > <template slot-scope="{row}"> <el-button type="text" @click="$refs.operaLabelsWindow.open('ç¼è¾ç¥è¯åºåç±»', row)" icon="el-icon-edit" v-permissions="['business:labels:update']">ç¼è¾</el-button> <el-button type="text" style="color: red;" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:labels:delete']">å é¤</el-button> </template> </el-table-column> </el-table> <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination" > </pagination> </template> <!-- æ°å»º/ä¿®æ¹ --> <OperaLabelKnowledgeWindow ref="operaLabelsWindow" @success="handlePageChange"/> </TableLayout> </template> <script> import BaseTable from '@/components/base/BaseTable' import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import OperaLabelKnowledgeWindow from '@/components/business/OperaLabelKnowledgeWindow' export default { name: 'Labels', extends: BaseTable, components: { TableLayout, Pagination, OperaLabelKnowledgeWindow }, data () { return { // æç´¢ searchForm: { name: '', type: 9 } } }, provide () { return { types: () => this.type } }, created () { this.config({ module: 'ç¥è¯åºåç±»', api: '/business/labels', 'field.id': 'id', 'field.main': 'id' }) this.search() }, methods: { statusChange (row) { this.api.updateStatusById({ id: row.id, status: row.status }) .then(() => { this.$message.success('æä½æå') }) .catch(e => { this.$message.error('æä½æå') }) .then(() => { this.handlePageChange() }) } } } </script> admin/src/views/business/platformGoods.vue
@@ -16,7 +16,10 @@ <el-form-item label="æå±åç±»" prop="categoryId"> <el-select v-model="searchForm.categoryId" style="width: 150px" placeholder="è¯·éæ©æå±åç±»" clearable @change="search" > <el-option v-for="item in labels" @@ -29,7 +32,10 @@ <el-form-item label="æå±åç" prop="brandId"> <el-select v-model="searchForm.brandId" style="width: 150px" placeholder="è¯·éæ©æå±åç" clearable @change="search" > <el-option v-for="item in brands" server/dmmall_admin/src/main/java/com/doumee/api/business/ActivityController.java
@@ -66,6 +66,13 @@ activityService.updateById(activity); return ApiResponse.success(null); } @ApiOperation("æ ¹æ®IDä¿®æ¹") @PostMapping("/updateStatusById") @RequiresPermissions("business:activity:update") public ApiResponse updateStatusById(@RequestBody Activity activity) { activityService.updateStatusById(activity); return ApiResponse.success(null); } @ApiOperation("å页æ¥è¯¢") @PostMapping("/page") server/dmmall_service/src/main/java/com/doumee/dao/business/model/Activity.java
@@ -129,13 +129,16 @@ @ApiModelProperty(value = "æå±åç±»ç¼ç ï¼å ³èlabels)", example = "1") @ExcelColumn(name="æå±åç±»ç¼ç ï¼å ³èlabels)") private Integer labelId; @ApiModelProperty(value = "æå±åçç¼ç ï¼å ³èlabels)", example = "1") @ExcelColumn(name="æå±åçç¼ç ï¼å ³èlabels)") private Integer brandId; @ApiModelProperty(value = "ç¨æ·ç¼ç ï¼å ³èmember表ï¼", example = "1") @ExcelColumn(name="ç¨æ·ç¼ç ï¼å ³èmember表ï¼") private Integer memberId; @ApiModelProperty(value = "å 容类å 0å¾ç 1è§é¢", example = "1") @ExcelColumn(name="å 容类å 0å¾ç 1è§é¢") @ApiModelProperty(value = "å 容类å 0å¯ææ¬ 1å¤é¾", example = "1") @ExcelColumn(name="å 容类å 0å¯ææ¬ 1å¤é¾") private Integer contentType; @ApiModelProperty(value = "å 容坿æ¬") @@ -153,6 +156,9 @@ @ApiModelProperty(value = "èµè®¯åç±»åç§°") @TableField(exist = false) private String lablesName; @ApiModelProperty(value = "æå±åçåç§°") @TableField(exist = false) private String brandName; @ApiModelProperty(value = "ç¹èµæ°é") @TableField(exist = false) server/dmmall_service/src/main/java/com/doumee/service/business/ActivityService.java
@@ -50,6 +50,7 @@ * @param activity å®ä½å¯¹è±¡ */ void updateById(Activity activity); void updateStatusById(Activity activity); /** * æ¹é䏻鮿´æ° server/dmmall_service/src/main/java/com/doumee/service/business/impl/ActivityServiceImpl.java
@@ -113,12 +113,11 @@ isCreateParamValid(activity, user); activity.setCreateDate(new Date()); activity.setCreator(user.getId()); activity.setEditDate(new Date()); activity.setEditor(user.getId()); activity.setIsdeleted(Constants.ZERO); activity.setStatus(Constants.Status.ENABLE.getValue()); activity.setMemberId(user.getMemberId()); activityMapper.insert(activity); dealBatchMultiFiles(activity, user); return activity.getId(); } @@ -162,90 +161,31 @@ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); isCreateParamValid(activity, user); activity.setEditDate(new Date()); activity.setEditor(user.getId()); activityMapper.updateById(activity); dealBatchMultiFiles(activity, user); } @Override public void updateStatusById(Activity labels) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); activityMapper.update(null,new UpdateWrapper<Activity>().lambda() .set(Activity::getEditDate,new Date()) .set(Activity::getEditor,user.getId()) .set(Activity::getStatus,labels.getStatus()) .eq(Activity::getId,labels.getId())); } public void isCreateParamValid(Activity activity, LoginUserInfo user) { if (activity.getType() == null) { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage()); } if (Constants.equalsInteger(activity.getType(), Constants.ActivityType.TANDIAN.getKey()) || Constants.equalsInteger(activity.getType(), Constants.ActivityType.CONSULT.getKey())) { //èµè®¯ï¼æ¢åº if (activity.getShopId() == null || StringUtils.isBlank(activity.getName()) || StringUtils.isBlank(activity.getImgurl()) || activity.getLabelId()==null || activity.getContent()==null ) { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage()); } if(Constants.equalsInteger(activity.getType(), Constants.ActivityType.TANDIAN.getKey())){ if(activity.getContentType()==null || org.apache.commons.collections.CollectionUtils.isEmpty(activity.getFileList()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage()); } } Shop queryShop = new Shop(); queryShop.setId(activity.getShopId()); Shop shop = shopMapper.selectOne(new QueryWrapper<>(queryShop) .lambda().eq(Shop::getIsdeleted, Constants.ZERO) ); if (Objects.isNull(shop)) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "åéºä¸åå¨ï¼ç¦æ¢æ·»å "); } } else if (Constants.equalsInteger(activity.getType(), Constants.ActivityType.PLATACTIVITY.getKey())) { //平尿´»å¨ if (activity.getShopId() != null) { Shop queryShop = new Shop(); queryShop.setId(activity.getShopId()); Shop shop = shopMapper.selectOne(new QueryWrapper<>(queryShop) .lambda().eq(Shop::getIsdeleted, Constants.ZERO) ); if (Objects.isNull(shop)) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "åéºä¸åå¨ï¼ç¦æ¢æ·»å "); } } else if (activity.getOrgId() != null) { SystemUser sysQuery = new SystemUser(); sysQuery.setId(activity.getOrgId()); SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<>(sysQuery) .lambda().eq(SystemUser::getDeleted, Constants.ZERO) ); if (Objects.isNull(systemUser)) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "æºæä¸åå¨ï¼ç¦æ¢æ·»å "); } } else { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage()); } if(StringUtils.isBlank(activity.getName()) ||activity.getLabelId()==null ||activity.getStarttime()==null ||activity.getEndtime()==null ||activity.getSignStarttime()==null ||activity.getSignEndtime()==null ||StringUtils.isBlank(activity.getAddr()) ||activity.getLongitude()==null ||activity.getLatitude()==null ||activity.getLimitnum()==null ||StringUtils.isBlank(activity.getImgurl()) ){ || StringUtils.isBlank(activity.getContent()) || activity.getLabelId()==null || activity.getBrandId()==null || activity.getContent()==null ) { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage()); } } if (Objects.isNull(user.getMemberId())) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "å å ³èåç«¯ç¨æ·ååå¸!"); } } public void dealBatchMultiFiles(Activity activity, LoginUserInfo user) { @@ -323,29 +263,30 @@ queryWrapper.selectAll(Activity.class); queryWrapper.selectAs(SystemUser::getRealname, Activity::getRealName); queryWrapper.selectAs(SystemUser::getType, Activity::getUserType); queryWrapper.selectAs(Labels::getName, Activity::getLablesName); queryWrapper.selectAs(Shop::getName, Activity::getShopName); queryWrapper.selectAs(Shop::getImgurl, Activity::getShopImg); queryWrapper.selectAs(Shop::getName, Activity::getShopName); queryWrapper.selectAs(Orgs::getName, Activity::getOrgName); queryWrapper.select("t1.name", Activity::getLablesName); queryWrapper.select("t2.name", Activity::getBrandName); // queryWrapper.selectAs(Shop::getName, Activity::getShopName); // queryWrapper.selectAs(Shop::getImgurl, Activity::getShopImg); // queryWrapper.selectAs(Shop::getName, Activity::getShopName); // queryWrapper.selectAs(Orgs::getName, Activity::getOrgName); queryWrapper.select("(select count(id) from zan s1 where s1.ISDELETED=0 and s1.OBJ_ID=t.id ) as zanCount"); queryWrapper.select("(select count(id) from collect s1 where s1.ISDELETED=0 and s1.OBJ_ID=t.id ) as collectCount"); queryWrapper.select("(select count(id) from comment s1 where s1.ISDELETED=0 and s1.OBJ_ID=t.id ) as commentCount"); queryWrapper.select("(select count(id) from shares s1 where s1.ISDELETED=0 and s1.OBJ_ID=t.id ) as sharesCount"); queryWrapper.select("(select count(id) from activity_sign s1 where s1.ISDELETED=0 and ACTIVITY_ID=t.id and s1.STATUS!=2 ) as activityCount"); queryWrapper.select("(select REALNAME from system_user s1 where s1.ID=t.ORG_ID ) as serviceName"); // queryWrapper.select("(select name from shop where ISDELETED=0 and ACTIVITY_ID=t.SHOP_ID ) as shopName"); // queryWrapper.select("(select count(id) from activity_sign s1 where s1.ISDELETED=0 and ACTIVITY_ID=t.id and s1.STATUS!=2 ) as activityCount"); // queryWrapper.select("(select REALNAME from system_user s1 where s1.ID=t.ORG_ID ) as serviceName"); queryWrapper.leftJoin(Shop.class, Shop::getId, Activity::getShopId); queryWrapper.leftJoin(Orgs.class, Orgs::getId, Activity::getOrgId); queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Activity::getCreator); // queryWrapper.leftJoin(Shop.class, Shop::getId, Activity::getShopId); // queryWrapper.leftJoin(Orgs.class, Orgs::getId, Activity::getOrgId); queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getLabelId); queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getBrandId); queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Activity::getEditor); queryWrapper.eq(Activity::getId,id); Activity result = activityJoinMapper.selectJoinOne(Activity.class, queryWrapper); if (Objects.nonNull(result)) { String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.ACTIVITY_FILE).getCode(); Multifile queryfile = new Multifile(); /* Multifile queryfile = new Multifile(); queryfile.setObjId(result.getId()); List<Multifile> filelist = multifileMapper.selectList(new QueryWrapper<>(queryfile)); if(filelist!=null){ @@ -355,7 +296,7 @@ } }); result.setFileList(filelist); } }*/ if(StringUtils.isNotBlank(result.getImgurl())){ result.setImgurlfull(path+result.getImgurl()); } @@ -368,7 +309,8 @@ queryWrapper.selectAll(Activity.class); queryWrapper.selectAs(SystemUser::getRealname, Activity::getRealName); queryWrapper.selectAs(SystemUser::getType, Activity::getUserType); queryWrapper.selectAs(Labels::getName, Activity::getLablesName); queryWrapper.select("t5.name", Activity::getLablesName); queryWrapper.select("t6.name", Activity::getBrandName); queryWrapper.selectAs(Shop::getName, Activity::getShopName); queryWrapper.selectAs(Shop::getImgurl, Activity::getShopImg); queryWrapper.selectAs(Shop::getName, Activity::getShopName); @@ -385,8 +327,9 @@ queryWrapper.leftJoin(Shop.class, Shop::getId, Activity::getShopId); queryWrapper.leftJoin(Orgs.class, Orgs::getId, Activity::getOrgId); queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Activity::getCreator); queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getLabelId); queryWrapper.leftJoin(Member.class, Member::getId, Activity::getMemberId); queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getLabelId); queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getBrandId); queryWrapper.eq(Activity::getId,id); Activity result = activityJoinMapper.selectJoinOne(Activity.class, queryWrapper); @@ -416,16 +359,18 @@ queryWrapper.selectAll(Activity.class); queryWrapper.selectAs(SystemUser::getRealname, Activity::getRealName); queryWrapper.selectAs(SystemUser::getType, Activity::getUserType); queryWrapper.selectAs(Labels::getName, Activity::getLablesName); queryWrapper.select("t2.name", Activity::getLablesName); queryWrapper.select("t3.name", Activity::getBrandName); queryWrapper.select("(select count(id) from zan where ISDELETED=0 and OBJ_ID=t.id ) as zanCount"); queryWrapper.select("(select count(id) from collect where ISDELETED=0 and OBJ_ID=t.id ) as collectCount"); queryWrapper.select("(select count(id) from comment where ISDELETED=0 and OBJ_ID=t.id ) as commentCount"); queryWrapper.select("(select count(id) from shares where ISDELETED=0 and OBJ_ID=t.id ) as sharesCount"); queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Activity::getCreator); queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Activity::getEditor); queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getLabelId); queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getBrandId); if (Constants.equalsInteger(pageWrap.getModel().getType(), Constants.ONE)) { /* if (Constants.equalsInteger(pageWrap.getModel().getType(), Constants.ONE)) { //æ¥è¯¢æ´»å¨æ¥åæ°æ® queryWrapper.select("(select count(id) from activity_sign where ISDELETED=0 and ACTIVITY_ID=t.id ) as activityCount"); queryWrapper.select("su.REALNAME as serviceName"); @@ -468,20 +413,21 @@ } } } }*/ /**åä½è /æºæï¼æ¥çèªå·±åå¸çæ°æ®ï¼å¹³å°ï¼æ¥çæææ°æ®ï¼ */ if (!Constants.equalsInteger(user.getType(), Constants.UserType.SYSTEM.getKey())) { /* if (!Constants.equalsInteger(user.getType(), Constants.UserType.SYSTEM.getKey())) { queryWrapper.eq(Activity::getCreator, user.getId()); } }*/ queryWrapper.eq(Activity::getIsdeleted, Constants.ZERO); queryWrapper.eq(pageWrap.getModel().getLabelId() !=null, Activity::getLabelId, pageWrap.getModel().getLabelId()); queryWrapper.eq(pageWrap.getModel().getBrandId() !=null, Activity::getBrandId, pageWrap.getModel().getBrandId()); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()), Activity::getName, pageWrap.getModel().getName()); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getRealName()), SystemUser::getRealname, pageWrap.getModel().getRealName()); queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getUserType()), SystemUser::getType, pageWrap.getModel().getUserType()); // queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getUserType()), SystemUser::getType, pageWrap.getModel().getUserType()); queryWrapper.orderByDesc(Activity::getCreateDate); IPage<Activity> result = activityJoinMapper.selectJoinPage(page, Activity.class, queryWrapper); initActivityListStatus(result.getRecords()); return PageData.from(result); } @@ -500,8 +446,11 @@ if (model == null) { return; } model.setImgurlfull(path); model.setActivityStatus(Constants.ZERO); if(StringUtils.isNotBlank(model.getImgurl())){ model.setImgurlfull(path + model.getImgurl()); } /*model.setActivityStatus(Constants.ZERO); long now = System.currentTimeMillis(); if (model.getStarttime() != null && model.getSignStarttime() != null && model.getSignStarttime().getTime() <= now && model.getStarttime().getTime() < now) { model.setActivityStatus(Constants.ONE);//æ¥åä¸ @@ -514,7 +463,7 @@ } if (model.getEndtime() != null && model.getEndtime().getTime() < now) { model.setActivityStatus(4);//æ´»å¨å·²ç»æ } }*/ } server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
@@ -316,7 +316,7 @@ queryWrapper.selectAll(Shop.class); queryWrapper.eq(Shop::getId,id); queryWrapper.select("(select AVG(SCORE) from shop_comment where ISDELETED=0 and OBJ_ID=t.id) as score");//é¨åºè¯å // queryWrapper.select("(select AVG(SCORE) from shop_comment where ISDELETED=0 and OBJ_ID=t.id) as score");//é¨åºè¯å /** ----------------startåºéºè®¿é®æ°æ®----------------*/ // queryWrapper.select("(select count(id) from shop_scan where ISDELETED=0 and SHOP_ID=t.id) as shopTotalVisits");//主页æ»è®¿é®é // queryWrapper.select("(select count(id) from shop_scan where ISDELETED=0 and SHOP_ID=t.id and to_days(CREATE_DATE)=to_days(now()) ) as shopNowVisits");//仿¥è®¿é®é @@ -336,7 +336,7 @@ // queryWrapper.select("(select sum(LIMIT_PRICE) from member_coupon where ISDELETED=0 and SHOP_ID=t.id and type=0 and STATUS=1 ) as couponUserMoney");//伿 å¸ä½¿ç¨éé¢(å ) /** ----------------endåºéºä¼æ 叿°æ®----------------*/ queryWrapper.select("(select count(g.id) from goodsorder where g.ISDELETED=0 and g.DISTRIBUTION_SHOP_ID=t.id ) as totalOrderNUm");//伿 å¸ä½¿ç¨éé¢(å ) queryWrapper.select("(select count(g.id) from goodsorder g where g.ISDELETED=0 and g.DISTRIBUTION_SHOP_ID=t.id ) as totalOrderNUm");//伿 å¸ä½¿ç¨éé¢(å ) Shop shop= shopJoinMapper.selectJoinOne(Shop.class,queryWrapper); String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.SHOP_FILE).getCode();