Pārlūkot izejas kodu

修复机器排行的bug

李天标 2 gadi atpakaļ
vecāks
revīzija
edb37d3c59

+ 12 - 12
src/main/java/com/szwl/controller/ScheduledService.java

@@ -25,18 +25,18 @@ public class ScheduledService {
     EsTCoinOrderService esTCoinOrderService;
     @Autowired
     EsTOrderService esTOrderService;
-    //每天凌晨统计/核对杉德支付的金额表
-    @Scheduled(cron = "30 05 0 * * ?")
-    public void shandejiesuan(){
-        tShandeMchService.jiesuan();
-    }
-
-    //在每小时的20分执行一次 es同步数据
-    @Scheduled(cron = "0 20 * * * ?")
-    public void tongbuEs() throws ParseException {
-        esTOrderService.tongbuByHour();
-        esTCoinOrderService.tongbuByHour();
-    }
+//    //每天凌晨统计/核对杉德支付的金额表
+//    @Scheduled(cron = "30 05 0 * * ?")
+//    public void shandejiesuan(){
+//        tShandeMchService.jiesuan();
+//    }
+//
+//    //在每小时的20分执行一次 es同步数据
+//    @Scheduled(cron = "0 20 * * * ?")
+//    public void tongbuEs() throws ParseException {
+//        esTOrderService.tongbuByHour();
+//        esTCoinOrderService.tongbuByHour();
+//    }
 
 
 }

+ 40 - 11
src/main/java/com/szwl/controller/TOrderController.java

@@ -11,6 +11,7 @@ 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.szwl.constant.ResponseCodesEnum;
 import com.szwl.feign.SzwlFeign;
 import com.szwl.feign.bean.TAdminParam;
 import com.szwl.model.bean.ChartColumn;
@@ -27,6 +28,7 @@ import com.szwl.model.excel.OrderTarget;
 import com.szwl.model.query.Filter;
 import com.szwl.model.query.Pageable;
 import com.szwl.model.query.StatisticsParam;
+import com.szwl.model.query.TOrderParam;
 import com.szwl.model.utils.FgObjectUtil;
 import com.szwl.service.TAreaService;
 import com.szwl.service.TCoinOrderService;
