李天标 2 lat temu
rodzic
commit
3194d03b43

+ 175 - 44
src/main/java/com/szwl/controller/TOrderController.java

@@ -32,6 +32,7 @@ import com.szwl.model.query.TOrderParam;
 import com.szwl.model.utils.FgObjectUtil;
 import com.szwl.service.TAreaService;
 import com.szwl.service.TCoinOrderService;
+import com.szwl.service.TEquipmentService;
 import com.szwl.service.TOrderService;
 import com.szwl.service.es.EsTEquipmentService;
 import com.szwl.service.es.EsTOrderService;
@@ -73,6 +74,8 @@ public class TOrderController {
     @Autowired
     TOrderService orderService;
     @Autowired
+    TEquipmentService equipmentService;
+    @Autowired
     TAreaService areaService;
     @Autowired
     EsTOrderService esTOrderService;
@@ -140,8 +143,12 @@ public class TOrderController {
                 }
             }
             if(StringUtils.isNotEmpty(userName)){
-                TAdmin admin1 = R.getDataIfSuccess(szwlFeign.getAdminByUsername(userName));
-                query.eq(TOrder::getAdminId,admin1.getId());
+                ResponseModel<TAdmin> adminByUsername = szwlFeign.getAdminByUsername(userName);
+                TAdmin data = adminByUsername.getData();
+                if(data==null||data.getId()==null){
+                    return R.fail(ResponseCodesEnum.A0001,"找不到商家");
+                }
+                query.eq(TOrder::getAdminId,data.getId());
             }
             if(StringUtils.isNotEmpty(payType)){
                 query.eq(TOrder::getFrpCode,payType);
@@ -239,8 +246,12 @@ public class TOrderController {
                 }
             }
             if(StringUtils.isNotEmpty(userName)){
-                TAdmin admin1 = R.getDataIfSuccess(szwlFeign.getAdminByUsername(userName));
-                query.eq(TCoinOrder::getAdminId,admin1.getId());
+                ResponseModel<TAdmin> adminByUsername = szwlFeign.getAdminByUsername(userName);
+                TAdmin data = adminByUsername.getData();
+                if(data==null||data.getId()==null){
+                    return R.fail(ResponseCodesEnum.A0001,"找不到商家");
+                }
+                query.eq(TCoinOrder::getAdminId,data.getId());
             }
             if(StringUtils.isNotEmpty(payType)){
                 query.eq(TCoinOrder::getPayType,payType);
@@ -286,6 +297,26 @@ public class TOrderController {
         IPage<TOrder> iPage = orderService.page(page, query);
         return R.ok(iPage);
     }
+    @ApiOperation(value = "取餐码")
+    @PostMapping("/getMealCode")
+    public ResponseModel<?> getMealCode(String sn){
+        if(StringUtils.isEmpty(sn)){
+            return R.fail(ResponseCodesEnum.A0001);
+        }
+        LambdaQueryWrapper<TOrder> query = Wrappers.lambdaQuery();
+        query.eq(TOrder::getSn,sn);
+        query.eq(TOrder::getStatus,"1");
+        List<TOrder> list = orderService.list(query);
+        if(list.size()>0){
+            TOrder tOrder = list.get(0);
+            String s = tOrder.getId().toString();
+            if(s.length()>6){
+                s = s.substring(s.length()-6,s.length());
+            }
+            return R.ok(s,"成功");
+        }
+        return R.fail(ResponseCodesEnum.A0001);
+    }
     /**
      * 判断查询用户是否为外国
      * @return
@@ -637,12 +668,14 @@ public class TOrderController {
      */
     @ApiOperation(value = "订单数据导出-查询")
     @RequestMapping(value = "/orderSelect", method = RequestMethod.GET)
-    public String orderSelect(String type, String clientId, String username,  Date startDate, Date endDate, long current, long size) {
-        if(size>50){
-            return "error";
+    public ResponseModel<?> orderSelect(String type, String clientId, String username,String ifForeign,  Date startDate, Date endDate, long current, long size) {
+        if(size>100){
+            return R.fail(ResponseCodesEnum.A0001,"请求数量过大");
         }
-        JSONObject jsonObject = new JSONObject();
-
+//        JSONObject jsonObject = new JSONObject();
+        Page<OrderDaoChuDTO> page0 = new Page<>(current, size, true);
+        page0.setSize(size);
+        page0.setCurrent(current);
         if (startDate!=null&&endDate!=null) {
             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
             Date begin = null;
@@ -652,16 +685,30 @@ public class TOrderController {
             end = endDate;
             long time = end.getTime() - begin.getTime();
             if(time>31*24*60*60*1000l){
-                return "时间跨度过长";
+                return R.fail(ResponseCodesEnum.A0001,"时间跨度过长");
             }
             if(!StringUtils.isEmpty(username)){
                 TAdmin admin = R.getDataIfSuccess(szwlFeign.getAdminByUsername(username));
-                adminId = admin.getId();
+                ResponseModel<TAdmin> adminByUsername = szwlFeign.getAdminByUsername(username);
+                TAdmin data = adminByUsername.getData();
+                if(data==null||data.getId()==null){
+                    return R.fail(ResponseCodesEnum.A0001,"找不到商家");
+                }
+                adminId = data.getId();
+            }
+            List<OrderDaoChuDTO> OrderDaoChuDTOList = new ArrayList<>();
+            if(ifForeign.equals("0")) {
+                //大陆
+                OrderDaoChuDTOList = orderService.orderDaoChu(simpleDateFormat.format(begin), simpleDateFormat.format(end), adminId, clientId, type, current, size);
+            }else {
+                //查海外
+                OrderDaoChuDTOList =coinOrderService.orderDaoChu(simpleDateFormat.format(begin),simpleDateFormat.format(end),adminId,clientId,type,current,size);
             }
-            List<OrderDaoChuDTO> OrderDaoChuDTOList =orderService.orderDaoChu(simpleDateFormat.format(begin),simpleDateFormat.format(end),adminId,clientId,type,current,size);
             for(OrderDaoChuDTO orderDaoChuDTO: OrderDaoChuDTOList){
                 String adminId1 = orderDaoChuDTO.getAdminId().toString();
-                TAdmin admin = R.getDataIfSuccess(szwlFeign.getAdmin(adminId1));
+                ResponseModel<TAdmin> admin1 = szwlFeign.getAdmin(adminId1);
+                TAdmin admin = admin1.getData();
+//                TAdmin admin = R.getDataIfSuccess(szwlFeign.getAdmin(adminId1));
                 if(admin==null){
                     continue;
                 }
@@ -670,18 +717,28 @@ public class TOrderController {
                 orderDaoChuDTO.setName(admin.getName());
                 if(!StringUtils.isEmpty(type)&&type.equals("2")){
                     //商户为单位
-                    TAdmin parent = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(admin.getParentId())));
-                    orderDaoChuDTO.setLastUsername(parent.getUsername());
-                    TArea area = areaService.getById(admin.getAreaId());
-                    if(area!=null){
-                        orderDaoChuDTO.setAddress(area.getFullName());
+                    ResponseModel<TAdmin> feignAdmin = szwlFeign.getAdmin(String.valueOf(admin.getParentId()));
+                    TAdmin parent = feignAdmin.getData();
+                    if(parent!=null&&parent.getId()!=null){
+                        orderDaoChuDTO.setLastUsername(parent.getUsername());
+                        TArea area = areaService.getById(admin.getAreaId());
+                        if(area!=null){
+                            orderDaoChuDTO.setAddress(area.getFullName());
+                        }
+                        ResponseModel<List<String>> clientIds = szwlFeign.getClientIds(String.valueOf(admin.getId()));
+                        List<String> stringList = clientIds.getData();
+//                        List<String> stringList = R.getDataIfSuccess(szwlFeign.getClientIds(String.valueOf(admin.getId())));
+                        if(stringList!=null&&stringList.size()>0){
+                            orderDaoChuDTO.setEquipmentTotal(String.valueOf(stringList.size()));
+                        }
                     }
-                    List<String> stringList = R.getDataIfSuccess(szwlFeign.getClientIds(String.valueOf(admin.getId())));
-                    orderDaoChuDTO.setEquipmentTotal(String.valueOf(stringList.size()));
+//                    TAdmin parent = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(admin.getParentId())));
                 }else {
                     //设备为单位
-                    TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(String.valueOf(orderDaoChuDTO.getClientId())));
-                    if(equipment!=null){
+                    ResponseModel<TEquipment> equipmentByClientId = szwlFeign.findEquipmentByClientId(String.valueOf(orderDaoChuDTO.getClientId()));
+                    TEquipment equipment = equipmentByClientId.getData();
+//                    TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(String.valueOf(orderDaoChuDTO.getClientId())));
+                    if(equipment!=null&&equipment.getId()!=null){
                         if(StringUtils.isNotEmpty(equipment.getFullName())){
                             orderDaoChuDTO.setAddress(equipment.getFullName());
                         }
@@ -690,17 +747,63 @@ public class TOrderController {
                     }
                 }
             }
-            jsonObject.put("OrderDaoChuDTOList", OrderDaoChuDTOList);
+//            jsonObject.put("OrderDaoChuDTOList", OrderDaoChuDTOList);
+            page0.setRecords(OrderDaoChuDTOList);
+            page0.setTotal(1000);
+//            if(ifForeign.equals("0")){
+//                //大陆
+//                if(type.equals("1")){
+//                    //机器做单位
+//                    LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
+//                    if(StringUtils.isNotEmpty(clientId)){
+//                        query.eq(TEquipment::getClientId,clientId);
+//                    }
+//                    Page<TEquipment> page = new Page<>(current, size, true);
+//                    IPage<TEquipment> iPage = equipmentService.page(page, query);
+//                    page0.setTotal(iPage.getTotal());
+//                }else {
+//                    //商户做单位
+//                    LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
+//                    if(adminId!=null){
+//                        query.eq(TAdmin::getId,adminId);
+//                    }
+//                    Page<TAdmin> page = new Page<>(current, size, true);
+//                    IPage<TAdmin> iPage = .page(page, query);
+//                    page0.setTotal(iPage.getTotal());
+//                }
+//            }else {
+//                //海外
+//                if(type.equals("1")){
+//                    //机器做单位
+//                    LambdaQueryWrapper<TCoinOrder> query = Wrappers.lambdaQuery();
+//                    if(adminId!=null){
+//                        query.eq(TCoinOrder::getAdminId,adminId);
+//                    }
+//                    if(StringUtils.isNotEmpty(clientId)){
+//                        query.eq(TCoinOrder::getClientId,clientId);
+//                    }
+//                    query.groupBy(TCoinOrder::getClientId);
+//                    Page<TCoinOrder> page = new Page<>(current, size, true);
+//                    IPage<TCoinOrder> iPage = coinOrderService.page(page, query);
+//                    page0.setTotal(iPage.getTotal());
+//                }else {
+//                    //商户做单位
+//                    LambdaQueryWrapper<TCoinOrder> query = Wrappers.lambdaQuery();
+//                    if(adminId!=null){
+//                        query.eq(TCoinOrder::getAdminId,adminId);
+//                    }
+//                    if(StringUtils.isNotEmpty(clientId)){
+//                        query.eq(TCoinOrder::getClientId,clientId);
+//                    }
+//                    query.groupBy(TCoinOrder::getAdminId);
+//                    Page<TCoinOrder> page = new Page<>(current, size, true);
+//                    IPage<TCoinOrder> iPage = coinOrderService.page(page, query);
+//                    page0.setTotal(iPage.getTotal());
+//                }
+//            }
         }
-//        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();
+        return R.ok(page0);
     }
 
     /**
@@ -708,8 +811,8 @@ public class TOrderController {
      */
     @ApiOperation(value = "订单数据导出-导出")
     @RequestMapping(value = "/orderExport", method = RequestMethod.GET)
-    public Object orderExport(HttpServletResponse response, String type, String clientId, String username, Date startDate, Date endDate, long current, long size) {
-        if(size>500){
+    public Object orderExport(HttpServletResponse response, String type, String clientId, String ifForeign, String username, Date startDate, Date endDate, long current, long size) {
+        if(size>100){
             return JsonMessage.success("页数过大");
         }
         if (startDate!=null&&endDate!=null) {
@@ -724,10 +827,22 @@ public class TOrderController {
                     return JsonMessage.success("时间跨度过长");
                 }
             if(!StringUtils.isEmpty(username)){
-                TAdmin admin = R.getDataIfSuccess(szwlFeign.getAdminByUsername(username));
-                adminId = admin.getId();
+                ResponseModel<TAdmin> adminByUsername = szwlFeign.getAdminByUsername(username);
+                TAdmin data = adminByUsername.getData();
+                if(data==null||data.getId()==null){
+                    return R.fail(ResponseCodesEnum.A0001,"找不到商家");
+                }
+                adminId = data.getId();
+            }
+            List<OrderDaoChuDTO> OrderDaoChuDTOList = new ArrayList<>();
+            if(ifForeign.equals("0")) {
+                //大陆
+                OrderDaoChuDTOList = orderService.orderDaoChu(simpleDateFormat.format(begin), simpleDateFormat.format(end), adminId, clientId, type, current, size);
+            }else {
+                //查海外
+                OrderDaoChuDTOList =coinOrderService.orderDaoChu(simpleDateFormat.format(begin),simpleDateFormat.format(end),adminId,clientId,type,current,size);
             }
-            List<OrderDaoChuDTO> OrderDaoChuDTOList =orderService.orderDaoChu(simpleDateFormat.format(begin),simpleDateFormat.format(end),adminId,clientId,type,current,size);
+//            List<OrderDaoChuDTO> OrderDaoChuDTOList =orderService.orderDaoChu(simpleDateFormat.format(begin),simpleDateFormat.format(end),adminId,clientId,type,current,size);
             for(OrderDaoChuDTO orderDaoChuDTO: OrderDaoChuDTOList){
                 Long adminId1 = Long.valueOf(orderDaoChuDTO.getAdminId().toString());
                 TAdmin admin = R.getDataIfSuccess(szwlFeign.getAdmin(adminId1.toString()));
@@ -739,17 +854,25 @@ public class TOrderController {
                 orderDaoChuDTO.setName(admin.getName());
                 if(!StringUtils.isEmpty(type)&&type.equals("2")){
                     //商户为单位
-                    TAdmin parent = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(admin.getParentId())));
+//                    TAdmin parent = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(admin.getParentId())));
+                    ResponseModel<TAdmin> feignAdmin = szwlFeign.getAdmin(String.valueOf(admin.getParentId()));
+                    TAdmin parent = feignAdmin.getData();
                     orderDaoChuDTO.setLastUsername(parent.getUsername());
                     TArea area = areaService.getById(admin.getAreaId());
                     if(area!=null){
                         orderDaoChuDTO.setAddress(area.getFullName());
                     }
-                    List<String> stringList = R.getDataIfSuccess(szwlFeign.getClientIds(String.valueOf(admin.getId())));
-                    orderDaoChuDTO.setEquipmentTotal(String.valueOf(stringList.size()));
+                    ResponseModel<List<String>> clientIds = szwlFeign.getClientIds(String.valueOf(admin.getId()));
+                    List<String> stringList = clientIds.getData();
+//                        List<String> stringList = R.getDataIfSuccess(szwlFeign.getClientIds(String.valueOf(admin.getId())));
+                    if(stringList!=null&&stringList.size()>0){
+                        orderDaoChuDTO.setEquipmentTotal(String.valueOf(stringList.size()));
+                    }
                 }else {
                     //设备为单位
-                    TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(String.valueOf(orderDaoChuDTO.getClientId())));
+                    ResponseModel<TEquipment> equipmentByClientId = szwlFeign.findEquipmentByClientId(String.valueOf(orderDaoChuDTO.getClientId()));
+                    TEquipment equipment = equipmentByClientId.getData();
+//                    TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(String.valueOf(orderDaoChuDTO.getClientId())));
                     if(equipment!=null){
                         if(StringUtils.isNotEmpty(equipment.getFullName())){
                             orderDaoChuDTO.setAddress(equipment.getFullName());
@@ -874,8 +997,12 @@ public class TOrderController {
                 }
             }
             if(StringUtils.isNotEmpty(userName)){
-                TAdmin admin1 = R.getDataIfSuccess(szwlFeign.getAdminByUsername(userName));
-                query.eq(TOrder::getAdminId,admin1.getId());
+                ResponseModel<TAdmin> adminByUsername = szwlFeign.getAdminByUsername(userName);
+                TAdmin data = adminByUsername.getData();
+                if(data==null||data.getId()==null){
+                    return R.fail(ResponseCodesEnum.A0001,"找不到商家");
+                }
+                query.eq(TOrder::getAdminId,data.getId());
             }
             if(StringUtils.isNotEmpty(payType)){
                 query.eq(TOrder::getFrpCode,payType);
@@ -994,8 +1121,12 @@ public class TOrderController {
                 }
             }
             if(StringUtils.isNotEmpty(userName)){
-                TAdmin admin1 = R.getDataIfSuccess(szwlFeign.getAdminByUsername(userName));
-                query.eq(TCoinOrder::getAdminId,admin1.getId());
+                ResponseModel<TAdmin> adminByUsername = szwlFeign.getAdminByUsername(userName);
+                TAdmin data = adminByUsername.getData();
+                if(data==null||data.getId()==null){
+                    return R.fail(ResponseCodesEnum.A0001,"找不到商家");
+                }
+                query.eq(TCoinOrder::getAdminId,data.getId());
             }
             if(StringUtils.isNotEmpty(payType)){
                 query.eq(TCoinOrder::getPayType,payType);

+ 5 - 0
src/main/java/com/szwl/mapper/TCoinOrderMapper.java

@@ -1,7 +1,11 @@
 package com.szwl.mapper;
 
+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 java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface TCoinOrderMapper extends BaseMapper<TCoinOrder> {
 
+    List<OrderDaoChuDTO> getOrderDaoCu(OrderDaoChuParam daoChuParam);
 }

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

@@ -17,10 +17,41 @@
         <result column="es" property="es" />
         <result column="pay_date" property="payDate" />
     </resultMap>
-
+    <resultMap id="orderDaoChuDTO" type="com.szwl.model.bean.OrderDaoChuDTO">
+        <result column="username" jdbcType="VARCHAR"  property="username" />
+        <result column="name" jdbcType="VARCHAR"  property="name" />
+        <result column="phone" jdbcType="VARCHAR"  property="phone" />
+        <result column="clientId" jdbcType="VARCHAR"  property="clientId" />
+        <result column="adminId" jdbcType="BIGINT"  property="adminId" />
+        <result column="priceTotal" jdbcType="DECIMAL"  property="priceTotal" />
+        <result column="address"  jdbcType="VARCHAR" property="address" />
+        <result column="equipmentType" jdbcType="VARCHAR" property="equipmentType" />
+        <result column="createDate" jdbcType="VARCHAR"  property="createDate" />
+        <result column="equipmentTotal" jdbcType="VARCHAR" property="equipmentTotal" />
+        <result column="lastUsername" jdbcType="VARCHAR" property="lastUsername" />
+    </resultMap>
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
         id, create_date, modify_date, admin_id, client_id, pay_type, price, sn, type, product_name, es, pay_date
     </sql>
-
+    <select id="getOrderDaoCu" resultMap="orderDaoChuDTO" parameterType="com.szwl.model.query.OrderDaoChuParam">
+        select sum(price) AS priceTotal,admin_id AS adminId,client_id AS clientId
+        from  t_coin_order  where 1=1
+        <if test="adminId != null and adminId !=''">
+            and admin_id= #{adminId} -- 订单所属商家id
+        </if>
+        <if test="clientId != null and clientId !=''">
+            and client_id = #{clientId}
+        </if>
+        and create_date >= STR_TO_DATE(CONCAT(#{begin},' 00:00:00'),'%Y/%m/%d %H:%i:%s')
+        <![CDATA[ and create_date <= STR_TO_DATE(CONCAT(#{end},' 23:59:59'),'%Y/%m/%d %H:%i:%s') ]]>
+        <if test="type != null and type !='' and type==2">
+            group by adminId
+        </if>
+        <if test="type != null and type !='' and type==1">
+            group by clientId
+        </if>
+        order by priceTotal desc
+        limit #{current} , #{size}
+    </select>
 </mapper>

+ 3 - 0
src/main/java/com/szwl/service/TCoinOrderService.java

@@ -1,5 +1,6 @@
 package com.szwl.service;
 
+import com.szwl.model.bean.OrderDaoChuDTO;
 import com.szwl.model.entity.TAdmin;
 import com.szwl.model.entity.TCoinOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -19,4 +20,6 @@ public interface TCoinOrderService extends IService<TCoinOrder> {
 
 
     List<CoinOrderTarget> findByCoinOrder(TAdmin admin, List<TCoinOrder> list);
+
+    List<OrderDaoChuDTO> orderDaoChu(String begin, String end, Long adminId, String clientId, String type, long current, long size);
 }

+ 18 - 1
src/main/java/com/szwl/service/impl/TCoinOrderServiceImpl.java

@@ -1,11 +1,14 @@
 package com.szwl.service.impl;
 
+import com.szwl.model.bean.OrderDaoChuDTO;
 import com.szwl.model.entity.TAdmin;
 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.service.TCoinOrderService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -21,7 +24,8 @@ import java.util.List;
  */
 @Service
 public class TCoinOrderServiceImpl extends ServiceImpl<TCoinOrderMapper, TCoinOrder> implements TCoinOrderService {
-
+    @Autowired
+    TCoinOrderMapper tCoinOrderMapper;
     @Override
     public List<CoinOrderTarget> findByCoinOrder(TAdmin admin, List<TCoinOrder> coinOrders) {
         ArrayList<CoinOrderTarget> list = new ArrayList<>();
@@ -43,4 +47,17 @@ public class TCoinOrderServiceImpl extends ServiceImpl<TCoinOrderMapper, TCoinOr
         }
         return list;
     }
+
+    @Override
+    public List<OrderDaoChuDTO> orderDaoChu(String begin, String end, Long adminId, String clientId, String type, long current, long size) {
+        OrderDaoChuParam daoChuParam = new OrderDaoChuParam();
+        daoChuParam.setAdminId(adminId);
+        daoChuParam.setBegin(begin);
+        daoChuParam.setEnd(end);
+        daoChuParam.setClientId(clientId);
+        daoChuParam.setType(type);
+        daoChuParam.setCurrent(current-1);
+        daoChuParam.setSize(size);
+        return tCoinOrderMapper.getOrderDaoCu(daoChuParam);
+    }
 }