Explorar o código

1.控制台体现任务统计

wuhp hai 1 ano
pai
achega
c25c3c3f66

+ 15 - 1
src/main/java/com/ydtech/modules/console/controller/WithdrawalTaskController.java

@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.HashMap;
 
 /**
  *   控制台体现任务
@@ -30,10 +31,23 @@ public class WithdrawalTaskController {
      * @return  控制台 提现任务  分页
      */
     @PostMapping("/queryPage")
-    @ApiOperation(value = "银行卡号分页")
+    @ApiOperation(value = "提现任务分页")
     public HttpResult<BasePageResult<WithdrawalTaskDto>> queryPageOrder(@RequestBody @Valid WithdrawalTaskVo withdrawalTaskVo) {
         BasePageResult<WithdrawalTaskDto> result = withdrawalTaskService.queryByVo(withdrawalTaskVo);
         return HttpResult.ok("success", result);
     }
 
+
+     /**
+     *
+     * @param withdrawalTaskVo
+     * @return  控制台 提现任务  统计
+     */
+    @PostMapping("/countWithdrawal")
+    @ApiOperation(value = "提现任务统计")
+    public HttpResult<HashMap<String, Object>> countWithdrawal(@RequestBody  WithdrawalTaskVo withdrawalTaskVo) {
+        HashMap<String, Object> result = withdrawalTaskService.countWithdrawal(withdrawalTaskVo);
+        return HttpResult.ok("success", result);
+    }
+
 }

+ 8 - 0
src/main/java/com/ydtech/modules/console/dao/WithdrawalTaskMapper.java

@@ -6,10 +6,18 @@ import com.ydtech.modules.console.vo.WithdrawalTaskVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.HashMap;
+
 @Mapper
 public interface WithdrawalTaskMapper {
 
 
     Page<WithdrawalTaskDto> queryByVo(@Param("page") Page<WithdrawalTaskDto> page,@Param("vo") WithdrawalTaskVo withdrawalTaskVo);
+    /**
+     *
+     * @param withdrawalTaskVo
+     * @return  控制台 提现任务  统计
+     */
+    HashMap<String, Object> countWithdrawal( @Param("vo") WithdrawalTaskVo withdrawalTaskVo);
 
 }

+ 34 - 26
src/main/java/com/ydtech/modules/console/dto/WithdrawalTaskDto.java

@@ -4,54 +4,62 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 
 @Data
 public class WithdrawalTaskDto implements Serializable {
-    @ApiModelProperty(value = "用户id")
+    @ApiModelProperty(value = "提现单号")
+    private String id;
+
+    @ApiModelProperty(value = "业务员工号")
     private String userId;
 
-    @ApiModelProperty(value = "用户名称")
+    @ApiModelProperty(value = "业务员名称")
     private String userName;
 
+    @ApiModelProperty(value = "业务来源")
+    private String source;
 
-    @ApiModelProperty(value = "银行卡号")
-    private String bankNumber;
+    @ApiModelProperty(value = "维护人工号")
+    private String  leaderId;
 
-    @ApiModelProperty(value = "开户行")
-    private String bankAccount;
 
-    @ApiModelProperty(value = "开户行地址")
-    private String bankAddress;
+    @ApiModelProperty(value = "维护人")
+    private String  leaderName;
 
-    @ApiModelProperty(value = "创建时间")
-    private String createTime;
+    @ApiModelProperty(value = "电话")
+    private String  mobile;
 
-    @ApiModelProperty(value = "账户审核状态  0未审核 1通过 2驳回")
-    private Integer auditStatus;
 
+    @ApiModelProperty(value = "机构代码")
+    private String  deptId;
 
-    @ApiModelProperty(value = "审核时间")
-    private String auditTime;
 
-    @ApiModelProperty(value = "审核人id")
-    private String auditUserId;
+    @ApiModelProperty(value = "机构名称")
+    private String  deptName;
 
-    @ApiModelProperty(value = "审核人名称")
-    private String auditUserName;
 
+    @ApiModelProperty(value = "提现金额")
+    private BigDecimal amount;
 
-    @ApiModelProperty(value = "驳回原因")
-    private String remark;
 
-    @ApiModelProperty(value = "删除标志 0未删除 1删除")
-    private String delFlag;
+    @ApiModelProperty(value = "账户余额")
+    private BigDecimal surplusAmount;
+
 
     @ApiModelProperty(value = "真实姓名")
     private String realUserName;
 
-    @ApiModelProperty(value = "0 未验证 1 已验证")
-    private String bankVerify;
+    @ApiModelProperty(value = "开户行")
+    private String bankAddress;
+
+    @ApiModelProperty(value = "银行")
+    private String bankAccount;
+
+    @ApiModelProperty(value = "银行账号")
+    private String bankNumber;
+
+    @ApiModelProperty(value = "提现时间")
+    private String createTime;
 
-    @ApiModelProperty(value = "归属端 1:渠道 2:个代 a:合伙人 b:机构负责人")
-    private String ascription;
 }

