jiangping
2025-07-15 f8a4a4306824bf9874a4333e12a0307555ffbb08
前端
已添加1个文件
已删除1个文件
已修改10个文件
606 ■■■■ 文件已修改
admin/src/api/business/category.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaCategoryWindow.vue 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaIdentityDetailWindow.vue 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/common/UploadFaceImg.vue 206 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/category.vue 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/categoryCar.vue 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/member.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/admin/src/main/java/com/doumee/api/business/CategoryController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/CategoryMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/Category.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/business/category.js
@@ -11,6 +11,9 @@
export function create (data) {
  return request.post('/business/category/create', data)
}
export function updateStatus (data) {
  return request.post('/business/category/updateStatus', data)
}
// ä¿®æ”¹
export function updateById (data) {
admin/src/components/business/OperaCategoryWindow.vue
@@ -6,41 +6,27 @@
    @confirm="confirm"
  >
    <el-form :model="form" ref="form" :rules="rules">
      <el-form-item label="是否已删除 0未删除 1已删除" prop="deleted">
        <el-input v-model="form.deleted" placeholder="请输入是否已删除 0未删除 1已删除" v-trim/>
      <el-form-item label="名称" prop="name">
        <el-input v-model="form.name" placeholder="请输入名称" 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 v-if="form.type == 1 || form.type == 2" :label=" form.type == 1?'车辆规格':'餐标配置'" prop="detailList">
        <el-input v-model="form.detailList" placeholder="请输入内容" v-trim/>
      </el-form-item>
      <el-form-item label="创建人编码" prop="createUser">
        <el-input v-model="form.createUser" placeholder="请输入创建人编码" v-trim/>
      <el-form-item v-if="form.type == 1" label="图标" prop="icon">
        <UploadAvatarImage
            :file="{ imgurlfull: form.iconFull, imgurl: form.icon }"
            :uploadData="uploadData"
            @uploadSuccess="uploadAvatarSuccess"
        />
      </el-form-item>
      <el-form-item label="创建时间" prop="createTime">
        <el-date-picker v-model="form.createTime" value-format="yyyy-MM-dd" placeholder="请输入创建时间"></el-date-picker>
      <el-form-item  v-if="form.type == 1"  label="是否固定车辆" prop="isFixed">
        <el-radio-group v-model="form.isFixed">
          <el-radio :label="0">非固定</el-radio>
          <el-radio :label="1">固定车型</el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item label="更新人编码" prop="updateUser">
        <el-input v-model="form.updateUser" placeholder="请输入更新人编码" v-trim/>
      </el-form-item>
      <el-form-item label="更新时间" prop="updateTime">
        <el-date-picker v-model="form.updateTime" value-format="yyyy-MM-dd" placeholder="请输入更新时间"></el-date-picker>
      </el-form-item>
      <el-form-item label="备注" prop="remark">
        <el-input v-model="form.remark" placeholder="请输入备注" v-trim/>
      </el-form-item>
      <el-form-item label="单位名称" prop="name">
        <el-input v-model="form.name" placeholder="请输入单位名称" v-trim/>
      </el-form-item>
      <el-form-item label="类型:0=品种配置;1=车辆类型配置;2=餐标配置;3=手续费配置;" prop="type">
        <el-input v-model="form.type" placeholder="请输入类型:0=品种配置;1=车辆类型配置;2=餐标配置;3=手续费配置;" v-trim/>
      </el-form-item>
      <el-form-item label="内容(车辆规格、餐标、手续费比例)" prop="detail">
        <el-input v-model="form.detail" placeholder="请输入内容(车辆规格、餐标、手续费比例)" v-trim/>
      </el-form-item>
      <el-form-item label="图标(车辆类型使用)" prop="icon">
        <el-input v-model="form.icon" placeholder="请输入图标(车辆类型使用)" v-trim/>
      </el-form-item>
      <el-form-item label="是否固定车辆(车辆类型使用):0=否;1=是;" prop="isFixed">
        <el-input v-model="form.isFixed" placeholder="请输入是否固定车辆(车辆类型使用):0=否;1=是;" v-trim/>
      <el-form-item label="排序码" prop="sortnum">
        <el-input v-model="form.sortnum" placeholder="请输入排序码" v-trim/>
      </el-form-item>
    </el-form>
  </GlobalWindow>
@@ -49,27 +35,27 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import UploadAvatarImage from '@/components/common/UploadAvatarImage'
export default {
  name: 'OperaCategoryWindow',
  extends: BaseOpera,
  components: { GlobalWindow },
  components: { GlobalWindow ,UploadAvatarImage},
  data () {
    return {
      isUploading: false,
      uploadData: {
        folder: 'category'
      },
      // è¡¨å•数据
      form: {
        id: null,
        deleted: '',
        status: '',
        createUser: '',
        createTime: '',
        updateUser: '',
        updateTime: '',
        remark: '',
        status: 0,
        sortnum: null,
        name: '',
        type: '',
        detail: '',
        type: null,
        detailList: [],
        icon: '',
        isFixed: ''
        isFixed: 0
      },
      // éªŒè¯è§„则
      rules: {
@@ -81,6 +67,41 @@
      api: '/business/category',
      'field.id': 'id'
    })
  },
  methods:{
    uploadAvatarSuccess (file) {
      this.$set(this.param, 'icon', file.imgurl)
      this.$set(this.param, 'iconFull', file.imgurlfull)
    },
    open(title, target, type) {
      this.title = title
      this.visible = true
      this.form = {
        id: null,
        status: 0,
        sortnum: null,
        name: '',
        type: type,
        detailList: [],
        icon: '',
        isFixed: 0
      }
      // æ–°å»º
      if (target == null) {
        this.$nextTick(() => {
          this.$refs.form.resetFields()
          this.form[this.configData['field.id']] = null
          this.form.type = type
        })
        return
      }
      // ç¼–辑
      this.$nextTick(() => {
        for (const key in this.form) {
          this.form[key] = target[key]
        }
      })
    }
  }
}
</script>
admin/src/components/business/OperaIdentityDetailWindow.vue
@@ -80,8 +80,8 @@
            <el-input  type="textarea" rows="5" v-model="form.auditRemark" placeholder="请输入认证审核备注" v-trim/>
          </el-form-item>
        </el-form>
        <el-button @click="checkDo(2)" type="primary" class="status-red">同意</el-button>
        <el-button  @click="checkDo(3)" type="danger" >拒绝</el-button>
        <el-button @click="checkDo(2)" :loading="dealing" type="primary" class="status-red">同意</el-button>
        <el-button  @click="checkDo(3)" :loading="dealing" type="danger" >拒绝</el-button>
      </div>
    </div>
  </GlobalWindow>
@@ -99,6 +99,7 @@
  extends: BaseOpera,
  data () {
    return {
      dealing: false,
      form: {
        id: null,
        auditRemark: null
@@ -135,25 +136,11 @@
    open (title, row) {
      this.title = title
      this.visible = true
      this.activeTabs = 0
      this.type = 0
      this.page0 = 1
      this.pageSize = 10
      this.tableData = {}
      this.tableData1 = {}
      this.tableData2 = []
      this.id = row.id
      this.form.id = this.id
      this.form.auditRemark =null
      this.memberId = row.memberId
      this.searchForm = {
        type: 0,
        startTime: null,
        endTime: null,
        optType: null,
        acceptMemberId: -1,
        releaseMemberId: -1,
        transactionNo: null
      }
      this.getData()
    },
    getData () {
@@ -182,9 +169,12 @@
              auditRemark: this.form.auditRemark
            })
              .then(res => {
                this.$tip.apiSuccess('处理成功')
                this.$tip.apiSuccess('操作成功')
                this.getData()
                this.isShowProblem = false
                this.$emit('success')
              })
              .catch(e => {
                this.$tip.apiFailed(e)
              })
              .finally(() => {
                this.dealing = false
admin/src/components/common/UploadFaceImg.vue
ÎļþÒÑɾ³ý
admin/src/views/business/category.vue
@@ -13,7 +13,7 @@
    <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:category:create', 'business:category:delete']">
        <li><el-button type="primary" @click="$refs.operaCategoryWindow.open('新建分类信息表')" icon="el-icon-plus" v-permissions="['business:category:create']">新建</el-button></li>
        <li><el-button type="primary" @click="$refs.operaCategoryWindow.open('新建品种配置',null,searchForm.type)" icon="el-icon-plus" v-permissions="['business:category:create']">新建</el-button></li>
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:category:delete']">删除</el-button></li>
      </ul>
      <el-table
@@ -24,19 +24,17 @@
        @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="deleted" label="是否已删除 0未删除 1已删除" min-width="100px"></el-table-column>
        <el-table-column prop="status" label="状态:0=启用;1=禁用;" min-width="100px"></el-table-column>
        <el-table-column prop="createUser" label="创建人编码" min-width="100px"></el-table-column>
        <el-table-column prop="createTime" label="创建时间" min-width="100px"></el-table-column>
        <el-table-column prop="updateUser" label="更新人编码" min-width="100px"></el-table-column>
        <el-table-column prop="updateTime" label="更新时间" min-width="100px"></el-table-column>
        <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column>
        <el-table-column prop="name" label="单位名称" min-width="100px"></el-table-column>
        <el-table-column prop="type" label="类型:0=品种配置;1=车辆类型配置;2=餐标配置;3=手续费配置;" min-width="100px"></el-table-column>
        <el-table-column prop="detail" label="内容(车辆规格、餐标、手续费比例)" min-width="100px"></el-table-column>
        <el-table-column prop="icon" label="图标(车辆类型使用)" min-width="100px"></el-table-column>
        <el-table-column prop="isFixed" label="是否固定车辆(车辆类型使用):0=否;1=是;" min-width="100px"></el-table-column>
        <el-table-column label="状态">
          <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="sortnum" label="排序码" min-width="100px"></el-table-column>
        <el-table-column prop="updateUserName" label="操作人" min-width="100px"></el-table-column>
        <el-table-column prop="updateTime" label="最近操作时间" min-width="150px"></el-table-column>
        <el-table-column
          v-if="containPermissions(['business:category:update', 'business:category:delete'])"
          label="操作"
@@ -44,7 +42,7 @@
          fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text" @click="$refs.operaCategoryWindow.open('编辑分类信息表', row)" icon="el-icon-edit" v-permissions="['business:category:update']">编辑</el-button>
            <el-button type="text" @click="$refs.operaCategoryWindow.open('编辑新建品种配置', row,searchForm.type)" icon="el-icon-edit" v-permissions="['business:category:update']">编辑</el-button>
            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:category:delete']">删除</el-button>
          </template>
        </el-table-column>
@@ -74,19 +72,8 @@
    return {
      // æœç´¢
      searchForm: {
        id: '',
        deleted: '',
        status: '',
        createUser: '',
        createTime: '',
        updateUser: '',
        updateTime: '',
        remark: '',
        name: '',
        type: '',
        detail: '',
        icon: '',
        isFixed: ''
        type: 0
      }
    }
  },
@@ -98,6 +85,22 @@
      'field.main': 'id'
    })
    this.search()
  },
  methods: {
    changeStatus (e, row) {
      this.working = 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.working = false
        })
    }
  }
}
</script>
admin/src/views/business/categoryCar.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,106 @@
<template>
  <TableLayout :permissions="['business:category: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:category:create', 'business:category:delete']">
        <li><el-button type="primary" @click="$refs.operaCategoryWindow.open('新建分类信息表')" icon="el-icon-plus" v-permissions="['business:category:create']">新建</el-button></li>
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:category: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="updateUser" label="更新人编码" min-width="100px"></el-table-column>
        <el-table-column prop="updateTime" label="更新时间" min-width="100px"></el-table-column>
        <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column>
        <el-table-column prop="name" label="单位名称" min-width="100px"></el-table-column>
        <el-table-column label="状态">
          <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="type" label="类型:0=品种配置;1=车辆类型配置;2=餐标配置;3=手续费配置;" min-width="100px"></el-table-column>
        <el-table-column prop="detail" label="内容(车辆规格、餐标、手续费比例)" min-width="100px"></el-table-column>
        <el-table-column prop="icon" label="图标(车辆类型使用)" min-width="100px"></el-table-column>
        <el-table-column prop="isFixed" label="是否固定车辆(车辆类型使用):0=否;1=是;" min-width="100px">
        </el-table-column>
        <el-table-column
          v-if="containPermissions(['business:category:update', 'business:category:delete'])"
          label="操作"
          min-width="120"
          fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text" @click="$refs.operaCategoryWindow.open('编辑分类信息表', row)" icon="el-icon-edit" v-permissions="['business:category:update']">编辑</el-button>
            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:category:delete']">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
      <pagination
        @size-change="handleSizeChange"
        @current-change="handlePageChange"
        :pagination="tableData.pagination"
      >
      </pagination>
    </template>
    <!-- æ–°å»º/修改 -->
    <OperaCategoryWindow ref="operaCategoryWindow" @success="handlePageChange"/>
  </TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaCategoryWindow from '@/components/business/OperaCategoryWindow'
