From 29a53109bdab489d23285af3d12d197eed98f3a4 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 25 Oct 2022 16:17:05 +0800
Subject: [PATCH] 20221021

---
 src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java             |    5 
 src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml                        |   23 ++
 src/main/java/cc/mrbird/febs/dapp/controller/ViewOnHookPlanController.java      |   32 +++
 src/main/java/cc/mrbird/febs/dapp/service/AdminOnHookPlanService.java           |    3 
 src/main/resources/templates/febs/views/onhookplan/planSet.html                 |  112 ++++++++++++
 src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml                    |    5 
 src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOnHookPlanServiceImpl.java  |   15 +
 src/main/resources/templates/febs/views/dapp/money-change-flow.html             |   13 
 src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java                             |    2 
 src/main/java/cc/mrbird/febs/dapp/controller/AdminOnHookPlanController.java     |   50 +++++
 src/main/java/cc/mrbird/febs/dapp/vo/AdminPlanSetVo.java                        |   12 +
 src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java     |    5 
 src/main/java/cc/mrbird/febs/dapp/vo/AdminIgtOnHookPlanOrderVo.java             |   36 ++++
 src/main/resources/templates/febs/views/onhookplan/planList.html                |  151 +++++++++++++++-
 src/main/resources/templates/febs/views/walletCoin/transferInsideList.html      |    4 
 src/main/java/cc/mrbird/febs/dapp/entity/IgtOnHookPlanOrder.java                |    7 
 src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java |    2 
 src/main/java/cc/mrbird/febs/dapp/entity/DappAccountMoneyChangeEntity.java      |    6 
 18 files changed, 458 insertions(+), 25 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/AdminOnHookPlanController.java b/src/main/java/cc/mrbird/febs/dapp/controller/AdminOnHookPlanController.java
index 3d5d269..f1746a5 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/AdminOnHookPlanController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/AdminOnHookPlanController.java
@@ -3,12 +3,23 @@
 import cc.mrbird.febs.common.controller.BaseController;
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.utils.FebsUtil;
+import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
 import cc.mrbird.febs.dapp.entity.IgtOnHookPlanOrder;
+import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
+import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
 import cc.mrbird.febs.dapp.service.AdminOnHookPlanService;
+import cc.mrbird.febs.dapp.vo.AdminPlanSetVo;
+import cc.mrbird.febs.dapp.vo.AdminTransferInsideSetVo;
+import cc.mrbird.febs.system.entity.User;
+import cc.mrbird.febs.system.service.IUserService;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 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.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -22,6 +33,8 @@
 public class AdminOnHookPlanController extends BaseController {
 
     private final AdminOnHookPlanService adminOnHookPlanService;
+    private final IUserService userService;
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
 
     /**
      * 挂机-列表
@@ -29,8 +42,45 @@
      */
     @GetMapping("getplanList")
     public FebsResponse getplanList(IgtOnHookPlanOrder igtOnHookPlanOrder, QueryRequest request) {
+        User currentUser = FebsUtil.getCurrentUser();
+        User currentUserDetail = userService.findByName(currentUser.getUsername());
+        if(ObjectUtil.isNotEmpty(currentUserDetail.getDescription())){
+            igtOnHookPlanOrder.setDescription(currentUser.getDescription());
+        }
         Map<String, Object> data = getDataTable(adminOnHookPlanService.getplanList(igtOnHookPlanOrder, request));
         return new FebsResponse().success().data(data);
     }
 
+    /**
+     * IGT挂机时间规则 -- 更新
+     */
+    @PostMapping(value = "/setPlan")
+    public FebsResponse setPlan(AdminPlanSetVo adminPlanSetVo) {
+        if(StrUtil.isEmpty(adminPlanSetVo.getMaxHours())){
+            return new FebsResponse().fail().message("请输入持续挂机时长");
+        }
+        if(StrUtil.isEmpty(adminPlanSetVo.getStartTime())){
+            return new FebsResponse().fail().message("请输入挂机开始时间");
+        }
+        if(StrUtil.isEmpty(adminPlanSetVo.getEndTime())){
+            return new FebsResponse().fail().message("请输入挂机结束时间");
+        }
+        String maxHours = adminPlanSetVo.getMaxHours();
+        DataDictionaryCustom maxHoursDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.MAX_HOURS.getType(), DataDictionaryEnum.MAX_HOURS.getCode());
+        maxHoursDic.setValue(maxHours);
+        dataDictionaryCustomMapper.updateById(maxHoursDic);
+
+        String startTime = adminPlanSetVo.getStartTime();
+        DataDictionaryCustom startTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.START_TIME.getType(), DataDictionaryEnum.START_TIME.getCode());
+        startTimeDic.setValue(startTime);
+        dataDictionaryCustomMapper.updateById(startTimeDic);
+
+        String endTime = adminPlanSetVo.getEndTime();
+        DataDictionaryCustom endTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.END_TIME.getType(), DataDictionaryEnum.END_TIME.getCode());
+        endTimeDic.setValue(endTime);
+        dataDictionaryCustomMapper.updateById(endTimeDic);
+
+        return new FebsResponse().success();
+    }
+
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java b/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
index 60e8ffc..c292801 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
@@ -8,6 +8,7 @@
 import cc.mrbird.febs.dapp.entity.DappFundFlowEntity;
 import cc.mrbird.febs.dapp.service.DappWalletService;
 import cc.mrbird.febs.system.entity.User;
