Browse Source

feat: "线下/海外订单保存"

wangzeyu@tom.com 2 years ago
parent
commit
5db0ac3459
26 changed files with 1158 additions and 505 deletions
  1. 21 0
      src/main/java/com/szwl/controller/TAdminController.java
  2. 193 7
      src/main/java/com/szwl/controller/TCoinOrderController.java
  3. 436 429
      src/main/java/com/szwl/controller/TOrderController.java
  4. 24 0
      src/main/java/com/szwl/feign/EsFeign.java
  5. 7 4
      src/main/java/com/szwl/feign/SzwlFeign.java
  6. 16 0
      src/main/java/com/szwl/mapper/TAdminMapper.java
  7. 6 2
      src/main/java/com/szwl/mapper/TCoinOrderMapper.java
  8. 0 1
      src/main/java/com/szwl/mapper/TOrderMapper.java
  9. 51 0
      src/main/java/com/szwl/mapper/xml/TAdminMapper.xml
  10. 43 1
      src/main/java/com/szwl/mapper/xml/TCoinOrderMapper.xml
  11. 102 0
      src/main/java/com/szwl/model/bean/CoinOrderVO.java
  12. 49 0
      src/main/java/com/szwl/model/dto/CoinOrderDTO.java
  13. 41 17
      src/main/java/com/szwl/model/entity/TAdmin.java
  14. 113 24
      src/main/java/com/szwl/model/entity/TCoinOrder.java
  15. 1 1
      src/main/java/com/szwl/model/entity/TOrder.java
  16. 0 1
      src/main/java/com/szwl/model/query/OrderStatisticsDTO.java
  17. 1 0
      src/main/java/com/szwl/model/query/Pageable.java
  18. 0 8
      src/main/java/com/szwl/model/query/TAdminParam.java
  19. 1 1
      src/main/java/com/szwl/model/query/Filter.java
  20. 16 0
      src/main/java/com/szwl/service/TAdminService.java
  21. 5 2
      src/main/java/com/szwl/service/TCoinOrderService.java
  22. 0 1
      src/main/java/com/szwl/service/TOrderService.java
  23. 0 1
      src/main/java/com/szwl/service/es/EsTCoinOrderService.java
  24. 20 0
      src/main/java/com/szwl/service/impl/TAdminServiceImpl.java
  25. 10 2
      src/main/java/com/szwl/service/impl/TCoinOrderServiceImpl.java
  26. 2 3
      src/main/java/com/szwl/service/impl/TOrderServiceImpl.java

+ 21 - 0
src/main/java/com/szwl/controller/TAdminController.java

@@ -0,0 +1,21 @@
+package com.szwl.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author wuhs
+ * @since 2023-08-07
+ */
+@RestController
+@RequestMapping("/tAdmin")
+public class TAdminController {
+
+}
+

+ 193 - 7
src/main/java/com/szwl/controller/TCoinOrderController.java

@@ -1,32 +1,58 @@
 package com.szwl.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gexin.fastjson.JSON;
+import com.szwl.constant.ResponseCodesEnum;
+import com.szwl.feign.EsFeign;
 import com.szwl.feign.SzwlFeign;
 import com.szwl.feign.bean.TAdminParam;
+import com.szwl.model.bean.CoinOrderVO;
+import com.szwl.model.bo.JsonMessage;
 import com.szwl.model.bo.R;
 import com.szwl.model.bo.ResponseModel;