export default {
  name: 'Category',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaCategoryWindow },
  data () {
    return {
      // æœç´¢
      searchForm: {
        id: '',
        deleted: '',
        status: '',
        createUser: '',
        createTime: '',
        updateUser: '',
        updateTime: '',
        remark: '',
        name: '',
        type: '',
        detail: '',
        icon: '',
        isFixed: ''
      }
    }
  },
  created () {
    this.config({
      module: '分类信息表',
      api: '/business/category',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
  }
}
</script>
admin/src/views/business/member.vue
@@ -14,13 +14,12 @@
            <el-option :value="1" label="接单方"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="状态" prop="status">
<!--      <el-form-item label="状态" prop="status">
        <el-select v-model="searchForm.status"  @keypress.enter.native="search" clearable placeholder="状态">
          <el-option label="启用" value="0"></el-option>
          <el-option label="禁用" value="1"></el-option>
        </el-select>
      </el-form-item>
      </el-form-item>-->
      <el-form-item label="注册时间" prop="eventType">
        <el-date-picker type="datetime" style="width: 120px" v-model="searchForm.startTime" clearable value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="开始时间" />-
@@ -70,13 +69,13 @@
              {{row.autoReciveStatus ==1?"是":"否"}}
            </template>
        </el-table-column>
        <el-table-column label="状态">
<!--        <el-table-column label="状态">
          <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>-->
      <el-table-column
              v-if="containPermissions(['business:member:update', 'business:member:delete'])"
              label="操作"
server/admin/src/main/java/com/doumee/api/business/CategoryController.java
@@ -3,15 +3,18 @@
import com.doumee.api.BaseController;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.constants.Constants;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.Category;
import com.doumee.dao.system.model.SystemJob;
import com.doumee.service.business.CategoryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -45,6 +48,13 @@
        categoryService.deleteById(id);
        return ApiResponse.success(null);
    }
    @ApiOperation("修改状态")
    @PostMapping("/updateStatus")
    @RequiresPermissions("system:category:update")
    public ApiResponse updateStatus( @RequestBody Category param) {
        categoryService.updateById(param);
        return ApiResponse.success(null);
    }
    @ApiOperation("批量删除")
    @GetMapping("/delete/batch")