+import cn.hutool.core.util.ObjectUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
@@ -52,6 +53,10 @@
 
     @RequestMapping(value = "accountMoneyChangeFlow")
     public FebsResponse accountMoneyChangeFlow(DappAccountMoneyChangeEntity record, QueryRequest request) {
+        User currentUser = FebsUtil.getCurrentUser();
+        if(ObjectUtil.isNotEmpty(currentUser.getDescription())){
+            record.setDescription(currentUser.getDescription());
+        }
         return new FebsResponse().success().data(getDataTable(dappWalletService.accountMoneyChangeInPage(record, request)));
     }
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ViewOnHookPlanController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ViewOnHookPlanController.java
index 9a54821..68efc1b 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ViewOnHookPlanController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ViewOnHookPlanController.java
@@ -2,10 +2,17 @@
 
 import cc.mrbird.febs.common.entity.FebsConstant;
 import cc.mrbird.febs.common.utils.FebsUtil;
+import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
+import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
+import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
 import cc.mrbird.febs.dapp.service.AdminOnHookPlanService;
+import cc.mrbird.febs.dapp.vo.AdminPlanSetVo;
+import cc.mrbird.febs.dapp.vo.AdminTransferInsideSetVo;
+import cn.hutool.core.util.ObjectUtil;
 import lombok.RequiredArgsConstructor;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
@@ -15,6 +22,7 @@
 public class ViewOnHookPlanController {
 
     private final AdminOnHookPlanService adminOnHookPlanService;
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
 
     /**
      * 挂机-列表
@@ -25,6 +33,30 @@
     public String planList() {
         return FebsUtil.view("onhookplan/planList");
     }
+    /**
+     * 内部转账规则设置
+     * @param model
+     * @return
+     */
+    @GetMapping("/planSet")
+    @RequiresPermissions("planSet:view")
+    public String transferInsideSet(Model model) {
+        AdminPlanSetVo adminPlanSetVo = new AdminPlanSetVo();
+        DataDictionaryCustom maxHoursDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.MAX_HOURS.getType(), DataDictionaryEnum.MAX_HOURS.getCode());
+        if (ObjectUtil.isNotNull(maxHoursDic)) {
+            adminPlanSetVo.setMaxHours(maxHoursDic.getValue());
+        }
+        DataDictionaryCustom startTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.START_TIME.getType(), DataDictionaryEnum.START_TIME.getCode());
+        if (ObjectUtil.isNotNull(startTimeDic)) {
+            adminPlanSetVo.setStartTime(startTimeDic.getValue());
+        }
+        DataDictionaryCustom endTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.END_TIME.getType(), DataDictionaryEnum.END_TIME.getCode());
+        if (ObjectUtil.isNotNull(endTimeDic)) {
+            adminPlanSetVo.setEndTime(endTimeDic.getValue());
+        }
+        model.addAttribute("planSet", adminPlanSetVo);
+        return FebsUtil.view("onhookplan/planSet");
+    }
 
 
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/DappAccountMoneyChangeEntity.java b/src/main/java/cc/mrbird/febs/dapp/entity/DappAccountMoneyChangeEntity.java
index 7502df4..ebca777 100644
--- a/src/main/java/cc/mrbird/febs/dapp/entity/DappAccountMoneyChangeEntity.java
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/DappAccountMoneyChangeEntity.java
@@ -75,4 +75,10 @@
     @TableField(exist = false)
     private String endTime;
 