+import com.szwl.model.entity.TCoinOrder;
+import com.szwl.model.entity.TEquipment;
+import com.szwl.model.query.OrderStatisticsDTO;
+import com.szwl.model.query.Pageable;
+import com.szwl.model.utils.JsonUtils;
+import com.szwl.service.TCoinOrderService;
+import com.szwl.service.es.EsTCoinOrderService;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-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.annotation.Resource;
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 
 /**
  * <p>
- * 线下支付订单 前端控制器
+ *  前端控制器
  * </p>
  *
  * @author wuhs
- * @since 2022-06-14
+ * @since 2023-08-10
  */
 @RestController
 @RequestMapping("/tCoinOrder")
 public class TCoinOrderController {
-    @Autowired
+    @Resource
     SzwlFeign szwlFeign;
+    @Autowired
+    EsTCoinOrderService esTCoinOrderService;
+    @Autowired
+    TCoinOrderService coinOrderService;
+//    @Resource
+//    EsFeign esFeign;
 
     @ApiOperation(value = "测试feign")
     @GetMapping("/testFeign")
@@ -34,5 +60,165 @@ public class TCoinOrderController {
         List list = R.getDataIfSuccess(szwlFeign.testList(new TAdminParam().setName(name)));
         return R.ok(list);
     }
+
+//    @ApiOperation(value = "同步订单到es中")
+//    @PostMapping("/saveOrderAbroadToEs")
+//    public ResponseModel<?> saveToEs(@RequestBody TCoinOrder coinOrder){
+//        if(coinOrder==null){
+//            return R.fail(ResponseCodesEnum.A0001);
+//        }
+//        esFeign.saveOrderAbroadToEs(coinOrder);
+//        return R.ok("同步es成功");
+//    }
+
+    /**
+     * 保存 线下 订单
+     * @param coinOrderVO
+     * @return
+     */
+    @PostMapping("/saveCoinOrder")
+    @ResponseBody
+    public Object saveCoinOrder(@RequestBody CoinOrderVO coinOrderVO) {
+        String clientId = coinOrderVO.getClientId();
+        String name = coinOrderVO.getName();
+        Integer payType = coinOrderVO.getPayType();
+        BigDecimal price = coinOrderVO.getPrice();
+        String sn = coinOrderVO.getSn();
+        TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(clientId));
+        Long adminId = equipment.getAdminId();
+        if (adminId == null) {
+            return JsonMessage.error("找不到设备商家");
+        }
+
+        TCoinOrder coinOrder = new TCoinOrder();
+        coinOrder.setType(null);
+        coinOrder.setClientId(clientId);
+        coinOrder.setAdminId(adminId);
+        coinOrder.setProductName(name);
+        coinOrder.setPayType(payType);
+        coinOrder.setPrice(price);
+        coinOrder.setProductNo(coinOrderVO.getNo());
+        coinOrder.setSn(sn);
+        if(coinOrderVO.getProductNumber()==null||coinOrderVO.getProductNumber()==0){
+            coinOrderVO.setProductNumber(1);
+        }else {
+            coinOrder.setProductNumber(coinOrderVO.getProductNumber());
+        }
+        if(StringUtils.isNotEmpty(coinOrderVO.getCreateDate())){
+            java.text.SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
+            Date date1 = null;
+            try {
+                date1 =  formatter.parse(coinOrderVO.getCreateDate());
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+            coinOrder.setCreateDate(date1);
+            coinOrder.setModifyDate(date1);
+            coinOrder.setPayDate(date1);
+        }else{
+            coinOrder.setCreateDate(new Date());
+            coinOrder.setModifyDate(new Date());
+            coinOrder.setPayDate(new Date());
+        }
+        coinOrderService.save(coinOrder);
+        try {
+            esTCoinOrderService.insertData(coinOrder);
+        }catch (Exception e) {
+            e.printStackTrace();
+        }
+        return JsonMessage.success("添加线下订单成功");
+    }
+
+
+    //设备查询线下订单记录
+    @RequestMapping(value = "/findCoinOrder", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
+    @ResponseBody
+    public String list(String clientId, String sn, String productName, Integer payType, Date begin, Date end, Pageable pageable) {
+        LambdaQueryWrapper<TCoinOrder> query = Wrappers.lambdaQuery();
+        if (StringUtils.isNotEmpty(sn)) {
+            query.eq(TCoinOrder::getSn,sn);
+        }
+        if (StringUtils.isNotEmpty(productName)) {
+            query.eq(TCoinOrder::getProductName,productName);
+        }
+        if (payType != null) {
+            query.eq(TCoinOrder::getPayType,payType);
+        }
+        if (begin != null && end != null) {
+            query.gt(TCoinOrder::getPayDate,begin);
+            query.lt(TCoinOrder::getPayDate,end);
+        }
+        query.eq(TCoinOrder::getClientId,clientId);
+        int size = pageable.getPageSize();
+        int current = pageable.getPageNumber();
+        Page<TCoinOrder> page = new Page<>(current, size, true);
+        IPage<TCoinOrder> iPage = coinOrderService.page(page, query);
+        long total = page.getTotal();
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("total", total);
+        jsonObject.put("coinorders", JSON.toJSONString(iPage.getRecords()));
+        return jsonObject.toJSONString();
+    }
+
+    //设备查询线下订单记录
+    @RequestMapping(value = "/newFindCoinOrder", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
+    @ResponseBody
+    public String newFindCoinOrder(String clientId, String sn, String productName, Integer payType, String begin,String end, Pageable pageable) {
+        LambdaQueryWrapper<TCoinOrder> query = Wrappers.lambdaQuery();
+        java.text.SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
+        Date date1 = null;
+        Date date2 = null;
+        try {
+            date1 =  formatter.parse(begin);
+            date2 =  formatter.parse(end);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        if (StringUtils.isNotEmpty(sn)) {
+            query.eq(TCoinOrder::getSn,sn);
+        }
+        if (StringUtils.isNotEmpty(productName)) {
+            query.eq(TCoinOrder::getProductName,productName);
+        }
+        if (payType != null) {
+            query.eq(TCoinOrder::getPayType,payType);
+        }
+        if (begin != null && end != null) {
+            query.gt(TCoinOrder::getPayDate,begin);
+            query.lt(TCoinOrder::getPayDate,end);
+        }
+        query.eq(TCoinOrder::getClientId,clientId);
+        int size = pageable.getPageSize();
+        int current = pageable.getPageNumber();
+        Page<TCoinOrder> page = new Page<>(current, size, true);
+        IPage<TCoinOrder> iPage = coinOrderService.page(page, query);
+        long total = page.getTotal();
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("total", total);
+        jsonObject.put("coinorders", JSON.toJSONString(iPage.getRecords()));
+        return jsonObject.toJSONString();
+    }
+
+    //设备查看线下汇总统计
+    @RequestMapping(value = "/listCoin", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
+    @ResponseBody
+    public Object findByTime(String clientId, String startTime, String endTime) {
+        java.text.SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
+        Date date1 = null;
+        Date date2 = null;
+        try {
+            date1 =  formatter.parse(startTime);
+            date2 =  formatter.parse(endTime);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        List<OrderStatisticsDTO> list = coinOrderService.findTotalByTime(clientId, date1, date2);
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("code", 0);
+        jsonObject.put("data", JsonUtils.toJson(list));
+        jsonObject.put("errmsg", "");
+        return jsonObject;
+    }
+
 }
 

File diff suppressed because it is too large
+ 436 - 429
src/main/java/com/szwl/controller/TOrderController.java


+ 24 - 0
src/main/java/com/szwl/feign/EsFeign.java

@@ -0,0 +1,24 @@
+package com.szwl.feign;
+
+import com.szwl.feign.bean.TAdminParam;
+import com.szwl.model.bo.ResponseModel;
+import com.szwl.model.entity.TCoinOrder;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+@FeignClient(name = "es-server")
+public interface EsFeign {
+
+    @GetMapping("/test/testList")
+    ResponseModel<List<?>> testList(TAdminParam param);
+
+//    @GetMapping("/es/saveOrderAbroadToEs")
+//    ResponseModel<?> saveOrderAbroadToEs(@RequestBody TOrderAbroad orderAbroad);
+
+//    @GetMapping("/es/saveCoinOrderToEs")
+//    ResponseModel<?> saveCoinOrderToEs(@RequestBody TCoinOrder coinOrder);
+
+}

+ 7 - 4
src/main/java/com/szwl/feign/SzwlFeign.java

@@ -8,10 +8,7 @@ import com.szwl.model.entity.TAdminEquipment;
 import com.szwl.model.entity.TEquipment;
 import com.szwl.model.entity.TShandeMch;
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -47,4 +44,10 @@ public interface SzwlFeign {
     ResponseModel<TShandeMch> getShandeMch(@RequestParam String adminId);
     @PostMapping("/tShandeMch/updateShandeMch")
     ResponseModel<TShandeMch> updateShandeMch(@RequestBody TShandeMch shandeMch);
+
+    @GetMapping("/tAdmin/getAdminType")
+    ResponseModel<Integer> getAdminType(@RequestParam Long adminId);
+
+    @PostMapping("/tEquipment/updateByEquipment")
+    ResponseModel<TEquipment> updateByEquipment(@RequestBody TEquipment equipment);
 }

+ 16 - 0
src/main/java/com/szwl/mapper/TAdminMapper.java

@@ -0,0 +1,16 @@
+package com.szwl.mapper;
+
+import com.szwl.model.entity.TAdmin;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author wuhs
+ * @since 2023-08-07
+ */
+public interface TAdminMapper extends BaseMapper<TAdmin> {
+
+}

+ 6 - 2
src/main/java/com/szwl/mapper/TCoinOrderMapper.java

@@ -4,18 +4,22 @@ import com.szwl.model.bean.OrderDaoChuDTO;
 import com.szwl.model.entity.TCoinOrder;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.szwl.model.query.OrderDaoChuParam;
+import com.szwl.model.query.OrderStatisticsDTO;
 
+import java.util.Date;
 import java.util.List;
 
 /**
  * <p>
- * 线下支付订单 Mapper 接口
+ *  Mapper 接口
  * </p>
  *
  * @author wuhs
- * @since 2022-06-14
+ * @since 2023-08-10
  */
 public interface TCoinOrderMapper extends BaseMapper<TCoinOrder> {
 
     List<OrderDaoChuDTO> getOrderDaoCu(OrderDaoChuParam daoChuParam);
+
+    List<OrderStatisticsDTO> findTotalByTime(String clientId, Date startTime, Date endTime);
 }

+ 0 - 1
src/main/java/com/szwl/mapper/TOrderMapper.java

@@ -6,7 +6,6 @@ import com.szwl.model.entity.TOrder;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.szwl.model.query.OrderDaoChuParam;
 import com.szwl.model.query.OrderStatisticsDTO;
-import com.szwl.model.query.Pageable;
 import com.szwl.model.query.StatisticsParam;
 
 import java.util.Date;

+ 51 - 0
src/main/java/com/szwl/mapper/xml/TAdminMapper.xml

@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.szwl.mapper.TAdminMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.szwl.model.entity.TAdmin">
+        <id column="id" property="id" />
+        <result column="create_date" property="createDate" />
+        <result column="modify_date" property="modifyDate" />
+        <result column="agency_id" property="agencyId" />
+        <result column="area_id" property="areaId" />
+        <result column="qr_code_img_url" property="qrCodeImgUrl" />
+        <result column="department" property="department" />
+        <result column="email" property="email" />
+        <result column="is_admined" property="isAdmined" />
+        <result column="is_enabled" property="isEnabled" />
+        <result column="is_locked" property="isLocked" />
+        <result column="locked_date" property="lockedDate" />
+        <result column="login_date" property="loginDate" />
+        <result column="login_failure_count" property="loginFailureCount" />
+        <result column="login_ip" property="loginIp" />
+        <result column="merchant_id" property="merchantId" />
+        <result column="trade_merchant_no" property="tradeMerchantNo" />
+        <result column="name" property="name" />
+        <result column="parent_id" property="parentId" />
+        <result column="password" property="password" />
+        <result column="personage_id" property="personageId" />
+        <result column="notice_id" property="noticeId" />
+        <result column="type" property="type" />
+        <result column="username" property="username" />
+        <result column="phone" property="phone" />
+        <result column="is_refund" property="isRefund" />
+        <result column="if_foreign" property="ifForeign" />
+        <result column="open" property="open" />
+        <result column="promo_code_open" property="promoCodeOpen" />
+        <result column="apply_start_time" property="applyStartTime" />
+        <result column="apply_end_time" property="applyEndTime" />
+        <result column="code" property="code" />
+        <result column="pay_platform" property="payPlatform" />
+        <result column="logo_rule" property="logoRule" />
+        <result column="relation_admin_id" property="relationAdminId" />
+        <result column="manager_id" property="managerId" />
+        <result column="company_type" property="companyType" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, create_date, modify_date, agency_id, area_id, qr_code_img_url, department, email, is_admined, is_enabled, is_locked, locked_date, login_date, login_failure_count, login_ip, merchant_id, trade_merchant_no, name, parent_id, password, personage_id, notice_id, type, username, phone, is_refund, if_foreign, open, promo_code_open, apply_start_time, apply_end_time, code, pay_platform, logo_rule, relation_admin_id, manager_id, company_type
+    </sql>
+
+</mapper>

File diff suppressed because it is too large
+ 43 - 1
src/main/java/com/szwl/mapper/xml/TCoinOrderMapper.xml


+ 102 - 0
src/main/java/com/szwl/model/bean/CoinOrderVO.java

@@ -0,0 +1,102 @@
+package com.szwl.model.bean;
+
+import java.math.BigDecimal;
+
+public class CoinOrderVO {
+
+
+    /**
+     * 订单
+     */
+    private String sn;
+
+    private String createDate;
+    /**
+     * 订单名字
+     */
+    private String name;
+
+    private String no;
+    /**
+     * 个推
+     */
+    private String clientId;
+    /**
+     * 价格
+     */
+    private BigDecimal price;
+
+    /**
+     * 支付类型
+     * 0代表无需支付
+     * 1代表投币支付
+     */
+
+    private Integer payType;
+
+    private Integer productNumber = 1;
+
+    public Integer getProductNumber() {
+        return productNumber;
+    }
+
+    public void setProductNumber(Integer productNumber) {
+        this.productNumber = productNumber;
+    }
+
+    public String getNo() {
+        return no;
+    }
+
+    public void setNo(String no) {
+        this.no = no;
+    }
+
+    public String getCreateDate() {
+        return createDate;
+    }
+
+    public void setCreateDate(String createDate) {
+        this.createDate = createDate;
+    }
+
+    public String getSn() {
+        return sn;
+    }
+
+    public void setSn(String sn) {
+        this.sn = sn;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getClientId() {
+        return clientId;
+    }
+
+    public void setClientId(String clientId) {
+        this.clientId = clientId;
+    }
+
+    public BigDecimal getPrice() {
+        return price;
+    }
+
+    public void setPrice(BigDecimal price) {
+        this.price = price;
+    }
+
+    public Integer getPayType() {
+        return payType;
+    }
+
+    public void setPayType(Integer payType) {
+        this.payType = payType;
+    }
+}

+ 49 - 0
src/main/java/com/szwl/model/dto/CoinOrderDTO.java

@@ -0,0 +1,49 @@
+package com.szwl.model.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class CoinOrderDTO {
+
+    /**
+     * 订单编号
+     */
+    @ApiModelProperty(value = "订单编号", required = true)
+    private String sn;
+
+    /**
+     * 创建时间
+     */
+    private String createDate;
+
+    /**
+     * 订单名字
+     */
+    private String name;
+
+    /**
+     * 个推
+     */
+    @ApiModelProperty(value = "设备编号", required = true)
+    private String clientId;
+
+
+    @ApiModelProperty(value = "价格", required = true)
+    private BigDecimal price;
+
+    @ApiModelProperty(value = "支付状态:0-未支付, 1-已支付, 3-已退款", required = true)
+    private String status;
+
+    private Integer payType;
+
+    private Integer productNumber = 1;
+
+    public Integer getProductNumber() {
+        return productNumber;
+    }
+
+
+}

+ 41 - 17
src/main/java/com/szwl/model/entity/TAdmin.java

@@ -18,7 +18,7 @@ import java.util.Date;
  * </p>
  *
  * @author wuhs
- * @since 2022-03-28
+ * @since 2023-08-07
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -30,58 +30,77 @@ public class TAdmin implements Serializable {
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
+    @ApiModelProperty(value = "创建时间")
     private Date createDate;
 
+    @ApiModelProperty(value = "修改时间")
     private Date modifyDate;
 
+    @ApiModelProperty(value = "一级分销商家id")
+    private Long agencyId;
+
     private Long areaId;
 
-    @ApiModelProperty(value = "邮箱;")
+    @ApiModelProperty(value = "二维码地址")
+    private String qrCodeImgUrl;
+
+    private String department;
+
+    @ApiModelProperty(value = "邮箱")
     private String email;
 
-    @ApiModelProperty(value = "设置是否普通管理员(1:管理员true,0:子账户false);")
+    @ApiModelProperty(value = "设置是否普通管理员")
     private Boolean isAdmined;
 
-    @ApiModelProperty(value = "是否启用;")
+    @ApiModelProperty(value = "是否启用")
     private Boolean isEnabled;
 
-    @ApiModelProperty(value = "是否锁定;")
+    @ApiModelProperty(value = "是否锁定")
     private Boolean isLocked;
 
-    @ApiModelProperty(value = "锁定时间;")
+    @ApiModelProperty(value = "锁定时间")
     private Date lockedDate;
 
-    @ApiModelProperty(value = "登录时间;")
+    @ApiModelProperty(value = "登录时间")
     private Date loginDate;
 
-    @ApiModelProperty(value = "连续登录失败次数;")
+    @ApiModelProperty(value = "连续登录失败次数")
     private Integer loginFailureCount;
 
+    @ApiModelProperty(value = "登录ip")
     private String loginIp;
 
-    @ApiModelProperty(value = "商户报备号;")
+    @ApiModelProperty(value = "二级分销商家id")
+    private Long merchantId;
+
+    @ApiModelProperty(value = "商户报备号")
     private String tradeMerchantNo;
 
+    @ApiModelProperty(value = "用户名称")
     private String name;
 
-    @ApiModelProperty(value = "如果is_admined=1,说明这个账户是子账户,它的拥有者的adminId就是parent_id;")
+    @ApiModelProperty(value = "如果is_admined=0,说明这个账户是子账户,它的拥有者的adminId就是parent_id")
     private Long parentId;
 
+    @ApiModelProperty(value = "登录密码")
     private String password;
 
-    @ApiModelProperty(value = "当前查看过公告的id;")
+    @ApiModelProperty(value = "三级分销商家id")
+    private Long personageId;
+
+    @ApiModelProperty(value = "当前查看过公告的id")
     private Long noticeId;
 
     @ApiModelProperty(value = "类型,0:超管,1,公司人员;2:商家,3:商家子账户")
     private Integer type;
 
-    @ApiModelProperty(value = "登录名;")
+    @ApiModelProperty(value = "登录名")
     private String username;
 
-    @ApiModelProperty(value = "电话;")
+    @ApiModelProperty(value = "电话")
     private String phone;
 
-    @ApiModelProperty(value = "是否退款;")
+    @ApiModelProperty(value = "是否退款")
     private String isRefund;
 
     @ApiModelProperty(value = "是否国外;0:国内,1:国外")
@@ -90,7 +109,7 @@ public class TAdmin implements Serializable {
     @ApiModelProperty(value = "是否开启远程开关机")
     private String open;
 
-    @ApiModelProperty(value = "是否开通0折优惠码;0:开通;1:关闭")
+    @ApiModelProperty(value = "是否开通0折优惠码;0:开通1:关闭")
     private String promoCodeOpen;
 
     @ApiModelProperty(value = "机器连接服务器免审核开始时间")
@@ -99,15 +118,20 @@ public class TAdmin implements Serializable {
     @ApiModelProperty(value = "机器连接服务器免审核结束时间")
     private Date applyEndTime;
 
-    @ApiModelProperty(value = "短信验证码;")
+    @ApiModelProperty(value = "短信验证码")
     private String code;
 
-    @ApiModelProperty(value = "支付平台; 0或null为汇聚,1为杉德支付")
+    @ApiModelProperty(value = "支付平台  0或null为汇聚,1为杉德支付")
     private String payPlatform;
 
+    private String logoRule;
+
     @ApiModelProperty(value = "关联商家,相当于以前的parent_id")
     private String relationAdminId;
 
+    @ApiModelProperty(value = "系统id")
+    private String managerId;
+
     @ApiModelProperty(value = "公司平台,0或空为申泽,1为七云")
     private String companyType;
 

+ 113 - 24
src/main/java/com/szwl/model/entity/TCoinOrder.java

@@ -1,11 +1,6 @@
 package com.szwl.model.entity;
 
 import java.math.BigDecimal;
-
-//import cn.com.sand.third.com.fasterxml.jackson.databind.annotation.JsonSerialize;
-//import cn.com.sand.third.com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.baomidou.mybatisplus.annotation.IdType;
 import java.util.Date;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -17,59 +12,153 @@ import lombok.EqualsAndHashCode;
 
 /**
  * <p>
- * 线下支付订单
+ * 
  * </p>
  *
  * @author wuhs
- * @since 2022-06-14
+ * @since 2023-08-10
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-@ApiModel(value="TCoinOrder对象", description="线下支付订单")
+@ApiModel(value="TCoinOrder对象", description="线下+海外线上订单")
 public class TCoinOrder implements Serializable {
 
     private static final long serialVersionUID = 1L;
-    @JsonSerialize(using= ToStringSerializer.class)
+
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
+    @ApiModelProperty(value = "订单创建时间")
     private Date createDate;
 
+    @ApiModelProperty(value = "订单修改时间")
     private Date modifyDate;
 
-    @ApiModelProperty(value = "用户id;")
+    @ApiModelProperty(value = "商户id,用户判断权限")
     private Long adminId;
 
-    @ApiModelProperty(value = "设备编号;")
+    @ApiModelProperty(value = "设备编号")
     private String clientId;
 
-    @ApiModelProperty(value = "支付方式;")
+    @ApiModelProperty(value = "支付方式")
     private Integer payType;
 
-    @ApiModelProperty(value = "金额;")
+    @ApiModelProperty(value = "金额")
     private BigDecimal price;
 
-    @ApiModelProperty(value = "订单号;")
+    @ApiModelProperty(value = "订单号")
     private String sn;
 
-    @ApiModelProperty(value = "类型(省,市,终端);")
+    @ApiModelProperty(value = "分账方类型,0:分账方2个,1:分账方3个,3:分账方4个,3:分账方超4个,替代airwallex中的proportion_type")
     private Integer type;
 
-    @ApiModelProperty(value = "商品名称;")
+    @ApiModelProperty(value = "商品名称,eg.烈焰红唇")
     private String productName;
 
-    @ApiModelProperty(value = "商品名称;")
-    private String productNo;
-
-    @ApiModelProperty(value = "是否发送到es报存;")
+    @ApiModelProperty(value = "是否发送es")
     private String es;
 
-    @ApiModelProperty(value = "支付时间;")
+    @ApiModelProperty(value = "支付时间")
     private Date payDate;
-    @ApiModelProperty(value = ";")
-    private String note;
 
-    @ApiModelProperty(value = "商品数量;")
+    @ApiModelProperty(value = "支付状态,0:未支付,1:已付款,2:退款中,3:已退款,代替airwallex中的pay_status")
+    private String status;
+
+    @ApiModelProperty(value = "商品编号,eg.A06")
+    private String productNo;
+
+    @ApiModelProperty(value = "商品数量,每笔订单中有几个商品")
     private Integer productNumber;
 
+    @ApiModelProperty(value = "标记")
+    private String note;
+
+    @ApiModelProperty(value = "平台分账")
+    private BigDecimal adminProportion;
+
+    @ApiModelProperty(value = "一级分销商户id")
+    private Long agencyId;
+
+    @ApiModelProperty(value = "分账比例,中介分账")
+    private BigDecimal agencyProportion;
+
+    @ApiModelProperty(value = "分销逻辑")
+    private String altInfo;
+
+    @ApiModelProperty(value = "设备id")
+    private Long equipmentId;
+
+    @ApiModelProperty(value = "支付方式")
+    private String frpCode;
+
+    @ApiModelProperty(value = "二级分销商户id")
+    private Long merchantId;
+
+    @ApiModelProperty(value = "二级分销商分账比例")
+    private BigDecimal merchantProportion;
+
+    @ApiModelProperty(value = "三级分销商户id")
+    private Long personageId;
+
+    @ApiModelProperty(value = "三级分销商分账比例")
+    private BigDecimal personageProportion;
+
+    @ApiModelProperty(value = "商品id")
+    private Long productId;
+
+    @ApiModelProperty(value = "退款时间")
+    private Date refundDate;
+
+    @ApiModelProperty(value = "商品描述,{xxx,1个;xxx,2个}")
+    private String productDesc;
+
+    @ApiModelProperty(value = "支付流水号")
+    private String trxNo;
+
+    @ApiModelProperty(value = "退款编号rfd")
+    private String refundId;
+
+    @ApiModelProperty(value = "退款金额")
+    private BigDecimal refundAmount;
+
+    @ApiModelProperty(value = "分账详情,当分账方超过4方时,这个字段才启用")
+    private String proportionDesc;
+
+    @ApiModelProperty(value = "营销金额")
+    private BigDecimal marketingAmount;
+
+    @ApiModelProperty(value = "退款营销金额")
+    private BigDecimal refundMarketingAmount;
+
+    @ApiModelProperty(value = "订单状态;0:排队中;1:正在制作;2:已制作完成")
+    private String orderStatus;
+
+    @ApiModelProperty(value = "货币")
+    private String currency;
+
+    @ApiModelProperty(value = "airwallex订单号,商品唯一订单id,类似于sn")
+    private String merchantOrderId;
+
+    @ApiModelProperty(value = "airwallex请求编号,商户唯一支付请求编号id")
+    private String requestId;
+
+    @ApiModelProperty(value = "airwallex交易编号")
+    private String paymentIntentId;
+
+    @ApiModelProperty(value = "商品数量,每笔订单中有几个商品")
+    private Integer productNum;
+
+    @ApiModelProperty(value = "公司平台,0或空为申泽,1为七云")
+    private String companyType;
+
+    @ApiModelProperty(value = "退款数量")
+    private Integer refundQuantity;
+
+    @ApiModelProperty(value = "是否为airwallex支付,0或null代表线下,1代表airwallex")
+    private String isAir;
+
+    @ApiModelProperty(value = "airwallex订单金额,币种为美元")
+    private BigDecimal amount;
+
+
 }

+ 1 - 1
src/main/java/com/szwl/model/entity/TOrder.java

@@ -122,7 +122,7 @@ public class TOrder implements Serializable {
     @ApiModelProperty(value = "标记")
     private String note;
 
-    @ApiModelProperty(value = "支付平台  0或null为汇聚,1为杉德支付")
+    @ApiModelProperty(value = "支付平台  0或null为汇聚,1为汇付支付")
     private String payPlatform;
 
     @ApiModelProperty(value = "是否结算 0或null为未结算,1已结算。仅杉德支付有这个")

+ 0 - 1
src/main/java/com/szwl/model/query/OrderStatisticsDTO.java

@@ -11,7 +11,6 @@ public class OrderStatisticsDTO implements Comparable<OrderStatisticsDTO> {
     /**
      * 时间
      */
-
     private String sTime;
 
     /**

+ 1 - 0
src/main/java/com/szwl/model/query/Pageable.java

@@ -5,6 +5,7 @@
  */
 package com.szwl.model.query;
 
+import com.szwl.model.utils.Filter;
 import org.apache.commons.lang.builder.EqualsBuilder;
 import org.apache.commons.lang.builder.HashCodeBuilder;
 

+ 0 - 8
src/main/java/com/szwl/model/query/TAdminParam.java

@@ -5,14 +5,6 @@ import io.swagger.annotations.ApiModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-/**
- * <p>
- * 
- * </p>
- *
- * @author wuhs
- * @since 2022-03-28
- */
 @Data
 @EqualsAndHashCode(callSuper = false)
 @ApiModel(value="查询 TAdmin", description="")

+ 1 - 1
src/main/java/com/szwl/model/query/Filter.java

@@ -3,7 +3,7 @@
  * 
  * 
  */
-package com.szwl.model.query;
+package com.szwl.model.utils;
 
 import org.apache.commons.lang.builder.EqualsBuilder;
 import org.apache.commons.lang.builder.HashCodeBuilder;

+ 16 - 0
src/main/java/com/szwl/service/TAdminService.java

@@ -0,0 +1,16 @@
+package com.szwl.service;
+
+import com.szwl.model.entity.TAdmin;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author wuhs
+ * @since 2023-08-07
+ */
+public interface TAdminService extends IService<TAdmin> {
+
+}

+ 5 - 2
src/main/java/com/szwl/service/TCoinOrderService.java

@@ -5,19 +5,22 @@ import com.szwl.model.entity.TAdmin;
 import com.szwl.model.entity.TCoinOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.szwl.model.excel.CoinOrderTarget;
+import com.szwl.model.query.OrderStatisticsDTO;
 
+import java.util.Date;
 import java.util.List;
 
 /**
  * <p>
- * 线下支付订单 服务类
+ *  服务类
  * </p>
  *
  * @author wuhs
- * @since 2022-06-14
+ * @since 2023-08-10
  */
 public interface TCoinOrderService extends IService<TCoinOrder> {
 
+    List<OrderStatisticsDTO> findTotalByTime(String clientId, Date date1, Date date2);
 
     List<CoinOrderTarget> findByCoinOrder(TAdmin admin, List<TCoinOrder> list);
 

+ 0 - 1
src/main/java/com/szwl/service/TOrderService.java

@@ -7,7 +7,6 @@ import com.szwl.model.entity.TOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.szwl.model.excel.OrderTarget;
 import com.szwl.model.query.OrderStatisticsDTO;
-import com.szwl.model.query.Pageable;
 import com.szwl.model.query.StatisticsParam;
 
 import java.text.ParseException;

+ 0 - 1
src/main/java/com/szwl/service/es/EsTCoinOrderService.java

@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.szwl.model.entity.TCoinOrder;
-import com.szwl.model.entity.TOrder;
 import com.szwl.model.query.TCoinOrderParam;
 import com.szwl.model.utils.DateUtils;
 import com.szwl.service.TCoinOrderService;

+ 20 - 0
src/main/java/com/szwl/service/impl/TAdminServiceImpl.java

@@ -0,0 +1,20 @@
+package com.szwl.service.impl;
+
+import com.szwl.model.entity.TAdmin;
+import com.szwl.mapper.TAdminMapper;
+import com.szwl.service.TAdminService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author wuhs
+ * @since 2023-08-07
+ */
+@Service
+public class TAdminServiceImpl extends ServiceImpl<TAdminMapper, TAdmin> implements TAdminService {
+
+}

+ 10 - 2
src/main/java/com/szwl/service/impl/TCoinOrderServiceImpl.java

@@ -6,12 +6,15 @@ import com.szwl.model.entity.TCoinOrder;
 import com.szwl.mapper.TCoinOrderMapper;
 import com.szwl.model.excel.CoinOrderTarget;
 import com.szwl.model.query.OrderDaoChuParam;
+import com.szwl.model.query.OrderStatisticsDTO;
 import com.szwl.service.TCoinOrderService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -20,11 +23,11 @@ import java.util.List;
  * </p>
  *
  * @author wuhs
- * @since 2022-06-14
+ * @since 2023-08-10
  */
 @Service
 public class TCoinOrderServiceImpl extends ServiceImpl<TCoinOrderMapper, TCoinOrder> implements TCoinOrderService {
-    @Autowired
+    @Resource
     TCoinOrderMapper tCoinOrderMapper;
     @Override
     public List<CoinOrderTarget> findByCoinOrder(TAdmin admin, List<TCoinOrder> coinOrders) {
@@ -60,4 +63,9 @@ public class TCoinOrderServiceImpl extends ServiceImpl<TCoinOrderMapper, TCoinOr
         daoChuParam.setSize(size);
         return tCoinOrderMapper.getOrderDaoCu(daoChuParam);
     }
+
+    @Override
+    public List<OrderStatisticsDTO> findTotalByTime(String clientId, Date date1, Date date2) {
+        return tCoinOrderMapper.findTotalByTime( clientId,  date1,  date2);
+    }
 }

+ 2 - 3
src/main/java/com/szwl/service/impl/TOrderServiceImpl.java

@@ -14,7 +14,6 @@ import com.szwl.mapper.TOrderMapper;
 import com.szwl.model.excel.OrderTarget;
 import com.szwl.model.query.OrderDaoChuParam;
 import com.szwl.model.query.OrderStatisticsDTO;
-import com.szwl.model.query.Pageable;
 import com.szwl.model.query.StatisticsParam;
 import com.szwl.model.utils.DateUtils;
 import com.szwl.service.TOrderService;
@@ -24,7 +23,7 @@ import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.math.BigDecimal;
+import javax.annotation.Resource;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -41,7 +40,7 @@ import java.util.List;
  */
 @Service
 public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> implements TOrderService {
-    @Autowired
+    @Resource
     TOrderMapper tOrderMapper;
     @Autowired
     SzwlFeign szwlFeign;