From 97bb5d54315b91b851d6934fb2bb98b80b7dc4f1 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Sat, 15 May 2021 16:20:04 +0800 Subject: [PATCH] 20210514 云顶 --- src/main/java/com/xcong/excoin/modules/yunding/service/IBasicSettingService.java | 9 + src/main/java/com/xcong/excoin/modules/yunding/service/impl/BasicSettingServiceImpl.java | 64 ++++++++++ src/main/resources/mapper/modules/BasicSettingMapper.xml | 8 + src/main/java/com/xcong/excoin/modules/yunding/mapper/BasicSettingMapper.java | 2 src/main/resources/templates/febs/views/modules/yunding/ydProductList.html | 20 ++ src/main/java/com/xcong/excoin/modules/yunding/controller/ViewController.java | 11 + src/main/resources/templates/febs/views/modules/member/member.html | 55 ++++++-- src/main/java/com/xcong/excoin/modules/yunding/controller/BasicSettingController.java | 39 ++++++ src/main/java/com/xcong/excoin/modules/yunding/mapper/YdProductMapper.java | 7 + src/main/resources/templates/febs/views/modules/yunding/ydProductListUpdate.html | 141 +++++++++++++++++++++++ 10 files changed, 336 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/yunding/controller/BasicSettingController.java b/src/main/java/com/xcong/excoin/modules/yunding/controller/BasicSettingController.java index 9247031..f470794 100644 --- a/src/main/java/com/xcong/excoin/modules/yunding/controller/BasicSettingController.java +++ b/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); + } + } diff --git a/src/main/java/com/xcong/excoin/modules/yunding/controller/ViewController.java b/src/main/java/com/xcong/excoin/modules/yunding/controller/ViewController.java index 1cf344a..c5ec4a2 100644 --- a/src/main/java/com/xcong/excoin/modules/yunding/controller/ViewController.java +++ b/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"); + } } diff --git a/src/main/java/com/xcong/excoin/modules/yunding/mapper/BasicSettingMapper.java b/src/main/java/com/xcong/excoin/modules/yunding/mapper/BasicSettingMapper.java index 58273c2..e3597dd 100644 --- a/src/main/java/com/xcong/excoin/modules/yunding/mapper/BasicSettingMapper.java +++ b/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); } diff --git a/src/main/java/com/xcong/excoin/modules/yunding/mapper/YdProductMapper.java b/src/main/java/com/xcong/excoin/modules/yunding/mapper/YdProductMapper.java new file mode 100644 index 0000000..4c1cfa3 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/yunding/mapper/YdProductMapper.java @@ -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> { +} diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/IBasicSettingService.java b/src/main/java/com/xcong/excoin/modules/yunding/service/IBasicSettingService.java index b460ed4..11101a1 100644 --- a/src/main/java/com/xcong/excoin/modules/yunding/service/IBasicSettingService.java +++ b/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); } diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/impl/BasicSettingServiceImpl.java b/src/main/java/com/xcong/excoin/modules/yunding/service/impl/BasicSettingServiceImpl.java index e25f885..19b8347 100644 --- a/src/main/java/com/xcong/excoin/modules/yunding/service/impl/BasicSettingServiceImpl.java +++ b/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(); + } + } diff --git a/src/main/resources/mapper/modules/BasicSettingMapper.xml b/src/main/resources/mapper/modules/BasicSettingMapper.xml index 1f9ac58..73f1e5e 100644 --- a/src/main/resources/mapper/modules/BasicSettingMapper.xml +++ b/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> \ No newline at end of file diff --git a/src/main/resources/templates/febs/views/modules/member/member.html b/src/main/resources/templates/febs/views/modules/member/member.html index 1099d1d..9aeb17c 100644 --- a/src/main/resources/templates/febs/views/modules/member/member.html +++ b/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'} ]] }); } diff --git a/src/main/resources/templates/febs/views/modules/yunding/ydProductList.html b/src/main/resources/templates/febs/views/modules/yunding/ydProductList.html index ed93481..19e82c2 100644 --- a/src/main/resources/templates/febs/views/modules/yunding/ydProductList.html +++ b/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(), }; } diff --git a/src/main/resources/templates/febs/views/modules/yunding/ydProductListUpdate.html b/src/main/resources/templates/febs/views/modules/yunding/ydProductListUpdate.html new file mode 100644 index 0000000..d3eecf3 --- /dev/null +++ b/src/main/resources/templates/febs/views/modules/yunding/ydProductListUpdate.html @@ -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> \ No newline at end of file -- Gitblit v1.9.1