xiaoyong931011
2021-05-15 97bb5d54315b91b851d6934fb2bb98b80b7dc4f1
20210514 云顶
8 files modified
2 files added
356 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/yunding/controller/BasicSettingController.java 39 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/yunding/controller/ViewController.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/yunding/mapper/BasicSettingMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/yunding/mapper/YdProductMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/yunding/service/IBasicSettingService.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/yunding/service/impl/BasicSettingServiceImpl.java 64 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/BasicSettingMapper.xml 8 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/member/member.html 55 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/yunding/ydProductList.html 20 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/yunding/ydProductListUpdate.html 141 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/yunding/controller/BasicSettingController.java
@@ -1,8 +1,10 @@
package com.xcong.excoin.modules.yunding.controller;
import com.xcong.excoin.common.annotation.ControllerEndpoint;
import com.xcong.excoin.common.controller.BaseController;
import com.xcong.excoin.common.entity.FebsResponse;
import com.xcong.excoin.common.entity.QueryRequest;
import com.xcong.excoin.modules.helpCenter.entity.HelpCenterArticleEntity;
import com.xcong.excoin.modules.member.entity.MemberEntity;
import com.xcong.excoin.modules.yunding.entity.YdOrderEntity;
import com.xcong.excoin.modules.yunding.entity.YdProductEntity;
@@ -10,10 +12,10 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.lang.reflect.Member;
import java.util.Map;
@@ -101,4 +103,35 @@
        return new FebsResponse().success().data(dataTable);
    }
    /**
     * 合伙人设置--同意
     * @param id
     * @return
     */
    @GetMapping("addIsTraderOn/{id}")
    @ControllerEndpoint(operation = "合伙人设置--同意", exceptionMessage = "操作失败")
    public FebsResponse addIsTraderOn(@NotNull(message = "{required}") @PathVariable Long id) {
        return basicSettingService.addIsTraderOn(id);
    }
    /**
     * 合伙人设置--取消
     * @param id
     * @return
     */
    @GetMapping("delIsTraderOn/{id}")
    @ControllerEndpoint(operation = "合伙人设置--取消", exceptionMessage = "操作失败")
    public FebsResponse delIsTraderOn(@NotNull(message = "{required}") @PathVariable Long id) {
        return basicSettingService.delIsTraderOn(id);
    }
    /**
     * 产品---更新
     * @return
     */
    @PostMapping("ydProductUpdateOn")
    @ControllerEndpoint(operation = "产品---更新", exceptionMessage = "设置失败")
    public FebsResponse ydProductUpdateOn(@Valid YdProductEntity ydProductEntity) {
        return basicSettingService.ydProductUpdateOn(ydProductEntity);
    }
}
src/main/java/com/xcong/excoin/modules/yunding/controller/ViewController.java
@@ -4,7 +4,9 @@
import com.xcong.excoin.common.entity.FebsResponse;
import com.xcong.excoin.common.entity.QueryRequest;
import com.xcong.excoin.common.utils.FebsUtil;
import com.xcong.excoin.modules.documentary.entity.FollowTraderInfoEntity;
import com.xcong.excoin.modules.documentary.entity.FollowTraderProfitInfoEntity;
import com.xcong.excoin.modules.yunding.entity.YdProductEntity;
import com.xcong.excoin.modules.yunding.service.IBasicSettingService;
import lombok.RequiredArgsConstructor;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -88,5 +90,14 @@
        idFromMember = id;
        return FebsUtil.view("modules/yunding/seeOrder");
    }
    /**
     * 产品修改
     */
    @GetMapping("ydProductUpdate/{id}")
    public String ydProductUpdate(@PathVariable long id, Model model) {
        YdProductEntity data = basicSettingService.getydProductUpdateById(id);
        model.addAttribute("member", data);
        return FebsUtil.view("modules/yunding/ydProductListUpdate");
    }
}
src/main/java/com/xcong/excoin/modules/yunding/mapper/BasicSettingMapper.java
@@ -43,4 +43,6 @@
    IPage<MemberAccountMoneyChangeEntity> seeReturn(Page<MemberAccountMoneyChangeEntity> page, @Param("record")MemberEntity memberEntity);
    IPage<YdOrderEntity> seeOrder(Page<YdOrderEntity> page,@Param("record") MemberEntity memberEntity);
    YdProductEntity getydProductById(@Param("id")long id);
}
src/main/java/com/xcong/excoin/modules/yunding/mapper/YdProductMapper.java
New file
@@ -0,0 +1,7 @@
package com.xcong.excoin.modules.yunding.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xcong.excoin.modules.yunding.entity.YdProductEntity;
public interface YdProductMapper extends BaseMapper<YdProductEntity> {
}
src/main/java/com/xcong/excoin/modules/yunding/service/IBasicSettingService.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
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.member.entity.MemberAccountMoneyChangeEntity;
import com.xcong.excoin.modules.member.entity.MemberEntity;
@@ -26,4 +27,12 @@
    IPage<MemberAccountMoneyChangeEntity> seeReturn(QueryRequest request, MemberEntity memberEntity);
    IPage<YdOrderEntity> seeOrder(QueryRequest request, MemberEntity memberEntity);
    FebsResponse addIsTraderOn(Long id);
    FebsResponse delIsTraderOn(Long id);
    YdProductEntity getydProductUpdateById(long id);
    FebsResponse ydProductUpdateOn(YdProductEntity ydProductEntity);
}
src/main/java/com/xcong/excoin/modules/yunding/service/impl/BasicSettingServiceImpl.java
@@ -5,21 +5,25 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xcong.excoin.common.entity.FebsResponse;
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.member.entity.MemberWalletCoinEntity;
import com.xcong.excoin.modules.member.mapper.MemberMapper;
import com.xcong.excoin.modules.member.mapper.MemberWalletCoinMapper;
import com.xcong.excoin.modules.yunding.entity.BasicSettingEntity;
import com.xcong.excoin.modules.yunding.entity.YdOrderEntity;
import com.xcong.excoin.modules.yunding.entity.YdProductEntity;
import com.xcong.excoin.modules.yunding.mapper.BasicSettingMapper;
import com.xcong.excoin.modules.yunding.mapper.YdProductMapper;
import com.xcong.excoin.modules.yunding.service.IBasicSettingService;
import com.xcong.excoin.modules.yunding.vo.YdAgentOrderVo;
import com.xcong.excoin.modules.yunding.vo.YdMemberVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -34,6 +38,10 @@
    private BasicSettingMapper basicSettingMapper;
    @Resource
    private MemberWalletCoinMapper memberWalletCoinMapper;
    @Resource
    private MemberMapper memberMapper;
    @Resource
    private YdProductMapper ydProductMapper;
    @Override
    public IPage<YdOrderEntity> getOrderList(YdOrderEntity ydOrderEntity, QueryRequest request) {
@@ -124,4 +132,60 @@
        return ydOrderEntitys;
    }
    @Override
    @Transactional
    public FebsResponse addIsTraderOn(Long id) {
        MemberEntity memberEntity = memberMapper.selectById(id);
        if(ObjectUtil.isEmpty(memberEntity)) {
            return new FebsResponse().fail().message("会员信息不存在");
        }
        memberEntity.setIsTrader(MemberEntity.ISTRADER_Y);
        memberMapper.updateById(memberEntity);
        return new FebsResponse().success();
    }
    @Override
    @Transactional
    public FebsResponse delIsTraderOn(Long id) {
        MemberEntity memberEntity = memberMapper.selectById(id);
        if(ObjectUtil.isEmpty(memberEntity)) {
            return new FebsResponse().fail().message("会员信息不存在");
        }
        memberEntity.setIsTrader(MemberEntity.ISTRADER_N);
        memberMapper.updateById(memberEntity);
        return new FebsResponse().success();
    }
    @Override
    public YdProductEntity getydProductUpdateById(long id) {
        return basicSettingMapper.getydProductById(id);
    }
    @Override
    @Transactional
    public FebsResponse ydProductUpdateOn(YdProductEntity ydProductEntity) {
        Long id = ydProductEntity.getId();
        YdProductEntity ydProductEntityOld = ydProductMapper.selectById(id);
        String name = ydProductEntity.getName();
        ydProductEntityOld.setName(name);
        BigDecimal totalT = ydProductEntity.getTotalT();
        ydProductEntityOld.setTotalT(totalT);
        BigDecimal surplusT = ydProductEntity.getSurplusT();
        ydProductEntityOld.setSurplusT(surplusT);
        BigDecimal salePrice = ydProductEntity.getSalePrice();
        ydProductEntityOld.setSalePrice(salePrice);
        Integer proCycle = ydProductEntity.getProCycle();
        ydProductEntityOld.setProCycle(proCycle);
        BigDecimal manageExpense = ydProductEntity.getManageExpense();
        ydProductEntityOld.setManageExpense(manageExpense);
        Integer shelvesDays = ydProductEntity.getShelvesDays();
        ydProductEntityOld.setShelvesDays(shelvesDays);
        Integer limitedNum = ydProductEntity.getLimitedNum();
        ydProductEntityOld.setLimitedNum(limitedNum);
        Integer status = ydProductEntity.getStatus();
        ydProductEntityOld.setStatus(status);
        ydProductMapper.updateById(ydProductEntityOld);
        return new FebsResponse().success();
    }
}
src/main/resources/mapper/modules/BasicSettingMapper.xml
@@ -178,5 +178,13 @@
        ORDER BY a.buy_time DESC
    </select>
    <select id="getydProductById" resultType="com.xcong.excoin.modules.yunding.entity.YdProductEntity">
        SELECT
            *
        FROM
            yd_product a
        where id = #{id}
    </select>