@@ -162,15 +164,19 @@ public class TOrderController {
             if(StringUtils.isNotEmpty(dateType)){
                 if(dateType.equals("0")){
                     //创建时间
-                    if(startDate!=null&&endDate!=null){
+                    if(startDate!=null){
                         query.gt(TOrder::getCreateDate,startDate);
+                    }
+                    if(endDate!=null){
                         query.lt(TOrder::getCreateDate,endDate);
                     }
                 }
                 if(dateType.equals("1")){
                     //退款时间
-                    if(startDate!=null&&endDate!=null){
+                    if(startDate!=null){
                         query.gt(TOrder::getRefundDate,startDate);
+                    }
+                    if(endDate!=null){
                         query.lt(TOrder::getRefundDate,endDate);
                     }
                 }
@@ -254,8 +260,10 @@ public class TOrderController {
                     query.eq(TCoinOrder::getClientId,equipment.getClientId());
                 }
             }
-            if(startDate!=null&&endDate!=null){
+            if(startDate!=null){
                 query.gt(TCoinOrder::getPayDate,startDate);
+            }
+            if(endDate!=null){
                 query.lt(TCoinOrder::getPayDate,endDate);
             }
             Page<TCoinOrder> page = new Page<>(current, size, true);
@@ -264,6 +272,20 @@ public class TOrderController {
         }
         return R.ok();
     }
+    @ApiOperation(value = "小程序获取订单")
+    @PostMapping("/getOrderlist")
+    public ResponseModel<IPage<?>> getOrderlist(@RequestBody TOrderParam param){
+        if(param.getWxId()==null||param.getCurrent()==null||param.getSize()==null){
+            return R.fail(ResponseCodesEnum.A0001);
+        }
+        LambdaQueryWrapper<TOrder> query = Wrappers.lambdaQuery();
+        query.eq(TOrder::getWxId,param.getWxId());
+        query.eq(TOrder::getStatus,param.getStatus());
+        query.orderByDesc(TOrder::getCreateDate);
+        Page<TOrder> page = new Page<>(param.getCurrent(), param.getSize(), true);
+        IPage<TOrder> iPage = orderService.page(page, query);
+        return R.ok(iPage);
+    }
     /**
      * 判断查询用户是否为外国
      * @return
@@ -301,7 +323,7 @@ public class TOrderController {
         }else {
             if(admin.getType()==2){
                 //商家
-                if(param.getEquipmentId()!=null){
+                if(param.getEquipmentId()!=null&&param.getEquipmentId()!=""){
                     //查机器
                     TEquipment equipment = R.getDataIfSuccess(szwlFeign.findById(param.getEquipmentId()));
                     param.setClientId(equipment.getClientId());
@@ -457,6 +479,13 @@ public class TOrderController {
         log.info("param:{}", param);
         FgObjectUtil.objectNullOrEmptySel(param, "chartType$");
         ChartColumn chartColumn = new ChartColumn();
+        if(StringUtils.isNotEmpty(param.getAdminId())){
+            TAdmin admin = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(param.getAdminId())));
+            if(admin.getType()<2){
+                param.setAdminId(null);
+            }
+        }
+
         if(StringUtils.isNotEmpty(param.getIfForeign())&&param.getIfForeign().equals("1")){
             //国外
 //            chartColumn = orderService.getEquipmentStatistics(param);
@@ -663,13 +692,13 @@ public class TOrderController {
             }
             jsonObject.put("OrderDaoChuDTOList", OrderDaoChuDTOList);
         }
-        if(!StringUtils.isEmpty(type)&&type.equals("2")){
-            IPage<TAdmin> iPage = R.getDataIfSuccess(szwlFeign.pageAdmin2(current, size));
-
-        }else {
-            IPage<TEquipment> page =  R.getDataIfSuccess(szwlFeign.pageEquipment2(current, size));
-            jsonObject.put("page", page);
-        }
+//        if(!StringUtils.isEmpty(type)&&type.equals("2")){
+//            IPage<TAdmin> iPage = R.getDataIfSuccess(szwlFeign.pageAdmin2(current, size));
+//
+//        }else {
+//            IPage<TEquipment> page =  R.getDataIfSuccess(szwlFeign.pageEquipment2(current, size));
+//            jsonObject.put("page", page);
+//        }
 
         return jsonObject.toJSONString();
     }

+ 3 - 3
src/main/java/com/szwl/mapper/xml/TOrderMapper.xml

@@ -80,10 +80,10 @@
         <if test="merchantId != null and merchantId !=''">
             and a.merchant_id= #{merchantId} and a.type > '2'
         </if>
-        <if test="adminIds != null and adminIds !=''">
+        <if test="adminIds != null and adminIds !='' and adminIds.size()>0">
             and a.admin_id in #{adminIds}
         </if>
-        <if test="ifForeign != null and ifForeign ==1 and clientIds.size()>0">
+        <if test="ifForeign != null and ifForeign ==1 and clientIds != null and clientIds ==1 and clientIds.size()>0">
             and a.client_id in #{clientIds}
         </if>
         <if test="equipmentId != null and equipmentId !=''">
@@ -102,7 +102,7 @@
             group by DATE_FORMAT( a.create_date,'%H')
         </if>
         <if test="ifForeign != null and ifForeign ==1"> -- 国外用户
-            and DATE_FORMAT( a.pay_date,'%Y/%m/%d') = #{startDate}
+            and DATE_FORMAT( a.pay_date,'%Y/%m/%d 00:00:00') = #{startDate}
             group by DATE_FORMAT( a.pay_date,'%H')
         </if>
         order by categorie

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

@@ -1,6 +1,11 @@
 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;
@@ -24,7 +29,7 @@ import lombok.EqualsAndHashCode;
 public class TCoinOrder implements Serializable {
 
     private static final long serialVersionUID = 1L;
-
+    @JsonSerialize(using= ToStringSerializer.class)
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 

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

@@ -1,6 +1,11 @@
 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;
@@ -24,7 +29,7 @@ import lombok.EqualsAndHashCode;
 public class TOrder implements Serializable {
 
     private static final long serialVersionUID = 1L;
-
+    @JsonSerialize(using= ToStringSerializer.class)
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
@@ -79,6 +84,10 @@ public class TOrder implements Serializable {
 
     @ApiModelProperty(value = "商品名称;")
     private String productName;
+
+    @ApiModelProperty(value = "商品名称;")
+    private String productDesc;
+
     @ApiModelProperty(value = "商品编号;")
     private String productNo;
     @ApiModelProperty(value = "退款时间;")
@@ -117,5 +126,6 @@ public class TOrder implements Serializable {
     @ApiModelProperty(value = "分账详情,当分账超过4方时,这个字段才启用")
     private String proportionDesc;
 
-
+    @ApiModelProperty(value = "支付流水号;")
+    private String wxId;
 }

+ 4 - 0
src/main/java/com/szwl/model/query/TOrderParam.java

@@ -34,6 +34,10 @@ public class TOrderParam extends TOrder {
     private Integer limit;
     @ApiModelProperty(value = "分页,从第几条开始,默认从0开始")
     private Integer offset;
+	@ApiModelProperty(value = "分页,展示多少条记录")
+	private Integer size;
+	@ApiModelProperty(value = "分页,第几页")
+	private Integer current;
     @ApiModelProperty(value = "主键id 集合,用于批量删除和批量修改")
     private List primaryKeyList;
     private List<TOrder> entityList;//实体集合,用于批量新增

+ 55 - 37
src/main/java/com/szwl/service/es/EsTEquipmentService.java

@@ -6,12 +6,15 @@ 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.szwl.feign.SzwlFeign;
 import com.szwl.model.bean.ChartBean;
 import com.szwl.model.bean.ChartColumn;
+import com.szwl.model.bo.R;
 import com.szwl.model.entity.TEquipment;
 import com.szwl.model.query.StatisticsParam;
 import com.szwl.model.query.TCoinOrderParam;
 import com.szwl.model.query.TEquipmentParam;
+import com.szwl.model.query.TOrderParam;
 import com.szwl.model.utils.DateUtils;
 import com.szwl.service.TEquipmentService;
 import lombok.extern.slf4j.Slf4j;
@@ -50,7 +53,8 @@ public class EsTEquipmentService extends EsBaseService<TEquipment, TEquipmentPar
     EsTCoinOrderService esTCoinOrderService;
     @Autowired
     EsTOrderService esTOrderService;
-
+    @Autowired
+    SzwlFeign szwlFeign;
     @Override
     public String getTableName() {
         return "es_t_equipment";
@@ -179,41 +183,55 @@ public class EsTEquipmentService extends EsBaseService<TEquipment, TEquipmentPar
      * @return
      */
     public ChartColumn getEquipmentStatistics_0(StatisticsParam param) {
-//        BoolQueryBuilder boolQueryBuilder;
-//        String startDate = param.getStartDate().replace("/","-");
-//        String endDate = param.getEndDate().replace("/","-");
-//        Date start = DateUtils.parseDate(startDate+" 00:00:00",DateUtils.PATTERN_yyyy_MM_dd_HH_mm_ss,new Date());
-//        Date end = DateUtils.parseDate(endDate+" 23:59:59",DateUtils.PATTERN_yyyy_MM_dd_HH_mm_ss,new Date());
-//        TOrderParam tOrderParam = new TOrderParam();
-//        tOrderParam.setStatus(1);
-//
-//        tOrderParam.setCreateDate_start(start);
-//        tOrderParam.setCreateDate_end(end);
-//        if(StringUtils.isNotEmpty(param.getAdminId())){ // 所属商家id
-//            tOrderParam.setAdminId(Long.parseLong(param.getAdminId()));
-//        }
-//
-//        boolQueryBuilder = esTOrderService.getParam2QueryBuilder(tOrderParam);
-//        if("1".equals(param.getChangeType())){
-//            // 花型统计
-//            return getEquipmentStatistics(boolQueryBuilder,esTOrderService.getTableName(),"productName.keyword");
-//        }else{
-//            log.info("1");
-//            ChartColumn chartColumn = getEquipmentStatistics(boolQueryBuilder,esTOrderService.getTableName(),"equipmentId");
-//
-//            // 设置categories
-//            ArrayList<String> equipmentIdList = chartColumn.getCategories();
-//            List<Long> list = new ArrayList<>();
+        BoolQueryBuilder boolQueryBuilder;
+        String startDate = param.getStartDate().replace("/","-");
+        String endDate = param.getEndDate().replace("/","-");
+        Date start = DateUtils.parseDate(startDate+" 00:00:00",DateUtils.PATTERN_yyyy_MM_dd_HH_mm_ss,new Date());
+        Date end = DateUtils.parseDate(endDate+" 23:59:59",DateUtils.PATTERN_yyyy_MM_dd_HH_mm_ss,new Date());
+        TOrderParam tOrderParam = new TOrderParam();
+        tOrderParam.setStatus(1);
+
+        tOrderParam.setCreateDate_start(start);
+        tOrderParam.setCreateDate_end(end);
+        if(StringUtils.isNotEmpty(param.getAdminId())){ // 所属商家id
+            tOrderParam.setAdminId(Long.parseLong(param.getAdminId()));
+        }
+
+        boolQueryBuilder = esTOrderService.getParam2QueryBuilder(tOrderParam);
+        if("1".equals(param.getChangeType())){
+            // 花型统计
+            return getEquipmentStatistics(boolQueryBuilder,esTOrderService.getTableName(),"productName.keyword");
+        }else{
+            log.info("1");
+            ChartColumn chartColumn = getEquipmentStatistics(boolQueryBuilder,esTOrderService.getTableName(),"equipmentId");
+
+            // 设置categories
+            ArrayList<String> equipmentIdList = chartColumn.getCategories();
+            ArrayList<String> list = new ArrayList<>();
 //            for(String e:equipmentIdList){
 //                list.add(Long.valueOf(e));
 //            }
-////        TEquipmentParam tEquipmentParam = new TEquipmentParam();
-////        tEquipmentParam.setId_inList(equipmentIdList);
-////        List<TEquipment> equipmentList = this.selectEntityByEqualToOption(tEquipmentParam);
-////            TEquipmentExample exampe = new TEquipmentExample();
-////            TEquipmentExample.Criteria criteria = exampe.createCriteria();
-////            criteria.andIdIn(list);
-////            List<TEquipment> tEquipments = tEquipmentService.selectByOption(exampe);
+            for(String e:equipmentIdList){
+                TEquipment equipment = R.getDataIfSuccess(szwlFeign.findById(e));
+                if(equipment!=null&&equipment.getId()!=null){
+                    if(StringUtils.isNotEmpty(equipment.getName())){
+                        list.add(equipment.getName());
+                    }else {
+                        list.add(equipment.getClientId().substring(equipment.getClientId().length()-6,equipment.getClientId().length()));
+                    }
+                }else {
+                    list.add(e);
+                }
+
+            }
+            chartColumn.setCategories(list);
+//        TEquipmentParam tEquipmentParam = new TEquipmentParam();
+//        tEquipmentParam.setId_inList(equipmentIdList);
+//        List<TEquipment> equipmentList = this.selectEntityByEqualToOption(tEquipmentParam);
+//            TEquipmentExample exampe = new TEquipmentExample();
+//            TEquipmentExample.Criteria criteria = exampe.createCriteria();
+//            criteria.andIdIn(list);
+//            List<TEquipment> tEquipments = tEquipmentService.selectByOption(exampe);
 //            LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
 //            query.in(TEquipment::getId,list);
 //            List<TEquipment> tEquipments = tEquipmentService.list(query);
@@ -237,10 +255,10 @@ public class EsTEquipmentService extends EsBaseService<TEquipment, TEquipmentPar
 //                categories_final.add(finalCategories);
 //            }
 //            chartColumn.setCategories(categories_final);
-//
-//            return chartColumn;
-//        }
-        return null;
+
+            return chartColumn;
+        }
+//        return null;
     }
     /**
      * 统计 国外

+ 13 - 0
src/main/java/com/szwl/service/impl/TOrderServiceImpl.java

@@ -23,6 +23,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -46,6 +48,17 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
     public ChartColumn getStatistics(StatisticsParam param) {
         List<ChartBean> list = new ArrayList<>();
         String msg = "";
+        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        try {
+            //使用SimpleDateFormat的parse()方法生成Date
+            Date start = sf.parse(param.getStartDate());
+            Date end = sf.parse(param.getEndDate());
+            SimpleDateFormat endsf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
+            param.setStartDate(endsf.format(start));
+            param.setEndDate(endsf.format(end));
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
         if (ChartType.day.toString().equals(param.getChartType())) {
             list = tOrderMapper.getDayStatistics(param);
             msg = "日统计";