ss
jiangping
2025-07-02 f7b760a680397fd0a3de2d8de36a2601de98530d
ss
已添加1个文件
已删除2个文件
已修改22个文件
627 ■■■■ 文件已修改
admin/.env 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/.env.development 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/.env.production 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaInformationWindow.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/bottom.vue 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/information.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/informationCase.vue 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/pom.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/ContextFinalizer.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/OfficialWebsiteApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/config/quartz/JobHandler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/config/quartz/JobHandlerWithDisallowConcurrent.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/config/quartz/JobInitializer.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/config/quartz/SnippetScanner.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/config/quartz/SnippetScannerConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/core/constants/Constants.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/core/utils/qiyeweixin/QywxUtil.java 253 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/dao/business/model/Information.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/dao/dto/FootDataDTO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/dao/system/model/SystemDictData.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/dao/vo/FootDataVO.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/service/business/impl/CarouselServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/service/business/impl/InformationServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/resources/application-pro.yml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/.env
@@ -7,7 +7,7 @@
VUE_APP_ROUTER_MODE = 'hash'
# é¡¹ç›®ä¸Šä¸‹æ–‡è·¯å¾„
VUE_APP_CONTEXT_PATH = '/lianhelihua_admin'
VUE_APP_CONTEXT_PATH = '/dmttwebsite_admin'
# æŽ¥å£å‰ç¼€
VUE_APP_API_PREFIX = ''
VUE_APP_API_PREFIX = '/dmttwebsite'
admin/.env.development
@@ -1,3 +1,3 @@
# å¼€å‘环境配置
NODE_ENV = 'development'
VUE_APP_API_URL  = 'http://192.168.0.129:10040'
VUE_APP_API_URL  = 'http://localhost:10010'
admin/.env.production
@@ -4,4 +4,4 @@
# å…³é—­DEBUG
VUE_APP_DEBUG = 'off'
VUE_APP_API_URL  = 'https://dmtest.ahapp.net/lianhelihua_interface'
VUE_APP_API_URL  = 'http://121.41.112.139:8099/dmttwebsite'
admin/src/components/business/OperaInformationWindow.vue
@@ -57,6 +57,7 @@
        id: null,
        remark: '',
        title: '',
        type:null,
        detail: '',
        imgurl: '',
        fullImgurl: '',