</mapper>
src/main/resources/templates/febs/views/modules/member/member.html
@@ -116,7 +116,29 @@
                      maxmin: true,
                  });
              }
            if (layEvent === 'addIsTrader') {
                febs.modal.confirm('设置合伙人', '设置成为合伙人?', function () {
                    addIsTraderOn(data.id);
                });
            }
            if (layEvent === 'delIsTrader') {
                febs.modal.confirm('设置合伙人', '取消合伙人资格?', function () {
                    delIsTraderOn(data.id);
                });
            }
        });
        function addIsTraderOn(id) {
            febs.get(ctx + 'yd/addIsTraderOn/' + id, null, function () {
                febs.alert.success('操作成功');
                $query.click();
            });
        }
        function delIsTraderOn(id) {
            febs.get(ctx + 'yd/delIsTraderOn/' + id, null, function () {
                febs.alert.success('操作成功');
                $query.click();
            });
        }
        function disagree(id) {
            febs.get(ctx + 'tradeManage/disagreePositionSetting/' + id, null, function () {
                febs.alert.success('禁止成功');
@@ -155,16 +177,14 @@
                    //{field: 'realName', title: '姓名', minWidth: 100,align:'left'},
                    {field: 'inviteId', title: '邀请码UID', minWidth: 80,align:'center'},
                    {field: 'refererId', title: '上级邀请码UID', minWidth: 80,align:'center'},
                    // {field: 'accountType', title: '账号类型',
                    //     templet: function (d) {
                    //         if (d.accountType === 2) {
                    //             return '<span style="color:green;">测试账号</span>'
                    //         } else if (d.accountType === 1) {
                    //             return '<span style="color:red;">正常账号</span>'
                    //         }else{
                    //             return ''
                    //         }
                    //     }, minWidth: 80,align:'center'},
                    {field: 'isTrader', title: '状态',
                        templet: function (d) {
                            if (d.isTrader === 1) {
                                return '<span style="color:green;">合伙人</span>'
                            } else{
                                return ''
                            }
                        }, minWidth: 80,align:'center'},
                    // {field: 'accountStatus', title: '账号状态',
                    //         templet: function (d) {
                    //             if (d.accountStatus === 1) {
@@ -198,10 +218,17 @@
                    //         }
                    //     },minWidth: 100,align:'center'},
                    {field: 'createTime', title: '注册时间', minWidth: 180,align:'center'},
                    {title: '操作',
                        templet: function (d) {
                                return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addCoin" shiro:hasPermission="user:update">拨币</button>'
                        },minWidth: 300,align:'center'}
                    {title: '操作', templet: function (d) {
                        if(d.isTrader === 2){
                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addCoin" shiro:hasPermission="user:update">拨币</button>'
                                        +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addIsTrader" shiro:hasPermission="user:update">成为合伙人</button>'
                        }else if(d.isTrader === 1){
                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addCoin" shiro:hasPermission="user:update">拨币</button>'
                                +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="delIsTrader" shiro:hasPermission="user:update">取消合伙人</button>'
                        }else{
                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addCoin" shiro:hasPermission="user:update">拨币</button>'
                        }
                    },minWidth: 300,align:'center'}
                ]]
            });
        }
