Browse Source

用户提现导出

weifanli 2 years ago
parent
commit
4ac1c3aea9

+ 2 - 2
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UserOrderController.java

@@ -56,9 +56,9 @@ public class UserOrderController extends BaseController {
     /**
      * 查询导出
      */
-    @GetMapping("/export")
+    @PostMapping("/export")
     @ApiOperation(value = "查询导出", notes = "传入orderSearch")
-    public void export(OrderSearch query) {
+    public void export(@RequestBody OrderSearch query) {
         List<UserOrderVo> userOrderVos = userOrderService.selectList(query);
         List<UserOrderExport> list = new ArrayList<>();
         userOrderVos.forEach(o-> {

+ 13 - 10
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UserWithdrawalController.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.admin.controller;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import com.yonge.cooleshow.biz.dal.dto.excel.UserOrderExport;
+import com.yonge.cooleshow.biz.dal.dto.excel.UserWithdrawalExport;
 import com.yonge.cooleshow.biz.dal.dto.search.OrderSearch;
 import com.yonge.cooleshow.biz.dal.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.vo.UserOrderVo;
@@ -13,6 +14,7 @@ import com.yonge.toolset.utils.easyexcel.ExcelUtils;
 import io.swagger.annotations.*;
 import org.apache.commons.beanutils.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.DigestUtils;
 import org.springframework.web.bind.annotation.*;
 
 import com.yonge.cooleshow.biz.dal.vo.UserWithdrawalVo;
@@ -53,19 +55,20 @@ public class UserWithdrawalController extends BaseController {
     /**
      * 查询导出
      */
-    @GetMapping("/export")
+    @PostMapping("/export")
     @ApiOperation(value = "查询导出", notes = "传入TeacherWithdrawalSearch")
-    public void export(TeacherWithdrawalSearch query) {
+    public void export(@RequestBody TeacherWithdrawalSearch query) {
         List<UserWithdrawalVo> withdrawalVoList = userWithdrawalService.selectList(query);
-
-
-
-
-        List<UserOrderExport> list = new ArrayList<>();
+        List<UserWithdrawalExport> list = new ArrayList<>();
         withdrawalVoList.forEach(o-> {
-            UserOrderExport export = new UserOrderExport();
+            UserWithdrawalExport export = new UserWithdrawalExport();
             try {
                 BeanUtils.copyProperties(export,o);
+                StringBuffer buffer = new StringBuffer(export.getId().toString());
+                buffer.append(export.getAmount());
+                buffer.append(export.getActualAmount());
+                String s = DigestUtils.md5DigestAsHex(buffer.toString().getBytes());
+                export.setSign(s);
                 list.add(export);
             } catch (IllegalAccessException e) {
                 e.printStackTrace();
@@ -73,8 +76,8 @@ public class UserWithdrawalController extends BaseController {
                 e.printStackTrace();
             }
         });
-        ExcelUtils.exportExcel(list, "订单列表数据" + System.currentTimeMillis(),
-                "订单列表数据");
+        ExcelUtils.exportExcel(list, "提现列表数据" + System.currentTimeMillis(),
+                "列表数据");
     }
 
 

+ 9 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/convert/OrderStatusConvert.java

@@ -29,23 +29,20 @@ public class OrderStatusConvert implements Converter<OrderStatusEnum> {
      *     PAID("PAID","已付款"),
      *     CLOSE("CLOSE","已关闭")
      */
-
-
     @Override
     public OrderStatusEnum convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
-        if ("待支付".equals(cellData.getStringValue())) { return OrderStatusEnum.WAIT_PAY; }
-        if ("支付中".equals(cellData.getStringValue())) { return OrderStatusEnum.PAYING; }
-        if ("已付款".equals(cellData.getStringValue())) { return OrderStatusEnum.PAID; }
-        if ("已关闭".equals(cellData.getStringValue())) { return OrderStatusEnum.CLOSE; }
-        return null;
+        try {
+            return OrderStatusEnum.valueOf(cellData.getStringValue());
+        }catch (Exception e){
+            return null;
+        }
     }
 
     @Override
-    public CellData convertToExcelData(OrderStatusEnum orderType, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
-        if (orderType.equals(OrderStatusEnum.WAIT_PAY)) { return new CellData("待支付"); }
-        if (orderType.equals(OrderStatusEnum.PAYING)) { return new CellData("支付中"); }
-        if (orderType.equals(OrderStatusEnum.PAID)) { return new CellData("已付款"); }
-        if (orderType.equals(OrderStatusEnum.CLOSE)) { return new CellData("已关闭"); }
+    public CellData convertToExcelData(OrderStatusEnum statusEnum, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+        if(null != statusEnum){
+            return new CellData(statusEnum.getCode());
+        }
         return new CellData("异常数据");
     }
 }

+ 9 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/convert/OrderTypeConvert.java

@@ -25,21 +25,18 @@ public class OrderTypeConvert implements Converter<OrderTypeEnum> {
 
     @Override
     public OrderTypeEnum convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
-        if ("开通会员".equals(cellData.getStringValue())) { return OrderTypeEnum.VIP; }
-        if ("陪练课购买".equals(cellData.getStringValue())) { return OrderTypeEnum.PRACTICE; }
-        if ("直播课购买".equals(cellData.getStringValue())) { return OrderTypeEnum.LIVE; }
-        if ("视频课购买".equals(cellData.getStringValue())) { return OrderTypeEnum.VIDEO; }
-        if ("单曲点播".equals(cellData.getStringValue())) { return OrderTypeEnum.MUSIC; }
-        return null;
+        try {
+            return OrderTypeEnum.valueOf(cellData.getStringValue());
+        }catch (Exception e){
+            return null;
+        }
     }
 
     @Override
-    public CellData convertToExcelData(OrderTypeEnum orderType, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
-        if (orderType.equals(OrderTypeEnum.VIP)) { return new CellData("开通会员"); }
-        if (orderType.equals(OrderTypeEnum.PRACTICE)) { return new CellData("陪练课购买"); }
-        if (orderType.equals(OrderTypeEnum.LIVE)) { return new CellData("直播课购买"); }
-        if (orderType.equals(OrderTypeEnum.VIDEO)) { return new CellData("视频课购买"); }
-        if (orderType.equals(OrderTypeEnum.MUSIC)) { return new CellData("单曲点播"); }
+    public CellData convertToExcelData(OrderTypeEnum statusEnum, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+        if(null != statusEnum){
+            return new CellData(statusEnum.getCode());
+        }
         return new CellData("异常数据");
     }
 }

+ 42 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/convert/WithdrawalStatusConvert.java

@@ -0,0 +1,42 @@
+package com.yonge.cooleshow.biz.dal.convert;
+
+import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.enums.CellDataTypeEnum;
+import com.alibaba.excel.metadata.CellData;
+import com.alibaba.excel.metadata.GlobalConfiguration;
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
+import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022/4/15 15:36
+ */
+public class WithdrawalStatusConvert implements Converter<AuthStatusEnum> {
+
+    @Override
+    public Class supportJavaTypeKey() {
+        return CellDataTypeEnum.class;
+    }
+
+    @Override
+    public CellDataTypeEnum supportExcelTypeKey() {
+        return CellDataTypeEnum.STRING;
+    }
+
+    @Override
+    public AuthStatusEnum convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+        try {
+            return AuthStatusEnum.valueOf(cellData.getStringValue());
+        }catch (Exception e){
+            return null;
+        }
+    }
+
+    @Override
+    public CellData convertToExcelData(AuthStatusEnum statusEnum, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+        if(null != statusEnum){
+            return new CellData(statusEnum.getCode());
+        }
+        return new CellData("异常数据");
+    }
+}

+ 83 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/excel/UserWithdrawalExport.java

@@ -1,8 +1,8 @@
 package com.yonge.cooleshow.biz.dal.dto.excel;
 
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.yonge.cooleshow.biz.dal.convert.WithdrawalStatusConvert;
 import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
-import io.swagger.annotations.ApiModelProperty;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -28,7 +28,88 @@ public class UserWithdrawalExport {
     private BigDecimal actualAmount;
     @ExcelProperty(value = "银行流水号", index = 7)
     private String bankFlowNo;
-    @ExcelProperty(value = "提现状态 DOING、审核中 PASS、通过 UNPASS、不通过")
+    @ExcelProperty(value = "提现状态 DOING、审核中 PASS、通过 UNPASS、不通过", index = 8,converter = WithdrawalStatusConvert.class)
     private AuthStatusEnum status;
+    @ExcelProperty(value = "签名", index = 9)
+    private String sign;
 
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getWithdrawaUser() {
+        return withdrawaUser;
+    }
+
+    public void setWithdrawaUser(String withdrawaUser) {
+        this.withdrawaUser = withdrawaUser;
+    }
+
+    public BigDecimal getAmount() {
+        return amount;
+    }
+
+    public void setAmount(BigDecimal amount) {
+        this.amount = amount;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getBankName() {
+        return bankName;
+    }
+
+    public void setBankName(String bankName) {
+        this.bankName = bankName;
+    }
+
+    public String getBankCard() {
+        return bankCard;
+    }
+
+    public void setBankCard(String bankCard) {
+        this.bankCard = bankCard;
+    }
+
+    public BigDecimal getActualAmount() {
+        return actualAmount;
+    }
+
+    public void setActualAmount(BigDecimal actualAmount) {
+        this.actualAmount = actualAmount;
+    }
+
+    public String getBankFlowNo() {
+        return bankFlowNo;
+    }
+
+    public void setBankFlowNo(String bankFlowNo) {
+        this.bankFlowNo = bankFlowNo;
+    }
+
+    public AuthStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(AuthStatusEnum status) {
+        this.status = status;
+    }
+
+    public String getSign() {
+        return sign;
+    }
+
+    public void setSign(String sign) {
+        this.sign = sign;
+    }
 }

+ 3 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/EmployeeServiceImpl.java

@@ -4,21 +4,13 @@ import java.util.Date;
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.auth.api.enums.SysUserType;
 import com.yonge.cooleshow.biz.dal.dto.EmployeeDto;
 import com.yonge.cooleshow.biz.dal.dto.search.EmployeeSearch;
-import com.yonge.cooleshow.biz.dal.dto.search.StudentSearch;
-import com.yonge.cooleshow.biz.dal.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.vo.EmployeeVo;
-import com.yonge.cooleshow.biz.dal.vo.StudentVo;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.page.QueryInfo;
-import com.yonge.cooleshow.common.page.PageInfo;
-import io.swagger.models.auth.In;
-import org.apache.commons.beanutils.BeanUtils;
-import org.apache.ibatis.annotations.Param;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
@@ -101,7 +93,8 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Long, Employee> impleme
         if (null != oldPhoneUser && !oldPhoneUser.getId().equals(sysUser.getId())) {
             return HttpResponseResult.failed("手机号已经有用户使用");
         }
-        BeanUtils.copyProperties(sysUser, param);
+        BeanUtils.copyProperties(param, sysUser, "gender");
+        sysUser.setGender(param.getGender().getCode());
         employeeDao.updateSysUser(sysUser);
 
         employeeDao.delEmployeeRole(employee.getUserId());

+ 10 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserBankCardServiceImpl.java

@@ -1,6 +1,7 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.biz.dal.dto.UserBankCardDto;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -51,9 +52,17 @@ public class UserBankCardServiceImpl extends ServiceImpl<UserBankCardDao, UserBa
         if (!isBankCard) {
             return HttpResponseResult.failed("银行卡号不合法");
         }
+        //验证重复
+        UserBankCard oldBankCard = baseMapper.selectOne(Wrappers.<UserBankCard>lambdaQuery()
+                .eq(UserBankCard::getUserId, bankCard.getUserId())
+                .eq(UserBankCard::getBankCard, bankCard.getBankCard())
+        );
+        if(null != oldBankCard){
+            return HttpResponseResult.failed("已经绑定该银行卡");
+        }
         boolean verify = realnameAuthenticationPlugin.verify(bankCard.getName(), bankCard.getIdCardNo());
         if (!verify) {
-            return HttpResponseResult.failed("未通过实名认证");
+            return HttpResponseResult.failed("未通过证");
         }
 	    //当前用户只有一张银行卡
         baseMapper.deleteByUserId(bankCard.getUserId());

+ 1 - 1
toolset/audit-log/src/main/java/com/yonge/toolset/log/interceptor/AuditLogInterceptor.java

@@ -121,7 +121,7 @@ public class AuditLogInterceptor extends HandlerInterceptorAdapter {
                     return;
                 }
             }
-            saveLog(operateName, servletPath, request);
+            //saveLog(operateName, servletPath, request);
         } catch (Exception e) {
             e.printStackTrace();
         }