doum
12 小时以前 075ca1b2dc3714d112327c66fdce959bb39984e2
经销商管理
已修改4个文件
57 ■■■■ 文件已修改
admin/src/views/business/memberCoupon.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/business/model/MemberCoupon.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/system/dto/PlatformConfigDTO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/memberCoupon.vue
@@ -2,34 +2,34 @@
  <TableLayout :permissions="['business:membercoupon:query']">
    <!-- 搜索表单 -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="用户" prop="memberName">
        <el-input v-model="searchForm.memberName" placeholder="请输入用户昵称/手机号" @keypress.enter.native="search"></el-input>
      <el-form-item label="用户" prop="nikeName">
        <el-input v-model="searchForm.nikeName" placeholder="请输入用户昵称/手机号 " clearable @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="优惠券名称" prop="name">
        <el-input v-model="searchForm.name" placeholder="请输入优惠券名称" @keypress.enter.native="search"></el-input>
        <el-input v-model="searchForm.name" placeholder="请输入优惠券名称" clearable @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="类型" prop="couponType">
          <el-select  v-model="searchForm.couponType"  placeholder="请选择类型"   >
          <el-select  v-model="searchForm.couponType"  placeholder="请选择类型"  clearable @change="search" >
            <el-option :key="0" :value="0" label="满减券"></el-option>
            <el-option :key="1" :value="1" label="折扣券"></el-option>
          </el-select>
      </el-form-item>
      <el-form-item label="状态" prop="status">
        <el-select  v-model="searchForm.status"  placeholder="状态"   >
        <el-select  v-model="searchForm.status"  placeholder="状态"  clearable @change="search" >
          <el-option  :value="0" label="未使用"></el-option>
          <el-option  :value="1" label="已使用"></el-option>
          <el-option  :value="2" label="已过期"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="发放类型" prop="getMethod">
        <el-select  v-model="searchForm.getMethod"  placeholder="发放类型"   >
        <el-select  v-model="searchForm.getMethod"  placeholder="发放类型"  clearable @change="search" >
          <el-option  :value="0" label="首次注册"></el-option>
          <el-option  :value="1" label="邀请好友"></el-option>
          <el-option  :value="2" label="定向发放"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="订单号" prop="orderCode">
        <el-input v-model="searchForm.orderCode" placeholder="请输入使用订单号" @keypress.enter.native="search"></el-input>
        <el-input v-model="searchForm.orderCode" placeholder="请输入使用订单号" clearable @keypress.enter.native="search"></el-input>
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
@@ -43,7 +43,7 @@
        :data="tableData.list"
        stripe
      >
        <el-table-column prop="memberName" label="用户" min-width="100px"></el-table-column>
        <el-table-column prop="nikeName" label="用户" min-width="100px"></el-table-column>
        <el-table-column prop="name" label="优惠券名称" min-width="100px"></el-table-column>
        <el-table-column prop="couponType" label="优惠券类型" min-width="100px">
          <template slot-scope="{row}">
@@ -63,7 +63,7 @@
            <li> 起:{{ row.startDate}}</li> <li>止:{{row.endDate }}</li>
          </template>
        </el-table-column>
        <el-table-column prop="price" label="优惠金额(元)" min-width="100px"></el-table-column>
        <el-table-column prop="price" label="优惠金额(元)" min-width="120px"></el-table-column>
        <el-table-column prop="status" label="状态" min-width="100px">
          <template slot-scope="{row}">
            <span v-if="row.status ===0" class="green"> 未使用</span>
@@ -98,7 +98,7 @@
    return {
      // 搜索
      searchForm: {
        memberName: '',
        nikeName: '',
        name: '',
        couponType: '',
        status: '',
server/dmmall_service/src/main/java/com/doumee/dao/business/model/MemberCoupon.java
@@ -130,6 +130,14 @@
    @ApiModelProperty(value = "昵称")
    @TableField(exist = false)
    private String nikeName;
    @ApiModelProperty(value = "关联订单号号")
    @TableField(exist = false)
    private String orderCode;
    @ApiModelProperty(value = "创建人")
    @TableField(exist = false)
    private String creatorName;
    @ApiModelProperty(value = "关联订单号")
    private String orderId;
    @ApiModelProperty(value = "实际适用时金额")
    @TableField(exist = false)
server/dmmall_service/src/main/java/com/doumee/dao/system/dto/PlatformConfigDTO.java
@@ -61,5 +61,4 @@
    @ApiModelProperty(value = "字典code")
    private String dictCode;
}
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java
@@ -11,6 +11,7 @@
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.*;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.web.dto.CouponDTO;
import com.doumee.dao.web.dto.MemberCouponDTO;
import com.doumee.dao.web.request.PayDetailRequest;
@@ -173,20 +174,38 @@
        IPage<MemberCoupon> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<MemberCoupon> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        queryWrapper.selectAll(MemberCoupon.class);
        queryWrapper.selectAs(Member::getNickname,MemberCoupon::getNikeName);
        queryWrapper.selectAs(Goodsorder::getCode,MemberCoupon::getOrderCode);
        queryWrapper.selectAs(SystemUser::getUsername,MemberCoupon::getCreatorName);
        queryWrapper.leftJoin(Member.class,Member::getId,MemberCoupon::getMemberId);
        queryWrapper.leftJoin(Goodsorder.class,Goodsorder::getId,MemberCoupon::getOrderId);
        queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,MemberCoupon::getCreator);
        queryWrapper.eq(MemberCoupon::getIsdeleted, Constants.ZERO);
        queryWrapper.eq(pageWrap.getModel().getStatus()!=null,MemberCoupon::getStatus, pageWrap.getModel().getStatus());
        if(pageWrap.getModel().getStatus()!=null && pageWrap.getModel().getStatus()!=2){
            queryWrapper.eq(pageWrap.getModel().getStatus()!=null,MemberCoupon::getStatus, pageWrap.getModel().getStatus());
        } else if (pageWrap.getModel().getStatus()!=null && pageWrap.getModel().getStatus()==2) {
            //查询已过期(未使用,切已过了使用期限)
            queryWrapper.eq( MemberCoupon::getStatus, Constants.ZERO);
            queryWrapper.lt( MemberCoupon::getEndDate, new Date());
        }
        queryWrapper.eq(pageWrap.getModel().getOrderCode()!=null,Goodsorder::getCode, pageWrap.getModel().getOrderCode());
        queryWrapper.eq(pageWrap.getModel().getGetMethod()!=null,MemberCoupon::getGetMethod, pageWrap.getModel().getGetMethod());
        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getNikeName()),ms -> ms.like( Member::getNickname,  pageWrap.getModel().getNikeName()).
                or().eq( Member::getName, pageWrap.getModel().getNikeName()).
                or().eq( Member::getPhone, pageWrap.getModel().getNikeName()));
        queryWrapper.orderByDesc(MemberCoupon::getCreateDate);
        IPage<MemberCoupon> result = memberCouponJoinMapper.selectJoinPage(page, MemberCoupon.class, queryWrapper);
        if(result!=null && result.getRecords()!=null){
            for(MemberCoupon model :result.getRecords()){
                if(Constants.equalsInteger(model.getStatus(),Constants.ZERO)
                        && model.getEndDate()!=null
                        && model.getEndDate().before(new Date())){
                    //已过期
                    model.setStatus(Constants.TWO);
                }
            }
        }
        return PageData.from(result);
    }
@@ -252,7 +271,6 @@
                }
            }
        }
        return memberCouponResponse;
    }