src/main/resources/templates/febs/views/modules/yunding/ydProductList.html
@@ -1,4 +1,4 @@
<div class="layui-fluid layui-anim febs-anim" id="trader-profit" lay-title="产品列表">
<div class="layui-fluid layui-anim febs-anim" id="product-List" lay-title="产品列表">
    <div class="layui-row febs-container">
        <div class="layui-col-md12">
            <div class="layui-card">
@@ -46,7 +46,7 @@
            febs = layui.febs,
            form = layui.form,
            table = layui.table,
            $view = $('#trader-profit'),
            $view = $('#product-List'),
            $query = $view.find('#query'),
            $reset = $view.find('#reset'),
            $searchForm = $view.find('form'),
@@ -65,6 +65,17 @@
            if (layEvent === 'edit') {
                febs.modal.open('交易员审核', 'modules/documentary/traderDetail/' + data.id, {
                    btn: ['确认', '取消'],
                    yes: function (index, layero) {
                        $('#user-update').find('#submit').trigger('click');
                    },
                    btn2: function () {
                        layer.closeAll();
                    }
                });
            }
            if (layEvent === 'updateProduct') {
                febs.modal.open('产品修改', 'modules/yunding/ydProductUpdate/' + data.id, {
                    btn: ['确认', '取消'],
                    yes: function (index, layero) {
                        $('#user-update').find('#submit').trigger('click');
@@ -208,6 +219,10 @@
                                return ''
                            }
                        }, minWidth: 80,align:'center'},
                    {title: '操作',
                        templet: function (d) {
                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="updateProduct" shiro:hasPermission="user:update">修改</button>'
                    },minWidth: 100,align:'center'}
                ]]
            });
