From 9e35acdd78513ee3e8712282219f85ed22ec85e1 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Tue, 25 May 2021 11:41:17 +0800 Subject: [PATCH] 20210525 商家入驻条件 今日累计取消次数 --- src/main/resources/templates/febs/views/modules/otc/otcSettingUpdate.html | 109 +++++++++++++++ src/main/resources/templates/febs/views/modules/otc/otcSettingList.html | 126 ++++++++++++++++++ src/main/java/com/xcong/excoin/modules/otc/entity/OtcSettingEntity.java | 28 ++++ src/main/java/com/xcong/excoin/modules/otc/controller/OtcController.java | 23 ++ src/main/resources/mapper/modules/OtcSettingMapper.xml | 12 + src/main/java/com/xcong/excoin/modules/otc/mapper/OtcSettingMapper.java | 14 ++ src/main/java/com/xcong/excoin/modules/otc/controller/ViewController.java | 23 +++ src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java | 47 +++++- src/main/java/com/xcong/excoin/modules/otc/service/OtcService.java | 11 + 9 files changed, 377 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/otc/controller/OtcController.java b/src/main/java/com/xcong/excoin/modules/otc/controller/OtcController.java index 7892228..a202774 100644 --- a/src/main/java/com/xcong/excoin/modules/otc/controller/OtcController.java +++ b/src/main/java/com/xcong/excoin/modules/otc/controller/OtcController.java @@ -6,10 +6,7 @@ import com.xcong.excoin.common.entity.QueryRequest; import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity; import com.xcong.excoin.modules.member.entity.MemberEntity; -import com.xcong.excoin.modules.otc.entity.OtcEntrustOrderEntity; -import com.xcong.excoin.modules.otc.entity.OtcMarketBussinessEntity; -import com.xcong.excoin.modules.otc.entity.OtcOrderAppealEntity; -import com.xcong.excoin.modules.otc.entity.OtcOrderEntity; +import com.xcong.excoin.modules.otc.entity.*; import com.xcong.excoin.modules.otc.service.OtcService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; @@ -123,4 +120,22 @@ return otcService.otcHuiKuan(otcMarketBussinessEntity); } + /** + * 设置列表 + */ + @GetMapping("otcSettingList") + public FebsResponse otcSettingList(OtcSettingEntity otcSettingEntity, QueryRequest request) { + Map<String, Object> data = getDataTable(otcService.otcSettingList(otcSettingEntity, request)); + return new FebsResponse().success().data(data); + } + /** + *设置列表--更新 + * @return + */ + @PostMapping("updateOtcSetting") + @ControllerEndpoint(operation = "设置列表--更新", exceptionMessage = "失败") + public FebsResponse updateOtcSetting(@Valid OtcSettingEntity otcSettingEntity) { + return otcService.updateOtcSetting(otcSettingEntity); + } + } diff --git a/src/main/java/com/xcong/excoin/modules/otc/controller/ViewController.java b/src/main/java/com/xcong/excoin/modules/otc/controller/ViewController.java index 2f63c3d..b246d9f 100644 --- a/src/main/java/com/xcong/excoin/modules/otc/controller/ViewController.java +++ b/src/main/java/com/xcong/excoin/modules/otc/controller/ViewController.java @@ -5,6 +5,7 @@ import com.xcong.excoin.modules.member.vo.MemberAuthenticationVo; import com.xcong.excoin.modules.otc.entity.OtcMarketBussinessEntity; import com.xcong.excoin.modules.otc.entity.OtcOrderEntity; +import com.xcong.excoin.modules.otc.entity.OtcSettingEntity; import com.xcong.excoin.modules.otc.service.OtcService; import com.xcong.excoin.modules.otc.vo.OtcAppealInfoVo; import lombok.RequiredArgsConstructor; @@ -91,4 +92,26 @@ return FebsUtil.view("modules/otc/otcHuiKuan"); } + /** + * 获取OTC设置 + */ + @GetMapping("otcSettingList") + @RequiresPermissions("otcSettingList:view") + public String otcSettingList() { + return FebsUtil.view("modules/otc/otcSettingList"); + } + + /** + * OTC设置--详情 + */ + @GetMapping("otcSettingUpdate/{id}") + @RequiresPermissions("otcSettingUpdate:update") + public String otcSettingUpdate(@PathVariable long id, Model model) { + OtcSettingEntity data = otcService.otcSettingUpdate(id); + model.addAttribute("member", data); + return FebsUtil.view("modules/otc/otcSettingUpdate"); + } + + + } diff --git a/src/main/java/com/xcong/excoin/modules/otc/entity/OtcSettingEntity.java b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcSettingEntity.java new file mode 100644 index 0000000..32bac29 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcSettingEntity.java @@ -0,0 +1,28 @@ +package com.xcong.excoin.modules.otc.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.xcong.excoin.common.entity.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; + +//条件设置 +@Data +@TableName("otc_setting") +public class OtcSettingEntity { + + private long id; + + //商家入驻总单数 + private Integer orderNum; + + //商家入驻完成率 + private BigDecimal completionRate; + + //商家入驻总金额 + private BigDecimal totalAmount; + + //今日累计取消次数 + private Integer cancellNum; + +} diff --git a/src/main/java/com/xcong/excoin/modules/otc/mapper/OtcSettingMapper.java b/src/main/java/com/xcong/excoin/modules/otc/mapper/OtcSettingMapper.java new file mode 100644 index 0000000..933717c --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/otc/mapper/OtcSettingMapper.java @@ -0,0 +1,14 @@ +package com.xcong.excoin.modules.otc.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xcong.excoin.modules.otc.entity.OtcSettingEntity; +import org.apache.ibatis.annotations.Param; + +public interface OtcSettingMapper extends BaseMapper<OtcSettingEntity> { + + IPage<OtcSettingEntity> otcSettingList(Page<OtcSettingEntity> page, + @Param("record")OtcSettingEntity otcSettingEntity); + +} diff --git a/src/main/java/com/xcong/excoin/modules/otc/service/OtcService.java b/src/main/java/com/xcong/excoin/modules/otc/service/OtcService.java index 24077e8..23d4ab2 100644 --- a/src/main/java/com/xcong/excoin/modules/otc/service/OtcService.java +++ b/src/main/java/com/xcong/excoin/modules/otc/service/OtcService.java @@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.xcong.excoin.common.entity.FebsResponse; import com.xcong.excoin.common.entity.QueryRequest; -import com.xcong.excoin.modules.otc.entity.OtcEntrustOrderEntity; -import com.xcong.excoin.modules.otc.entity.OtcMarketBussinessEntity; -import com.xcong.excoin.modules.otc.entity.OtcOrderAppealEntity; -import com.xcong.excoin.modules.otc.entity.OtcOrderEntity; +import com.xcong.excoin.modules.otc.entity.*; import com.xcong.excoin.modules.otc.vo.OtcAppealInfoVo; public interface OtcService extends IService<OtcMarketBussinessEntity> { @@ -37,4 +34,10 @@ OtcMarketBussinessEntity otcHuiKuan(long id); FebsResponse otcHuiKuan(OtcMarketBussinessEntity otcMarketBussinessEntity); + + IPage<OtcSettingEntity> otcSettingList(OtcSettingEntity otcSettingEntity, QueryRequest request); + + OtcSettingEntity otcSettingUpdate(long id); + + FebsResponse updateOtcSetting(OtcSettingEntity otcSettingEntity); } diff --git a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java index 1d76709..483779c 100644 --- a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java @@ -15,14 +15,8 @@ import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity; import com.xcong.excoin.modules.member.mapper.MemberMapper; import com.xcong.excoin.modules.member.mapper.MemberWalletCoinMapper; -import com.xcong.excoin.modules.otc.entity.OtcEntrustOrderEntity; -import com.xcong.excoin.modules.otc.entity.OtcMarketBussinessEntity; -import com.xcong.excoin.modules.otc.entity.OtcOrderAppealEntity; -import com.xcong.excoin.modules.otc.entity.OtcOrderEntity; -import com.xcong.excoin.modules.otc.mapper.OtcEntrustOrderMapper; -import com.xcong.excoin.modules.otc.mapper.OtcMarketBussinessMapper; -import com.xcong.excoin.modules.otc.mapper.OtcOrderAppealMapper; -import com.xcong.excoin.modules.otc.mapper.OtcOrderMapper; +import com.xcong.excoin.modules.otc.entity.*; +import com.xcong.excoin.modules.otc.mapper.*; import com.xcong.excoin.modules.otc.service.OtcService; import com.xcong.excoin.modules.otc.vo.OtcAppealInfoVo; import lombok.RequiredArgsConstructor; @@ -46,6 +40,8 @@ private OtcEntrustOrderMapper otcEntrustOrderMapper; @Resource private OtcOrderMapper otcOrderMapper; + @Resource + private OtcSettingMapper otcSettingMapper; @Resource private MemberWalletCoinMapper memberWalletCoinMapper; @Resource @@ -264,4 +260,39 @@ return new FebsResponse().success(); } + @Override + public IPage<OtcSettingEntity> otcSettingList(OtcSettingEntity otcSettingEntity, QueryRequest request) { + Page<OtcSettingEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<OtcSettingEntity> otcSettingEntitys = otcSettingMapper.otcSettingList(page, otcSettingEntity); + return otcSettingEntitys; + } + + @Override + public OtcSettingEntity otcSettingUpdate(long id) { + return otcSettingMapper.selectById(id); + } + + @Override + public FebsResponse updateOtcSetting(OtcSettingEntity otcSettingEntity) { + Integer orderNum = otcSettingEntity.getOrderNum(); + if(ObjectUtil.isEmpty(orderNum) || orderNum < 0){ + return new FebsResponse().fail().message("请设置正确的总单数"); + } + BigDecimal completionRate = otcSettingEntity.getCompletionRate(); + if(ObjectUtil.isEmpty(completionRate) || completionRate.compareTo(BigDecimal.ZERO) < 0){ + return new FebsResponse().fail().message("请设置正确的完成率"); + } + BigDecimal totalAmount = otcSettingEntity.getTotalAmount(); + if(ObjectUtil.isEmpty(totalAmount) || totalAmount.compareTo(BigDecimal.ZERO) < 0){ + return new FebsResponse().fail().message("请设置正确的总金额"); + } + + Integer cancellNum = otcSettingEntity.getCancellNum(); + if(ObjectUtil.isEmpty(cancellNum) || cancellNum < 0){ + return new FebsResponse().fail().message("请设置正确的取消次数"); + } + otcSettingMapper.updateById(otcSettingEntity); + return new FebsResponse().success(); + } + } diff --git a/src/main/resources/mapper/modules/OtcSettingMapper.xml b/src/main/resources/mapper/modules/OtcSettingMapper.xml new file mode 100644 index 0000000..e9a517e --- /dev/null +++ b/src/main/resources/mapper/modules/OtcSettingMapper.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.xcong.excoin.modules.otc.mapper.OtcSettingMapper"> + + <select id="otcSettingList" resultType="com.xcong.excoin.modules.otc.entity.OtcSettingEntity"> + SELECT + * + FROM + otc_setting + </select> + +</mapper> \ No newline at end of file diff --git a/src/main/resources/templates/febs/views/modules/otc/otcSettingList.html b/src/main/resources/templates/febs/views/modules/otc/otcSettingList.html new file mode 100644 index 0000000..205b013 --- /dev/null +++ b/src/main/resources/templates/febs/views/modules/otc/otcSettingList.html @@ -0,0 +1,126 @@ +<div class="layui-fluid layui-anim febs-anim" id="febs-user-set" lay-title="基础设置"> + <div class="layui-row febs-container"> + <div class="layui-col-md12"> + <div class="layui-card"> + <div class="layui-card-body febs-table-full"> + <form class="layui-form layui-table-form" lay-filter="user-table-form"> + <div class="layui-row"> + <div class="layui-col-md10"> + <div class="layui-form-item"> +<!-- <div class="layui-inline">--> +<!-- <div class="layui-input-inline">--> +<!-- <input type="text" placeholder="手机号/邀请码" name="account" autocomplete="off" class="layui-input">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-inline">--> +<!-- <label class="layui-form-label layui-form-label-sm">订单状态</label>--> +<!-- <div class="layui-input-inline">--> +<!-- <select name="status">--> +<!-- <option value="">请选择</option>--> +<!-- <option value="1">未付款</option>--> +<!-- <option value="2">已付款</option>--> +<!-- <option value="3">已完成</option>--> +<!-- <option value="4">已取消</option>--> +<!-- </select>--> +<!-- </div>--> +<!-- </div>--> + </div> + </div> + <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area"> + <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain table-action" id="query"> + <i class="layui-icon"></i> + </div> + <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset"> + <i class="layui-icon"></i> + </div> + </div> + </div> + </form> + <table lay-filter="userTable" lay-data="{id: 'userTable'}"></table> + </div> + </div> + </div> + </div> +</div> +<!-- 表格操作栏 start --> +<script type="text/html" id="user-option"> + <span shiro:lacksPermission="user:view,user:update,user:delete"> + <span class="layui-badge-dot febs-bg-orange"></span> 无权限 + </span> + <a lay-event="edit" shiro:hasPermission="user:update"><i + class="layui-icon febs-edit-area febs-blue"></i></a> +</script> +<!-- 表格操作栏 end --> +<script data-th-inline="none" type="text/javascript"> + // 引入组件并初始化 + layui.use([ 'jquery', 'form', 'table', 'febs'], function () { + var $ = layui.jquery, + febs = layui.febs, + form = layui.form, + table = layui.table, + $view = $('#febs-user-set'), + $query = $view.find('#query'), + $reset = $view.find('#reset'), + $searchForm = $view.find('form'), + sortObject = {field: 'phone', type: null}, + tableIns; + + form.render(); + + // 表格初始化 + initTable(); + + // 初始化表格操作栏各个按钮功能 + table.on('tool(userTable)', function (obj) { + var data = obj.data, + layEvent = obj.event; + if (layEvent === 'otcSettingUpdate') { + febs.modal.open('付款', 'modules/otc/otcSettingUpdate/' + data.id, { + btn: ['提交', '取消'], + yes: function (index, layero) { + $('#user-update').find('#submit').trigger('click'); + }, + btn2: function () { + layer.closeAll(); + } + }); + } + }); + + // 查询按钮 + $query.on('click', function () { + var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type}); + tableIns.reload({where: params, page: {curr: 1}}); + }); + + // 刷新按钮 + $reset.on('click', function () { + $searchForm[0].reset(); + sortObject.type = 'null'; + tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject}); + }); + + function initTable() { + tableIns = febs.table.init({ + elem: $view.find('table'), + id: 'userTable', + url: ctx + 'otc/otcSettingList', + cols: [[ + {field: 'orderNum', title: '商家入驻总单数', minWidth: 100,align:'left'}, + {field: 'completionRate', title: '商家入驻完成率', minWidth: 100,align:'left'}, + {field: 'totalAmount', title: '商家入驻总金额', minWidth: 80,align:'center'}, + {field: 'cancellNum', title: '今日累计取消次数', minWidth: 150,align:'center'}, + {title: '操作',templet: function (d) { + return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="otcSettingUpdate" shiro:hasPermission="user:update">修改</button>' + },minWidth: 100,align:'center'} + ]] + }); + } + + // 获取查询参数 + function getQueryParams() { + return {}; + } + + }) +</script> \ No newline at end of file diff --git a/src/main/resources/templates/febs/views/modules/otc/otcSettingUpdate.html b/src/main/resources/templates/febs/views/modules/otc/otcSettingUpdate.html new file mode 100644 index 0000000..5a03b09 --- /dev/null +++ b/src/main/resources/templates/febs/views/modules/otc/otcSettingUpdate.html @@ -0,0 +1,109 @@ +<style> + #user-update { + padding: 20px 25px 25px 0; + } + + #user-update .layui-treeSelect .ztree li a, .ztree li span { + margin: 0 0 2px 3px !important; + } + #user-update #data-permission-tree-block { + border: 1px solid #eee; + border-radius: 2px; + padding: 3px 0; + } + #user-add .layui-treeSelect .ztree li span.button.switch { + top: 1px; + left: 3px; + } + +</style> +<div class="layui-fluid" id="user-update"> + <form class="layui-form" action="" lay-filter="user-update-form"> + <div class="layui-form-item febs-hide"> + <label class="layui-form-label febs-form-item-require">id:</label> + <div class="layui-input-block"> + <input type="text" name="id" data-th-value="${member.id}"> + </div> + </div> + + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">商家入驻:</label> + </div> + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">总单数:</label> + <div class="layui-input-block"> + <input type="number" name="orderNum"data-th-id="${member.orderNum}" + autocomplete="off" class="layui-input"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">完成率:</label> + <div class="layui-input-block"> + <input type="number" name="completionRate"data-th-id="${member.completionRate}" + autocomplete="off" class="layui-input"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">总金额:</label> + <div class="layui-input-block"> + <input type="number" name="totalAmount"data-th-id="${member.totalAmount}" + autocomplete="off" class="layui-input"> + </div> + </div> + + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">今日累计:</label> + </div> + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">取消次数:</label> + <div class="layui-input-block"> + <input type="number" name="cancellNum"data-th-id="${member.cancellNum}" + autocomplete="off" class="layui-input"> + </div> + </div> + <div class="layui-form-item febs-hide"> + <button class="layui-btn" lay-submit="" lay-filter="user-update-form-submit" id="submit"></button> + </div> + </form> +</div> + +<script data-th-inline="javascript"> + layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree'], function () { + var $ = layui.$, + febs = layui.febs, + layer = layui.layer, + formSelects = layui.formSelects, + treeSelect = layui.treeSelect, + form = layui.form, + eleTree = layui.eleTree, + member = [[${member}]], + $view = $('#user-update'), + validate = layui.validate, + _deptTree; + + form.render(); + + initUserValue(); + + formSelects.render(); + + function initUserValue() { + form.val("user-update-form", { + "id": member.id, + "orderNum": member.orderNum, + "completionRate": member.completionRate, + "totalAmount": member.totalAmount, + "cancellNum": member.cancellNum + }); + } + + form.on('submit(user-update-form-submit)', function (data) { + febs.post(ctx + 'otc/updateOtcSetting', data.field, function () { + layer.closeAll(); + febs.alert.success('成功'); + $('#febs-user-set').find('#reset').click(); + }); + return false; + }); + }); +</script> \ No newline at end of file -- Gitblit v1.9.1