@@ -81,7 +82,7 @@
    })
  },
  methods: {
    open (title, target) {
    open (title, target,type) {
      this.title = title
      this.visible = true
      // æ–°å»º
@@ -92,6 +93,7 @@
            id: null,
            remark: '',
            title: '',
            type:type,
            detail: '',
            releaseDate: dayjs().format('YYYY-MM-DD HH:mm:ss'),
            imgurl: '',
admin/src/views/business/bottom.vue
@@ -56,6 +56,13 @@
                         @uploadSuccess="uploadAvatarSuccess"   />
        </div>
      </el-form-item>
      <el-form-item label="企业微信" prop="faceImgFull">
        <div class="upload_wrap">
          <UploadAvatarImage :file="{ 'imgurlfull': form.footFullImgUrl2, 'imgurl': form.footImgUrl2 }" :uploadData="uploadData"
                         @uploadSuccess="uploadAvatarSuccess2"   />
        </div>
      </el-form-item>
      <div style="margin:20px 0 50px 0">
        <span style="font-size: 15px; font-weight: bold">【2】解决方案:</span>
      </div>
@@ -121,7 +128,42 @@
        </div>
      </div>
      <el-form-item style="display: block">
        <el-button type="primary"   icon="el-icon-plus" @click="add2">添加指挥系统</el-button>
        <el-button type="primary"   icon="el-icon-plus" @click="add2">添加智慧系统</el-button>
      </el-form-item>
      <div style="margin: 100px 0 50px 0">
        <span style="font-size: 15px; font-weight: bold;">【4】荣誉资质:</span>
      </div>
      <div  v-for="(item1,index) in form.honors" :key="'荣誉资质'+index" style="display: flex">
        <div style="flex: 1;">
          <el-form-item label="标题:"  :required="true"   >
            <el-input
                style="width: 100%"
                type="text"
                v-model="item1.name"
                placeholder="请输入标题"
                v-trim
            />
          </el-form-item>
        </div>
        <div style="display: block;flex: 3">
          <el-form-item label="跳转地址:" style="display:inline-block;  width: 80%">
            <el-input
                style="width: 100%"
                type="text"
                v-model="item1.address"
                placeholder="请输入跳转地址"
                v-trim
            />
          </el-form-item>
          <el-form-item label-width="30px" style="display:inline-block;">
            <el-button type="danger" v-if="form.honors && form.honors.length >1"  icon="el-icon-delete" @click="del3(index)">删除</el-button>
          </el-form-item>
        </div>
        <div>
        </div>
      </div>
      <el-form-item style="display: block">
        <el-button type="primary"   icon="el-icon-plus" @click="add3">添加荣誉资质</el-button>
      </el-form-item>
        <el-form-item style="margin-top: 100px;width: 100%;text-align: center">
          <el-button type="primary" style="width: 300px"  :loading="working" @click="submit">保存配置项</el-button>
@@ -147,11 +189,14 @@
        address: null,
        footImgUrl: 0,
        footFullImgUrl: 0,
        footImgUrl2: 0,
        footFullImgUrl2: 0,
        footWords: 0,
        linkMobile: 0,
        linkPhone: 0,
        serverTime: '',
        solveScheme: [{ name: '', address: '' }],
        honors: [{ name: '', address: '' }],
        wisdomSystem: [{ name: '', address: '' }]
      }
    }
@@ -171,6 +216,15 @@
    add1 () {
      this.form.solveScheme.push({ name: '', address: '' })
    },
    del3 (index) {
      if (this.form.honors.length == 1) {
        return
      }
      this.form.honors.splice(index)
    },
    add3 () {
      this.form.honors.push({ name: '', address: '' })
    },
    del2 (index) {
      if (this.form.wisdomSystem.length == 1) {
        return
@@ -187,12 +241,15 @@
            this.form.address = res.address
            this.form.footImgUrl = res.footImgUrl
            this.form.footFullImgUrl = res.footFullImgUrl
            this.form.footImgUrl2 = res.footImgUrl2
            this.form.footFullImgUrl2 = res.footFullImgUrl2
            this.form.footWords = res.footWords
            this.form.linkMobile = res.linkMobile
            this.form.linkPhone = res.linkPhone
            this.form.serverTime = res.serverTime
            this.form.solveScheme = res.solveScheme || [{ name: '', address: '' }]
            this.form.wisdomSystem = res.wisdomSystem || [{ name: '', address: '' }]
            this.form.honors = res.honors || [{ name: '', address: '' }]
          }
        })
    },