+ 8 - 0
src/main/java/com/ydtech/modules/console/service/WithdrawalTaskService.java

@@ -5,7 +5,15 @@ import com.ydtech.modules.console.dto.WithdrawalTaskDto;
 import com.ydtech.modules.console.vo.WithdrawalTaskVo;
 import com.ydtech.modules.order.entity.BasePageResult;
 
+import java.util.HashMap;
+
 public interface WithdrawalTaskService {
     BasePageResult<WithdrawalTaskDto> queryByVo(WithdrawalTaskVo withdrawalTaskVo);
+    /**
+     *
+     * @param withdrawalTaskVo
+     * @return  控制台 提现任务  统计
+     */
+    HashMap<String, Object> countWithdrawal(WithdrawalTaskVo withdrawalTaskVo);
 
 }

+ 15 - 0
src/main/java/com/ydtech/modules/console/service/impl/WithdrawalTaskServiceImpl.java

@@ -23,12 +23,27 @@ public class WithdrawalTaskServiceImpl implements WithdrawalTaskService {
         HashMap<String, String> dateMapByType = getDateMapByType(withdrawalTaskVo.getDateType(), withdrawalTaskVo.getBeginDate(), withdrawalTaskVo.getEndDate());
         withdrawalTaskVo.setBeginDate(dateMapByType.get("startDate"));
         withdrawalTaskVo.setEndDate(dateMapByType.get("endDate"));
+
         Page<WithdrawalTaskDto> page = new Page<>(withdrawalTaskVo.getPageNum(), withdrawalTaskVo.getPageSize());
         Page<WithdrawalTaskDto> result = withdrawalTaskMapper.queryByVo(page, withdrawalTaskVo);
         return new BasePageResult<>(withdrawalTaskVo.getPageNum(), page.getSize(), result.getTotal(), page.getPages(),
                 result.getRecords());
     }
 