+    /**
+     * 后台操作用户的标识
+     */
+    @TableField(exist = false)
+    private String description;
+
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/IgtOnHookPlanOrder.java b/src/main/java/cc/mrbird/febs/dapp/entity/IgtOnHookPlanOrder.java
index 764640b..c727661 100644
--- a/src/main/java/cc/mrbird/febs/dapp/entity/IgtOnHookPlanOrder.java
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/IgtOnHookPlanOrder.java
@@ -1,6 +1,7 @@
 package cc.mrbird.febs.dapp.entity;
 
 import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
@@ -30,4 +31,10 @@
     private Integer profitState;
     //总收益
     private BigDecimal profit;
+
+    /**
+     * 后台操作用户的标识
+     */
+    @TableField(exist = false)
+    private String description;
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java
index 7364680..ca3ef4f 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java
@@ -1,7 +1,10 @@
 package cc.mrbird.febs.dapp.mapper;
 
 import cc.mrbird.febs.dapp.entity.IgtOnHookPlanOrder;
+import cc.mrbird.febs.dapp.vo.AdminIgtOnHookPlanOrderVo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
@@ -20,4 +23,6 @@
     BigDecimal selectSumProfitByMemberId(@Param("memberId")Long memberId);
 
     List<IgtOnHookPlanOrder> selectByCreateTime(@Param("createTime")String format);