server/services/src/main/java/com/doumee/dao/business/CategoryMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.Category;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2025/07/09 12:00
 */
public interface CategoryMapper extends BaseMapper<Category> {
public interface CategoryMapper extends MPJBaseMapper<Category> {
}
server/services/src/main/java/com/doumee/dao/business/model/Category.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -9,6 +10,7 @@
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import java.util.List;
/**
 * åˆ†ç±»ä¿¡æ¯è¡¨
@@ -69,9 +71,18 @@
    @ApiModelProperty(value = "图标(车辆类型使用)")
    @ExcelColumn(name="图标(车辆类型使用)")
    private String icon;
    @ApiModelProperty(value = "排序码(升序)")
    @ExcelColumn(name="排序码(升序)")
    private Integer sortnum;
    @ApiModelProperty(value = "是否固定车辆(车辆类型使用):0=否;1=是;", example = "1")
    @ExcelColumn(name="是否固定车辆(车辆类型使用):0=否;1=是;")
    private Integer isFixed;
    @ApiModelProperty(value = "是否固定车辆(车辆类型使用):0=否;1=是;", example = "1")
    @TableField(exist = false)
    private String updateUserName;
    @ApiModelProperty(value = "餐标等配置项集合", example = "1")
    @TableField(exist = false)
    private List<String> detailList;
}
server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -1,15 +1,20 @@
package com.doumee.service.business.impl;
import com.doumee.core.constants.Constants;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.CategoryMapper;
import com.doumee.dao.business.model.Category;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.CategoryService;
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.base.MPJBaseMapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -87,57 +92,55 @@
    @Override
    public PageData<Category> findPage(PageWrap<Category> pageWrap) {
        IPage<Category> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<Category> queryWrapper = new QueryWrapper<>();
        MPJLambdaWrapper<Category> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        pageWrap.getModel().setDeleted(Constants.ZERO);
        queryWrapper.selectAll(Category.class)
                .selectAs(SystemUser::getUsername, Category::getUpdateUserName)
                .leftJoin(SystemUser.class,SystemUser::getId,Category::getUpdateUser);
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(Category::getId, pageWrap.getModel().getId());
            queryWrapper.eq(Category::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getDeleted() != null) {
            queryWrapper.lambda().eq(Category::getDeleted, pageWrap.getModel().getDeleted());
            queryWrapper.eq(Category::getDeleted, pageWrap.getModel().getDeleted());
        }
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.lambda().eq(Category::getStatus, pageWrap.getModel().getStatus());
            queryWrapper.eq(Category::getStatus, pageWrap.getModel().getStatus());
        }
        if (pageWrap.getModel().getCreateUser() != null) {
            queryWrapper.lambda().eq(Category::getCreateUser, pageWrap.getModel().getCreateUser());
            queryWrapper.eq(Category::getCreateUser, pageWrap.getModel().getCreateUser());
        }
        if (pageWrap.getModel().getCreateTime() != null) {
            queryWrapper.lambda().ge(Category::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime()));
            queryWrapper.lambda().le(Category::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime()));
            queryWrapper.ge(Category::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime()));
            queryWrapper.le(Category::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime()));
        }
        if (pageWrap.getModel().getUpdateUser() != null) {
            queryWrapper.lambda().eq(Category::getUpdateUser, pageWrap.getModel().getUpdateUser());
            queryWrapper.eq(Category::getUpdateUser, pageWrap.getModel().getUpdateUser());
        }
        if (pageWrap.getModel().getUpdateTime() != null) {
            queryWrapper.lambda().ge(Category::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime()));
            queryWrapper.lambda().le(Category::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()));
            queryWrapper.ge(Category::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime()));
            queryWrapper.le(Category::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()));
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(Category::getRemark, pageWrap.getModel().getRemark());
            queryWrapper.eq(Category::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getName() != null) {
            queryWrapper.lambda().eq(Category::getName, pageWrap.getModel().getName());
            queryWrapper.like(Category::getName, pageWrap.getModel().getName());
        }
        if (pageWrap.getModel().getType() != null) {
            queryWrapper.lambda().eq(Category::getType, pageWrap.getModel().getType());
            queryWrapper.eq(Category::getType, pageWrap.getModel().getType());
        }
        if (pageWrap.getModel().getDetail() != null) {
            queryWrapper.lambda().eq(Category::getDetail, pageWrap.getModel().getDetail());
            queryWrapper.eq(Category::getDetail, pageWrap.getModel().getDetail());
        }
        if (pageWrap.getModel().getIcon() != null) {
            queryWrapper.lambda().eq(Category::getIcon, pageWrap.getModel().getIcon());
            queryWrapper.eq(Category::getIcon, pageWrap.getModel().getIcon());
        }
        if (pageWrap.getModel().getIsFixed() != null) {
            queryWrapper.lambda().eq(Category::getIsFixed, pageWrap.getModel().getIsFixed());
            queryWrapper.eq(Category::getIsFixed, pageWrap.getModel().getIsFixed());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(categoryMapper.selectPage(page, queryWrapper));
        queryWrapper.orderByAsc(Category::getSortnum);
        return PageData.from(categoryMapper.selectJoinPage(page, Category.class,queryWrapper));
    }
    @Override
server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java
@@ -372,7 +372,9 @@
    public void audit(AuditDTO auditDTO){
        if(Objects.isNull(auditDTO)
        || Objects.isNull(auditDTO.getId())
        || Objects.isNull(auditDTO.getAuditStatus())){
            || Objects.isNull(auditDTO.getAuditStatus())
            ||  auditDTO.getAuditStatus()<2
            ||  auditDTO.getAuditStatus()>3){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
@@ -383,21 +385,22 @@
        if(!Constants.equalsInteger(identityInfo.getAuditStatus(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"已审批,请勿重复操作");
        }
        Date date = new Date();
        identityInfoMapper.update(new UpdateWrapper<IdentityInfo>().lambda()
                .set(IdentityInfo::getAuditStatus,Constants.equalsInteger(auditDTO.getAuditStatus(),Constants.ZERO)?Constants.TWO:Constants.THREE)
                .set(IdentityInfo::getAuditStatus, auditDTO.getAuditStatus() )
                .set(StringUtils.isNotBlank(auditDTO.getAuditRemark()),IdentityInfo::getAuditRemark,auditDTO.getAuditRemark())
                .set(IdentityInfo::getAuditTime,"now()")
                .set(IdentityInfo::getAuditTime,date)
                .set(IdentityInfo::getUpdateUser,user.getId())
                .set(IdentityInfo::getUpdateTime,"now()")
                .set(IdentityInfo::getUpdateTime,date)
                .eq(IdentityInfo::getId,identityInfo.getId())
        );
        memberMapper.update(new UpdateWrapper<Member>().lambda()
                .set(Member::getUpdateUser,user.getId())
                .set(Member::getUpdateTime,"now()")
                .set(Constants.equalsInteger(identityInfo.getType(),Constants.ZERO),Member::getWorkerIdentity,Constants.equalsInteger(auditDTO.getAuditStatus(),Constants.ZERO)?Constants.TWO:Constants.THREE)
                .set(Constants.equalsInteger(identityInfo.getType(),Constants.ONE),Member::getDriverIdentity,Constants.equalsInteger(auditDTO.getAuditStatus(),Constants.ZERO)?Constants.TWO:Constants.THREE)
                .set(Constants.equalsInteger(identityInfo.getType(),Constants.TWO),Member::getChefIdentity,Constants.equalsInteger(auditDTO.getAuditStatus(),Constants.ZERO)?Constants.TWO:Constants.THREE)
                .set(Member::getUpdateTime,date)
                .set(Constants.equalsInteger(identityInfo.getType(),Constants.ZERO),Member::getWorkerIdentity, auditDTO.getAuditStatus() )
                .set(Constants.equalsInteger(identityInfo.getType(),Constants.ONE),Member::getDriverIdentity , auditDTO.getAuditStatus() )
                .set(Constants.equalsInteger(identityInfo.getType(),Constants.TWO),Member::getChefIdentity , auditDTO.getAuditStatus() )
                .eq(Member::getId,identityInfo.getMemberId())
        );