+    /**
+     *
+     * @param withdrawalTaskVo
+     * @return  控制台 提现任务  统计
+     */
+    @Override
+    public HashMap<String, Object> countWithdrawal(WithdrawalTaskVo withdrawalTaskVo) {
+        HashMap<String, String> dateMapByType = getDateMapByType(withdrawalTaskVo.getDateType(), withdrawalTaskVo.getBeginDate(), withdrawalTaskVo.getEndDate());
+        withdrawalTaskVo.setBeginDate(dateMapByType.get("startDate"));
+        withdrawalTaskVo.setEndDate(dateMapByType.get("endDate"));
+        HashMap<String, Object> resultItem = withdrawalTaskMapper.countWithdrawal(withdrawalTaskVo);
+        return resultItem;
+    }
+
 
     private static HashMap<String, String> getDateMapByType(String type, String startDate, String endDate) {
         HashMap<String, String> map = new HashMap<>();

+ 56 - 25
src/main/resources/mapper/modules/console/WithdrawalTaskMapper.xml

@@ -5,35 +5,66 @@
 <mapper namespace="com.ydtech.modules.console.dao.WithdrawalTaskMapper">
 
     <select id="queryByVo" resultType="com.ydtech.modules.console.dto.WithdrawalTaskDto">
-        SELECT
-            id,
-            bank_number,
-            bank_account,
-            bank_address,
-            user_id,
-            user_name,
-            is_default,
-            create_time,
-            remark,
-            audit_status,
-            audit_time,
-            audit_user_id,
-            audit_user_name,
-            del_flag,
-            real_user_name,
-            bank_verify,
-            ascription
-        FROM
-            sys_user_bank_card
+        select
+            a.id as "id",
+            a.bank_number as "bankNumber",
+            a.amount as "amount",
+            a.user_id as "userId",
+            a.create_time as "createTime",
+            a.voucher_id as "voucherId",
+            a.pic_id as "picId",
+            a.auditing_status as "auditingStatus",
+            a.amount_status as "amountStatus",
+            a.auditing_time as "auditingTime",
+            a.auditing_user_id as "auditingUserId",
+            b.user_amount as "userAmount",
+            b.amount as "historyAmount",
+            b.surplus_amount as "surplusAmount",
+            su.name as "userName",
+            su.mobile as "mobile",
+            su2.name as "auditingUserName",
+            su.dept_id as "deptId",
+            sd.name as "deptName",
+            bc.bank_account as "bankAccount",
+            bc.bank_address as "bankAddress",
+            su.leader_name  as  "leaderName",
+            su.leader_id  as  "leaderId",
+            bc.real_user_name  as "realUserName",
+            a.account_name as "accountName",
+            a.bank_card_num  as "bankCardNum",
+            a.bank_name  as "bankName",
+            a.bank_num  as "bankNum",
+            a.account_id as "accountId",
+            sd.management_source  AS source
+        from sys_amount_auditing a
+                 left join sys_user_account_history b on a.id = b.auditiing_id
+                 left join sys_user su on su.id =a.user_id
+                 left join sys_dept sd on sd.id =su.dept_id
+                 left join sys_user_bank_card bc on bc.bank_number =a.bank_number and bc.user_id =a.user_id
+                 left join sys_user su2 on su2.id = a.auditing_user_id
         <where>
-            audit_status = '1'
             <if test="vo.beginDate  != null  and  vo.beginDate!=''  and vo.endDate  != null  and  vo.endDate!=''">
-                AND audit_time BETWEEN #{vo.beginDate} AND #{vo.endDate}
+                AND a.auditing_time BETWEEN #{vo.beginDate} AND #{vo.endDate}
             </if>
         </where>
-            
-        ORDER BY
-            audit_time ASC
+
+    </select>
+
+    <select id="countWithdrawal" resultType="java.util.HashMap">
+        select
+              IFNULL(sum(a.amount),0) as "allWithdrawalAmount",
+              IFNULL(count(a.id),0) as "allWithdrawalNumber",
+              sum( CASE WHEN a.auditing_status = 2 THEN  IFNULL(a.amount,0)  END )  AS notWithdrawalAmount,
+              sum( CASE WHEN a.auditing_status = 3 THEN  IFNULL(a.amount,0)  END )  AS withdrawalAmount,
+              count(CASE WHEN a.auditing_status = 2 THEN  1  END) as "notAllWithdrawalNumber",
+              count(CASE WHEN a.auditing_status = 3 THEN  1  END) as "withdrawalNumber"
+        from sys_amount_auditing a
+        <where>
+            <if test="vo.beginDate  != null  and  vo.beginDate!=''  and vo.endDate  != null  and  vo.endDate!=''">
+                AND a.auditing_time BETWEEN #{vo.beginDate} AND #{vo.endDate}
+            </if>
+        </where>
+
     </select>