+
+    IPage<AdminIgtOnHookPlanOrderVo> findMemberPlanListInPage(Page<IgtOnHookPlanOrder> page, @Param("record")IgtOnHookPlanOrder igtOnHookPlanOrder);
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/AdminOnHookPlanService.java b/src/main/java/cc/mrbird/febs/dapp/service/AdminOnHookPlanService.java
index cb850b3..eb84d39 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/AdminOnHookPlanService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/AdminOnHookPlanService.java
@@ -2,11 +2,12 @@
 
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.dapp.entity.IgtOnHookPlanOrder;
+import cc.mrbird.febs.dapp.vo.AdminIgtOnHookPlanOrderVo;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 public interface AdminOnHookPlanService extends IService<IgtOnHookPlanOrder> {
 
-    IPage<IgtOnHookPlanOrder> getplanList(IgtOnHookPlanOrder igtOnHookPlanOrder, QueryRequest request);
+    IPage<AdminIgtOnHookPlanOrderVo> getplanList(IgtOnHookPlanOrder igtOnHookPlanOrder, QueryRequest request);
 
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOnHookPlanServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOnHookPlanServiceImpl.java
index 85a6caa..21c811c 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOnHookPlanServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOnHookPlanServiceImpl.java
@@ -2,9 +2,14 @@
 
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.dapp.entity.IgtOnHookPlanOrder;
+import cc.mrbird.febs.dapp.entity.MemberCoinWithdrawEntity;
 import cc.mrbird.febs.dapp.mapper.IgtOnHookPlanOrderDao;
+import cc.mrbird.febs.dapp.mapper.MemberCoinWithdrawDao;
 import cc.mrbird.febs.dapp.service.AdminOnHookPlanService;
+import cc.mrbird.febs.dapp.vo.AdminIgtOnHookPlanOrderVo;
+import cc.mrbird.febs.dapp.vo.AdminMemberCoinWithdrawVo;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -14,8 +19,14 @@
 @Service
 @RequiredArgsConstructor
 public class AdminOnHookPlanServiceImpl extends ServiceImpl<IgtOnHookPlanOrderDao, IgtOnHookPlanOrder> implements AdminOnHookPlanService {
+
+    private final IgtOnHookPlanOrderDao igtOnHookPlanOrderDao;
+
     @Override
-    public IPage<IgtOnHookPlanOrder> getplanList(IgtOnHookPlanOrder igtOnHookPlanOrder, QueryRequest request) {
-        return null;
+    public IPage<AdminIgtOnHookPlanOrderVo> getplanList(IgtOnHookPlanOrder igtOnHookPlanOrder, QueryRequest request) {
+        Page<IgtOnHookPlanOrder> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<AdminIgtOnHookPlanOrderVo> adminIgtOnHookPlanOrderVoIPage = igtOnHookPlanOrderDao.findMemberPlanListInPage(page, igtOnHookPlanOrder);
+        return adminIgtOnHookPlanOrderVoIPage;
     }
+
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
index 479b537..c854460 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
@@ -234,7 +234,7 @@
         //更新主表为结束状态
         IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(orderId);
         igtOnHookPlanOrder.setState(2);
-        igtOnHookPlanOrder.setPlanAmount(totalProfit);
+        igtOnHookPlanOrder.setProfit(totalProfit);
         igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
         //所有未中奖的本金
         BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,1);
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/AdminIgtOnHookPlanOrderVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/AdminIgtOnHookPlanOrderVo.java
new file mode 100644
index 0000000..2ce5fab
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/AdminIgtOnHookPlanOrderVo.java
@@ -0,0 +1,36 @@
+package cc.mrbird.febs.dapp.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class AdminIgtOnHookPlanOrderVo {
+
+    @TableId(value = "id",type = IdType.AUTO)
+    private Long id;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+    //挂机开始时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+    //挂机状态 1:开始 2:结束
+    private Integer state;
+    public static final Integer STATE_START = 1;
+    public static final Integer STATE_END = 2;
+    //挂机总金额
+    private BigDecimal planAmount;
+    //挂机剩余金额
+    private BigDecimal avaAmount;
+    //挂机方案倍数
+    private Integer planCode;
+    //盈利状态:1:盈利 2:亏损
+    private Integer profitState;
+    //总收益
+    private BigDecimal profit;
+    private String username;
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/AdminPlanSetVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/AdminPlanSetVo.java
new file mode 100644
index 0000000..4bc94bc
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/AdminPlanSetVo.java
@@ -0,0 +1,12 @@
+package cc.mrbird.febs.dapp.vo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AdminPlanSetVo", description = "挂机时间规则")
+public class AdminPlanSetVo {
+    private String maxHours;
+    private String startTime;
+    private String endTime;
+}
diff --git a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
index 926227b..d4e71e3 100644
--- a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
+++ b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -145,7 +145,7 @@
                 }else{
                     igtOnHookPlanOrder.setProfitState(1);
                 }
-                igtOnHookPlanOrder.setPlanAmount(totalProfit);
+                igtOnHookPlanOrder.setProfit(totalProfit);
                 igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
                 dappMemberEntity.setIsOnHook(3);
                 dappMemberDao.updateById(dappMemberEntity);
diff --git a/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml b/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml
index ba5dc3e..17f66f6 100644
--- a/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml
+++ b/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml
@@ -6,8 +6,11 @@
         select a.*, b.username username from dapp_account_money_change a
         inner join dapp_member b on a.member_id=b.id
         <where>
+            <if test="record.description!=null and record.description!=''">
+                (a.member_id in (select id from dapp_member where FIND_IN_SET(#{record.description}, referer_ids)))
+            </if>
             <if test="record.address !='' and record.address != null">
-                and (b.username = #{record.address} or b.invite_id=#{record.address})
+                and b.username like CONCAT('%',#{record.address},'%')
             </if>
             <if test="record.type != null">
                 and a.type=#{record.type}
diff --git a/src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml b/src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml
index c41cb6f..ed98061 100644
--- a/src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml
+++ b/src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml
@@ -50,4 +50,27 @@
         where and date_format(a.create_time, '%Y-%m-%d') = #{createTime}
     </select>
 
+    <select id="findMemberPlanListInPage" resultType="cc.mrbird.febs.dapp.vo.AdminIgtOnHookPlanOrderVo">
+        SELECT
+        s.*,
+        m.username username
+        FROM
+        igt_on_hook_plan_order s
+        left join dapp_member m on m.id = s.member_id
+        <where>
+            <if test="record != null" >
+                <if test="record.description!=null and record.description!=''">
+                    (s.member_id in (select id from dapp_member where FIND_IN_SET(#{record.description}, referer_ids)))
+                </if>
+                <if test="record.state!=null and record.state!=''">
+                    and s.state= #{record.state}
+                </if>
+                <if test="record.profitState!=null and record.profitState!=''">
+                    and s.profit_state= #{record.profitState}
+                </if>
+            </if>
+        </where>
+        order by s.create_time desc
+    </select>
+
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/dapp/money-change-flow.html b/src/main/resources/templates/febs/views/dapp/money-change-flow.html
index 1716dac..bc27446 100644
--- a/src/main/resources/templates/febs/views/dapp/money-change-flow.html
+++ b/src/main/resources/templates/febs/views/dapp/money-change-flow.html
@@ -145,20 +145,17 @@
                     {field: 'amount', title: '变化金额', minWidth: 100},
                     {field: 'afterAmount', title: '变化后金额', minWidth: 100},
                     {field: 'content', title: '描述', minWidth: 130},
-                    {title: '类型', templet: '#type-format'},
+                    // {title: '类型', templet: '#type-format'},
                     {field: 'createTime', title: '创建时间', minWidth: 180}
                 ]]
             });
         }
 
         function getQueryParams() {
-            // return {
-            //     inviteId: $searchForm.find('input[name="inviteId"]').val().trim(),
-            //     changeAble: $searchForm.find("select[name='changeAble']").val(),
-            //     accountStatus: $searchForm.find("select[name='accountStatus']").val(),
-            //     withdrawAble: $searchForm.find("input[name='withdrawAble']").val(),
-            //     invalidate_ie_cache: new Date()
-            // };
+            return {
+                type: $searchForm.find("select[name='type']").val(),
+                address: $searchForm.find('input[name="address"]').val().trim()
+            };
         }
 
         function changeStatus(url) {
diff --git a/src/main/resources/templates/febs/views/onhookplan/planList.html b/src/main/resources/templates/febs/views/onhookplan/planList.html
index 566549b..4423c11 100644
--- a/src/main/resources/templates/febs/views/onhookplan/planList.html
+++ b/src/main/resources/templates/febs/views/onhookplan/planList.html
@@ -1,10 +1,143 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title>Title</title>
-</head>
-<body>
+<div class="layui-fluid layui-anim febs-anim" id="febs-member-plan" 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">
+                                        <label class="layui-form-label layui-form-label-sm">操作类型</label>
+                                        <div class="layui-input-inline">
+                                            <select name="state">
+                                                <option value=""></option>
+                                                <option value="1">挂机中</option>
+                                                <option value="2">结束</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">&#xe848;</i>
+                                </div>
+                                <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset">
+                                    <i class="layui-icon">&#xe79b;</i>
+                                </div>
+                            </div>
+                        </div>
+                    </form>
+                    <table lay-filter="planTable" lay-data="{id: 'planTable'}"></table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<style>
+    .layui-table-cell {
+        height: auto !important;
+    }
+</style>
+<script data-th-inline="none" type="text/javascript">
+    layui.use(['dropdown', 'jquery', 'laydate', 'form', 'table', 'febs', 'treeSelect'], function () {
+        var $ = layui.jquery,
+            laydate = layui.laydate,
+            febs = layui.febs,
+            form = layui.form,
+            table = layui.table,
+            dropdown = layui.dropdown,
+            $view = $('#febs-member-plan'),
+            $query = $view.find('#query'),
+            $reset = $view.find('#reset'),
+            $searchForm = $view.find('form'),
+            sortObject = {field: 'createTime', type: null},
+            tableIns;
 
-</body>
-</html>
\ No newline at end of file
+        form.render();
+
+        initTable();
+
+        table.on('tool(planTable)', function (obj) {
+            var data = obj.data,
+                layEvent = obj.event;
+            if (layEvent === 'agree') {
+                febs.modal.confirm('同意', '是否同意操作?', function () {
+                    agree(data.id);
+                });
+            }
+            if (layEvent === 'disagree') {
+                febs.modal.confirm('拒绝', '是否拒绝操作?', function () {
+                    disagree(data.id);
+                });
+            }
+        });
+
+        function agree(id) {
+            febs.get(ctx + 'admin/walletCoin/agreeWithdraw/' + id, null, function () {
+                febs.alert.success('操作成功');
+                $query.click();
+            });
+        }
+        function disagree(id) {
+            febs.get(ctx + 'admin/walletCoin/disagreeWithdraw/' + id, null, function () {
+                febs.alert.success('操作成功');
+                $query.click();
+            });
+        }
+
+        $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();
+            tableIns.reload({where: getQueryParams(), page: {curr: 1}});
+        });
+
+        function initTable() {
+            tableIns = febs.table.init({
+                elem: $view.find('table'),
+                id: 'planTable',
+                url: ctx + 'admin/onHook/getplanList',
+                totalRow: true,
+                cols: [[
+                    {field: 'username', title: '用户名', minWidth: 120, align: 'left', totalRowText: '合计'},
+                    {field: 'state', title: '挂机状态',
+                        templet: function (d) {
+                            if (d.state === 1) {
+                                return '<span>挂机中</span>'
+                            } else if (d.state === 2) {
+                                return '<span>结束</span>'
+                            }else{
+                                return
+                            }
+                        }, minWidth: 100, align: 'center'},
+                    {field: 'planAmount', title: '挂机总金额', minWidth: 100, align: 'center'},
+                    {field: 'avaAmount', title: '剩余金额', minWidth: 120, align: 'center', totalRow: true},
+                    {field: 'planCode', title: '挂机方案倍数', minWidth: 120, align: 'center'},
+                    {field: 'profit', title: '总收益', minWidth: 120, align: 'center', totalRow: true},
+                    {field: 'createTime', title: '时间', minWidth: 180, align: 'center'},
+                    // {title: '操作',
+                    //     templet: function (d) {
+                    //         if(d.status === 1){
+                    //             return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="agree" shiro:hasPermission="user:update">同意</button>'
+                    //                 +'<button class="layui-btn layui-btn-danger layui-btn-xs layui-btn-danger" lay-event="disagree" shiro:hasPermission="user:update">拒绝</button>'
+                    //         }else{
+                    //             return ''
+                    //         }
+                    //     },minWidth: 120,align:'center'}
+                ]]
+            });
+        }
+
+        function getQueryParams() {
+            return {
+                state: $searchForm.find("select[name='state']").val()
+            };
+        }
+
+    })
+</script>
diff --git a/src/main/resources/templates/febs/views/onhookplan/planSet.html b/src/main/resources/templates/febs/views/onhookplan/planSet.html
new file mode 100644
index 0000000..fa41a60
--- /dev/null
+++ b/src/main/resources/templates/febs/views/onhookplan/planSet.html
@@ -0,0 +1,112 @@
+<div class="layui-fluid layui-anim febs-anim" id="plan-setting" lay-title="挂机时间设置">
+    <div class="layui-row layui-col-space8 febs-container">
+        <form class="layui-form" action="" lay-filter="plan-setting-form">
+            <div class="layui-card">
+                <div class="m-title">挂机时间设置</div>
+                <div class="layui-card-body">
+                    <div class="layui-form-item">
+                        <label class="layui-form-label">挂机开始时间:</label>
+                        <div class="layui-input-block" style="width: 50%">
+                            <input type="text" class="layui-input" id="startTime" placeholder="HH:mm:ss" name="startTime">
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label">挂机结束时间:</label>
+                        <div class="layui-input-block" style="width: 50%">
+                            <input type="text" class="layui-input" id="endTime" placeholder="HH:mm:ss" name="endTime">
+                        </div>
+                        <div class="layui-input-block">
+                            <div class="layui-form-mid layui-word-aux">以上两个时间表示:在这个时间段内可以点击开始挂机</div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label">持续挂机时长:</label>
+                        <div class="layui-input-block" style="width: 50%">
+                            <input type="text" name="maxHours"
+                                   lay-verify="" autocomplete="off" class="layui-input" >
+                        </div>
+                        <div class="layui-input-block">
+                            <div class="layui-form-mid layui-word-aux">持续挂机时长表示:不手动点击结束的自动挂机时长</div>
+                        </div>
+                    </div>
+                </div>
+                <div class="layui-card-footer">
+                    <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="plan-setting-form-submit" id="submit">保存</button>
+                </div>
+            </div>
+        </form>
+    </div>
+</div>
+<style>
+    .layui-form-label {
+        width: 120px;
+    }
+
+    .layui-form-item .layui-input-block {
+        margin-left: 150px;
+    }
+
+    .layui-table-form .layui-form-item {
+        margin-bottom: 20px !important;
+    }
+    .m-title{
+        position: relative;
+        font-size: 16px;
+        font-weight: bold;
+        color: #000000;
+        padding-left: 20px;
+        margin: 0 0 10px;
+    }
+    .m-title::before{
+        content: '';
+        position: absolute;
+        left: 0;
+        width: 4px;
+        height: 20px;
+        background: #1890ff;
+    }
+</style>
+<script data-th-inline="javascript" type="text/javascript">
+    layui.use(['dropdown', 'jquery', 'validate', 'febs', 'form', 'laydate'], function () {
+        var $ = layui.jquery,
+            febs = layui.febs,
+            form = layui.form,
+            validate = layui.validate,
+            planSet = [[${planSet}]],
+            $view = $('#plan-setting'),
+            laydate = layui.laydate;
+
+        //时间选择器
+        laydate.render({
+            elem: '#startTime'
+            ,type: 'time'
+        });
+        //时间选择器
+        laydate.render({
+            elem: '#endTime'
+            ,type: 'time'
+        });
+
+        form.verify(validate);
+        form.render();
+        initUserValue();
+
+        function initUserValue() {
+            $("#startTime").val(planSet.startTime);
+            $("#endTime").val(planSet.endTime);
+            form.val("plan-setting-form", {
+                "maxHours": planSet.maxHours,
+                "startTime": planSet.startTime,
+                "endTime": planSet.endTime
+            });
+        }
+
+        form.on('submit(plan-setting-form-submit)', function (data) {
+            console.log(data.field);
+            febs.post(ctx + 'admin/onHook/setPlan', data.field, function (res) {
+                febs.alert.success('设置成功');
+            });
+            return false;
+        });
+    });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/walletCoin/transferInsideList.html b/src/main/resources/templates/febs/views/walletCoin/transferInsideList.html
index b4f6a0f..c7108cb 100644
--- a/src/main/resources/templates/febs/views/walletCoin/transferInsideList.html
+++ b/src/main/resources/templates/febs/views/walletCoin/transferInsideList.html
@@ -1,4 +1,4 @@
-<div class="layui-fluid layui-anim febs-anim" id="febs-member" lay-title="用户列表">
+<div class="layui-fluid layui-anim febs-anim" id="febs-member-withDraw" lay-title="用户列表">
     <div class="layui-row febs-container">
         <div class="layui-col-md12">
             <div class="layui-card">
@@ -59,7 +59,7 @@
             form = layui.form,
             table = layui.table,
             dropdown = layui.dropdown,
-            $view = $('#febs-member'),
+            $view = $('#febs-member-withDraw'),
             $query = $view.find('#query'),
             $reset = $view.find('#reset'),
             $searchForm = $view.find('form'),

--
Gitblit v1.9.1