@@ -202,6 +259,10 @@
      this.form.footImgUrl = file.imgurl
      this.form.footFullImgUrl = file.imgurlfull
    },
    uploadAvatarSuccess2(file) {
      this.form.footImgUrl2 = file.imgurl
      this.form.footFullImgUrl2 = file.imgurlfull
    },
    submit () {
      console.log(this.form)
      this.$refs.form.validate((valid) => {
admin/src/views/business/information.vue
@@ -19,7 +19,7 @@
    <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:information:create', 'business:information:delete']">
        <li><el-button type="primary" @click="$refs.operaInformationWindow.open('新建动态资讯')" icon="el-icon-plus" v-permissions="['business:information:create']">新建</el-button></li>
        <li><el-button type="primary" @click="$refs.operaInformationWindow.open('新建动态资讯',null,searchForm.type)" icon="el-icon-plus" v-permissions="['business:information:create']">新建</el-button></li>
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:information:delete']">删除</el-button></li>
      </ul>
      <el-table
@@ -64,7 +64,7 @@
            fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text" @click="$refs.operaInformationWindow.open('编辑动态资讯', row)" icon="el-icon-edit" v-permissions="['business:information:update']">编辑</el-button>
            <el-button type="text" @click="$refs.operaInformationWindow.open('编辑动态资讯', row,searchForm.type)" icon="el-icon-edit" v-permissions="['business:information:update']">编辑</el-button>
            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:information:delete']">删除</el-button>
          </template>
        </el-table-column>
@@ -113,6 +113,7 @@
      showContent: '',
      showTitle: '',
      searchForm: {
        type:0,
        title: '',
        status: null
      }
admin/src/views/business/informationCase.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,172 @@
<template>
  <TableLayout :permissions="['business:information:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="标题" prop="title">
        <el-input v-model="searchForm.title" clearable placeholder="请输入标题" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="状态" prop="status">
        <el-select v-model="searchForm.status" clearable @change="search" placeholder="状态">
          <el-option label="正常" value="0"></el-option>
          <el-option label="禁用" value="1"></el-option>
        </el-select>
      </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:information:create', 'business:information:delete']">
        <li><el-button type="primary" @click="$refs.operaInformationWindow.open('新建客户案例',null,searchForm.type)" icon="el-icon-plus" v-permissions="['business:information:create']">新建</el-button></li>
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:information:delete']">删除</el-button></li>
      </ul>
      <el-table
          :height="tableHeightNew"
          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="title" label="标题" min-width="150px"></el-table-column>
        <el-table-column prop="releaseDate" label="发布时间" min-width="150px"></el-table-column>
        <el-table-column prop="imgurl" label="列表图" min-width="100px">
          <template slot-scope="{row}">
            <el-image v-if="row.fullImgurl" style="width: 60px; height: 60px" :src="row.fullImgurl"
                      :preview-src-list="[row.fullImgurl]">
            </el-image>
          </template>
        </el-table-column>
        <el-table-column prop="detail" label="简介" min-width="200px"></el-table-column>
        <el-table-column prop="jumpType" label="内容" align="center" min-width="150px">
          <template slot-scope="{row}">
            <span v-if=  "row.content!=null && row.content!=''"><el-button @click="showContentDo(row)" >查看内容</el-button></span>
            <span v-else>-</span>
          </template>
        </el-table-column>
        <el-table-column prop="status" label="状态" min-width="100px">
          <template slot-scope="{row}">
            <el-switch @change="changeStatus($event, row)" v-model="row.status" active-color="#13ce66"
                       inactive-color="#ff4949" :active-value="0" :inactive-value="1">
            </el-switch>
          </template>
        </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="createDate" label="创建时间" min-width="150px"></el-table-column>
        <el-table-column prop="editDate" label="更新时间" min-width="150px"></el-table-column>
        <el-table-column
            v-if="containPermissions(['business:information:update', 'business:information:delete'])"
            label="操作"
            min-width="120"
            fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text" @click="$refs.operaInformationWindow.open('编辑客户案例', row,searchForm.type)" icon="el-icon-edit" v-permissions="['business:information:update']">编辑</el-button>
            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:information:delete']">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
      <pagination
          @size-change="handleSizeChange"
          @current-change="handlePageChange"
          :pagination="tableData.pagination"
      >
      </pagination>
    </template>
    <!-- æ–°å»º/修改 -->
    <OperaInformationWindow ref="operaInformationWindow" @success="handlePageChange"/>
    <el-dialog
        class="center-title"
        :title="showTitle||'显示内容'"
        width="70%"
        height="70%"
        text="内容"
        :visible.sync="visible1"
        append-to-body
    >
      <div class="agree-list"  v-html="showContent">
      </div>
      <template  v-slot:footer>
        <el-button @click="visible1=false">返回</el-button>
      </template>
    </el-dialog>
  </TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaInformationWindow from '@/components/business/OperaInformationWindow'
export default {
  name: 'Information',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaInformationWindow },
  data () {
    return {
      // æœç´¢
      visible1: false,
      showContent: '',
      showTitle: '',
      searchForm: {
        type: 1,
        title: '',
        status: null
      }
    }
  },
  created () {
    this.config({
      module: '客户案例',
      api: '/business/information',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
  },
  methods: {
    showContentDo (row) {
      this.showTitle = row.showTitle
      this.showContent = row.content
      this.visible1 = true
    },
    changeStatus (e, row) {
      this.canvisiting = true
      this.api.updateStatus({ id: row.id, status: e })
        .then(res => {
          this.$tip.apiSuccess(res || '操作成功')
          this.search()
        })
        .catch(e => {
          this.$tip.apiFailed(e)
        })
        .finally(() => {
          this.canvisiting = false
        })
        .catch(() => { })
    }
  }
}
</script>
<style scoped lang="scss">
.agree-list{
  height: 550px;
  //max-height: 50%;
  overflow: auto;
}
/deep/ .window__body {
  .table-content {
    padding: 0;
    .table-wrap {
      padding-top: 0;
    }
  }
}
</style>
server/pom.xml
@@ -47,18 +47,12 @@
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    <!--  <exclusions>
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
      </exclusions> -->
    </dependency>
    <dependency>
   <!-- <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <scope>provided</scope>
    </dependency>
    </dependency>-->
    <!-- Redis -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
@@ -261,6 +255,7 @@
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.1.0</version>
        <configuration>
          <delimiters>
            <delimiter>@</delimiter>
server/src/main/java/com/doumee/ContextFinalizer.java
ÎļþÒÑɾ³ý
server/src/main/java/com/doumee/OfficialWebsiteApplication.java
@@ -3,6 +3,7 @@
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@@ -18,6 +19,7 @@
@SpringBootApplication
@MapperScan("com.doumee.dao")
@EnableAsync
@EnableAutoConfiguration
public class OfficialWebsiteApplication extends SpringBootServletInitializer {
    public static void main(String[] args) {
        ApplicationContext context = SpringApplication.run(OfficialWebsiteApplication.class);
server/src/main/java/com/doumee/config/quartz/JobHandler.java
@@ -15,7 +15,7 @@
 * @since 2025/03/31 16:44
 */
@Slf4j
@Component
//@Component
public class JobHandler extends QuartzJobBean {
    @Autowired
server/src/main/java/com/doumee/config/quartz/JobHandlerWithDisallowConcurrent.java
@@ -16,8 +16,8 @@
 * @since 2025/03/31 16:44
 */
@Slf4j
@Component
@DisallowConcurrentExecution
//@Component
//@DisallowConcurrentExecution
public class JobHandlerWithDisallowConcurrent extends QuartzJobBean {
    @Autowired
server/src/main/java/com/doumee/config/quartz/JobInitializer.java
@@ -21,8 +21,25 @@
 * @since 2025/03/31 16:44
 */
@Slf4j
@Component
public class JobInitializer {
//@Component
public class
JobInitializer {
    @Autowired
    private SystemJobService systemJobService;
server/src/main/java/com/doumee/config/quartz/SnippetScanner.java
@@ -24,8 +24,8 @@
 * @since 2025/03/31 16:44
 */
@Slf4j
@Component
@DisallowConcurrentExecution
//@Component
//@DisallowConcurrentExecution
public class SnippetScanner extends QuartzJobBean {
    @Autowired
server/src/main/java/com/doumee/config/quartz/SnippetScannerConfig.java
@@ -9,7 +9,7 @@
 * @author  dm
 * @since 2025/03/31 16:44
 */
@Configuration
//@Configuration
public class SnippetScannerConfig {
    @Bean
server/src/main/java/com/doumee/core/constants/Constants.java
@@ -34,12 +34,14 @@
    public static final String IMG_DIR = "IMG_DIR";
    public static final String FILE_DIR ="FILE_DIR" ;
    public static final String FOOT_IMGURL ="FOOT_IMGURL" ;
    public static final String FOOT_IMGURL2 ="FOOT_IMGURL2" ;
    public static final String LINK_PHONE ="LINK_PHONE" ;
    public static final String LINK_MOBILE ="LINK_MOBILE" ;
    public static final String SERVER_TIME ="SERVER_TIME" ;
    public static final String ADDRESS ="ADDRESS" ;
    public static final String SOLVE_SCHEME ="SOLVE_SCHEME" ;
    public static final String WISDOM_SYSTEM ="WISDOM_SYSTEM" ;
    public static final String HONORS ="HONORS" ;
    public static final String FOOT_WORDS ="FOOT_WORDS" ;
server/src/main/java/com/doumee/core/utils/qiyeweixin/QywxUtil.java
ÎļþÒÑɾ³ý
server/src/main/java/com/doumee/dao/business/model/Information.java
@@ -73,6 +73,9 @@
    @ApiModelProperty(value = "排序码", example = "1")
    @ExcelColumn(name="排序码")
    private Integer sortnum;
    @ApiModelProperty(value = "类型:0咨询 1案例;", example = "1")
    @ExcelColumn(name="类型:0咨询 1案例")
    private Integer type;
    @ApiModelProperty(value = "状态 0正常 1禁用", example = "1")
server/src/main/java/com/doumee/dao/dto/FootDataDTO.java
@@ -36,6 +36,8 @@
    @ApiModelProperty(value = "智慧系统([{\"name\":\"智慧系统一\",\"address\":\"跳转地址一\"},{\"name\":\"智慧系统二\",\"address\":\"跳转地址二\"}])")
    private JSONArray wisdomSystem;
    @ApiModelProperty(value = "荣誉资质([{\"name\":\"荣誉资质一\",\"address\":\"跳转地址一\"},{\"name\":\"荣誉资质二\",\"address\":\"荣誉资质三\"}])")
    private JSONArray honors;
}
server/src/main/java/com/doumee/dao/system/model/SystemDictData.java
@@ -27,7 +27,6 @@
    private Integer id;
    @ApiModelProperty(value = "所属字典", example = "1")
    @NotNull(message = "所属字典不能为空", groups = {Constants.OperaType.Create.class, Constants.OperaType.Update.class})
    private Integer dictId;
    @ApiModelProperty(value = "数据值")
server/src/main/java/com/doumee/dao/vo/FootDataVO.java
@@ -20,6 +20,11 @@
    @ApiModelProperty(value = "foot二维码全路径")
    private String footFullImgUrl;
    @ApiModelProperty(value = "foot二维码2")
    private String footImgUrl2;
    @ApiModelProperty(value = "foot二维码全路径2")
    private String footFullImgUrl2;
    @ApiModelProperty(value = "foot文案")
    private String footWords;
@@ -41,6 +46,7 @@
    @ApiModelProperty(value = "智慧系统([{\"name\":\"智慧系统一\",\"address\":\"跳转地址一\"},{\"name\":\"智慧系统二\",\"address\":\"跳转地址二\"}])")
    private JSONArray wisdomSystem;
    @ApiModelProperty(value = "荣誉资质([{\"name\":\"荣誉资质一\",\"address\":\"跳转地址一\"},{\"name\":\"荣誉资质二\",\"address\":\"荣誉资质三\"}])")
    private JSONArray honors;
}
server/src/main/java/com/doumee/service/business/impl/CarouselServiceImpl.java
@@ -231,10 +231,14 @@
    @Override
    public FootDataVO getFoodDataVO(){
        FootDataVO footDataVO = new FootDataVO();
        String path =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode();
        footDataVO.setFootWords(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FOOT_WORDS).getCode());
        footDataVO.setFootImgUrl(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FOOT_IMGURL).getCode());
        footDataVO.setFootFullImgUrl(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode() +
                systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FOOT_IMGURL).getCode());
        footDataVO.setFootFullImgUrl(path+
                footDataVO.getFootImgUrl());
        footDataVO.setFootImgUrl2(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FOOT_IMGURL2).getCode());
        footDataVO.setFootFullImgUrl2(path +
                footDataVO.getFootImgUrl2());
        footDataVO.setAddress(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ADDRESS).getCode());
        footDataVO.setLinkPhone(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.LINK_PHONE).getCode());
        footDataVO.setLinkMobile(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.LINK_MOBILE).getCode());
@@ -245,6 +249,10 @@
        SystemDictData wisdomSystem = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.WISDOM_SYSTEM);
        if(Objects.nonNull(wisdomSystem) & org.apache.commons.lang3.StringUtils.isNotBlank(wisdomSystem.getCode())){
            footDataVO.setWisdomSystem(JSONArray.parseArray(wisdomSystem.getCode()));
        }
        SystemDictData honors = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.HONORS);
        if(Objects.nonNull(wisdomSystem) & org.apache.commons.lang3.StringUtils.isNotBlank(honors.getCode())){
            footDataVO.setHonors(JSONArray.parseArray(honors.getCode()));
        }
        footDataVO.setServerTime(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SERVER_TIME).getCode());
        return footDataVO;
@@ -303,6 +311,11 @@
            wisdomSystem.setCode(footDataDTO.getWisdomSystem().toString());
            systemDictDataBiz.updateById(wisdomSystem);
        }
        SystemDictData honors = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.HONORS);
        if (Objects.nonNull(wisdomSystem)&&Objects.nonNull(footDataDTO.getHonors())) {
            wisdomSystem.setCode(footDataDTO.getHonors().toString());
            systemDictDataBiz.updateById(wisdomSystem);
        }
    }