@@ -216,7 +231,6 @@
        // 获取查询参数
        function getQueryParams() {
            return {
                account: $searchForm.find('input[name="account"]').val().trim(),
            };
        }
src/main/resources/templates/febs/views/modules/yunding/ydProductListUpdate.html
New file
@@ -0,0 +1,141 @@
<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 class="layui-input-block">
                <input type="text" name="name" data-th-id="${member.name}"
                       autocomplete="off" class="layui-input" readonly>
            </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="totalT" data-th-id="${member.totalT}"
                       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="surplusT" data-th-id="${member.surplusT}"
                       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="salePrice" data-th-id="${member.salePrice}"
                       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="proCycle" data-th-id="${member.proCycle}"
                       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="manageExpense" data-th-id="${member.manageExpense}"
                       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="shelvesDays" data-th-id="${member.shelvesDays}"
                       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="limitedNum" data-th-id="${member.limitedNum}"
                       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="radio" name="status" value="1" title="热售中" checked="">
                <input type="radio" name="status" value="2" title="售罄" >
                <input type="radio" name="status" value="3" title="未开售" >
            </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", {
                "name": member.name,
                "totalT": member.totalT,
                "surplusT": member.surplusT,
                "salePrice": member.salePrice,
                "proCycle": member.proCycle,
                "manageExpense": member.manageExpense,
                "shelvesDays": member.shelvesDays,
                "limitedNum": member.limitedNum,
                "status": member.status
            });
        }
        form.on('submit(user-update-form-submit)', function (data) {
            febs.post(ctx + 'yd/ydProductUpdateOn', data.field, function () {
                layer.closeAll();
                febs.alert.success('操作成功');
                $('#product-List').find('#query').click();
            });
            return false;
        });
    });
</script>