server/src/main/java/com/doumee/service/business/impl/InformationServiceImpl.java
@@ -53,6 +53,7 @@
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        information.setType(Constants.formatIntegerNum(information.getType()));
        information.setIsdeleted(Constants.ZERO);
        information.setCreateDate(new Date());
        information.setCreator(user.getId());
@@ -139,6 +140,7 @@
        queryWrapper.lambda()
                .eq(Information::getIsdeleted,Constants.ZERO)
                .eq(pageWrap.getModel().getId() != null, Information::getId, pageWrap.getModel().getId())
                .eq(pageWrap.getModel().getType() != null, Information::getType, pageWrap.getModel().getType())
                .eq(pageWrap.getModel().getStatus() != null, Information::getStatus, pageWrap.getModel().getStatus())
                .eq(pageWrap.getModel().getRemark() != null, Information::getRemark, pageWrap.getModel().getRemark())
                .like(pageWrap.getModel().getTitle() != null, Information::getTitle, pageWrap.getModel().getTitle())
@@ -179,8 +181,7 @@
                || Objects.isNull(information.getStatus())
                || Objects.isNull(information.getId())
                || !(Constants.equalsInteger(information.getStatus(),Constants.ZERO)
                || Constants.equalsInteger(information.getStatus(),Constants.ONE))
        ){
                || Constants.equalsInteger(information.getStatus(),Constants.ONE))){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        informationMapper.update(new UpdateWrapper<Information>().lambda().set(Information::getStatus,information.getStatus()).eq(Information::getId,information.getId()));
server/src/main/resources/application-pro.yml
@@ -56,6 +56,3 @@
upload:
  type: blob
qiwei:
  serviceurl: https://wecom-qyapi.unilever-china.com/
server/src/main/resources/application.yml
@@ -9,7 +9,7 @@
spring:
  profiles:
    active: dev
    active: pro
  # JSON返回配置
  jackson:
    # é»˜è®¤æ—¶åŒº