| @@ -0,0 +1,30 @@ | |||||
| package com.iformall.domain.po; | |||||
| import java.io.Serializable; | |||||
| import java.math.BigDecimal; | |||||
| import java.util.Date; | |||||
| import com.baomidou.mybatisplus.annotation.TableField; | |||||
| import com.baomidou.mybatisplus.annotation.TableName; | |||||
| import com.iformall.domain.po.base.BaseEntity; | |||||
| import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | |||||
| import lombok.ToString; | |||||
| @Data | |||||
| @ToString(callSuper = true) | |||||
| @EqualsAndHashCode(callSuper = true) | |||||
| public class NeuPosOrderMasterExt extends BaseEntity{ | |||||
| private Integer orgId; | |||||
| private Integer shopId; | |||||
| private BigDecimal totalAmount; | |||||
| private BigDecimal rechargeAmount; | |||||
| private Integer orderCount; | |||||
| private Integer rechargeCount; | |||||
| @TableField(exist = false) | |||||
| private Date createBegin; | |||||
| @TableField(exist = false) | |||||
| private Date createEnd; | |||||
| } | |||||
| @@ -0,0 +1,22 @@ | |||||
| package com.iformall.mapper; | |||||
| import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |||||
| import com.iformall.domain.po.NeuPosOrderMasterExt; | |||||
| import java.util.List; | |||||
| import java.util.Map; | |||||
| import org.apache.ibatis.annotations.Param; | |||||
| public interface NeuPosOrderMasterExtMapper extends BaseMapper<NeuPosOrderMasterExt> { | |||||
| List<Map> queryShopPayTypeTradeList(NeuPosOrderMasterExt example); | |||||
| List<Map> queryShopPayOrderList(NeuPosOrderMasterExt example); | |||||
| List<Map> selectShopList(@Param("orgId") Integer orgId); | |||||
| List<Map> selectPayTypeList(); | |||||
| } | |||||
| @@ -0,0 +1,16 @@ | |||||
| package com.iformall.service; | |||||
| import java.util.*; | |||||
| import com.github.pagehelper.PageInfo; | |||||
| import com.iformall.domain.po.NeuPosOrderMasterExt; | |||||
| import com.iformall.domain.po.PosOrder; | |||||
| public interface NeuPosOrderService { | |||||
| List<Map> queryShopPayTypeTradeList(NeuPosOrderMasterExt example); | |||||
| List<Map> queryShopPayOrderList(NeuPosOrderMasterExt example); | |||||
| List<Map> selectShopList(Integer orgId); | |||||
| } | |||||
| @@ -0,0 +1,58 @@ | |||||
| package com.iformall.service.impl; | |||||
| import com.iformall.domain.po.NeuPosOrderMasterExt; | |||||
| import com.iformall.mapper.NeuPosOrderMasterExtMapper; | |||||
| import com.iformall.service.NeuPosOrderService; | |||||
| import java.math.BigDecimal; | |||||
| import java.util.ArrayList; | |||||
| import java.util.HashMap; | |||||
| import java.util.List; | |||||
| import java.util.Map; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.stereotype.Service; | |||||
| @Service | |||||
| public class NeuPosOrderServiceImpl implements NeuPosOrderService { | |||||
| @Autowired | |||||
| NeuPosOrderMasterExtMapper posOrderMapper; | |||||
| @Override | |||||
| public List<Map> queryShopPayTypeTradeList(NeuPosOrderMasterExt example) { | |||||
| return posOrderMapper.queryShopPayTypeTradeList(example); | |||||
| } | |||||
| @Override | |||||
| public List<Map> selectShopList(Integer orgId) { | |||||
| return posOrderMapper.selectShopList(orgId); | |||||
| } | |||||
| @Override | |||||
| public List<Map> queryShopPayOrderList(NeuPosOrderMasterExt example) { | |||||
| List<Map> payOrderList = posOrderMapper.queryShopPayOrderList(example); | |||||
| List<Map> payTypeMap = posOrderMapper.selectPayTypeList(); | |||||
| Map<Integer,String> typeMap = new HashMap<Integer,String>(); | |||||
| for (Map payt:payTypeMap) { | |||||
| typeMap.put((Integer)payt.get("pay_type"), (String)payt.get("name")); | |||||
| } | |||||
| List<Map> relist = new ArrayList<Map>(); | |||||
| for (Map payOrder:payOrderList ) { | |||||
| Integer payType = (Integer)payOrder.get("payType"); | |||||
| if (null != payType && typeMap.containsKey(payType)) { | |||||
| Map map = new HashMap(); | |||||
| map.put("payType",typeMap.get(payType).toString()); | |||||
| map.put("payAmount",BigDecimal.valueOf(Double.valueOf(payOrder.get("payAmount").toString()))); | |||||
| map.put("payCount",Integer.parseInt(payOrder.get("payCount").toString())); | |||||
| map.put("refundAmount",BigDecimal.valueOf(Double.valueOf(payOrder.get("refundAmount").toString()))); | |||||
| map.put("refundCount",Integer.parseInt(payOrder.get("refundCount").toString())); | |||||
| map.put("amount",BigDecimal.valueOf(Double.valueOf(payOrder.get("amount").toString()))); | |||||
| map.put("discountAmount",BigDecimal.valueOf(Double.valueOf(payOrder.get("discountAmount").toString()))); | |||||
| relist.add(map); | |||||
| } | |||||
| } | |||||
| return relist; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,64 @@ | |||||
| <?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.iformall.mapper.NeuPosOrderMasterExtMapper"> | |||||
| <select id="queryShopPayTypeTradeList" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map"> | |||||
| SELECT shop_id as shopId, | |||||
| sum(real_pay_amount) as payAmount, | |||||
| count(0) as payCount | |||||
| from order_master | |||||
| where order_status = 2 and order_type != '3' | |||||
| <if test=" orgId != null"> | |||||
| and org_id = #{orgId} | |||||
| </if> | |||||
| <if test=" shopId != null"> | |||||
| and shop_id = #{shopId} | |||||
| </if> | |||||
| <if test=" createBegin != null"> | |||||
| and created_at >= #{createBegin} | |||||
| </if> | |||||
| <if test=" createEnd != null"> | |||||
| and created_at <= #{createEnd} | |||||
| </if> | |||||
| GROUP BY shop_id | |||||
| ORDER BY shop_id asc | |||||
| </select> | |||||
| <select id="queryShopPayOrderList" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map"> | |||||
| select ifnull(sum(order_amount),0) as payAmount, | |||||
| ifnull(sum(discount_amount),0) as discountAmount, | |||||
| count(order_amount) as payCount, | |||||
| ifnull(sum(if(order_status=4,real_pay_amount,0)),0) refundAmount, | |||||
| count(if(order_status=4,true,null)) refundCount, | |||||
| ifnull(sum(if(order_status=2,real_pay_amount,0)),0) as amount, | |||||
| pay_type as payType | |||||
| from order_master | |||||
| where pay_status = 2 and order_type != '3' | |||||
| <if test=" orgId != null"> | |||||
| and org_id = #{orgId} | |||||
| </if> | |||||
| <if test=" shopId != null"> | |||||
| and shop_id = #{shopId} | |||||
| </if> | |||||
| <if test=" createBegin != null"> | |||||
| and created_at >= #{createBegin} | |||||
| </if> | |||||
| <if test=" createEnd != null"> | |||||
| and created_at <= #{createEnd} | |||||
| </if> | |||||
| GROUP BY pay_type | |||||
| </select> | |||||
| <select id="selectShopList" parameterType="Integer" resultType="java.util.Map"> | |||||
| select id,name from `shop` where status = 1 | |||||
| <if test=" orgId != null"> | |||||
| and org_id = #{orgId} | |||||
| </if> | |||||
| order by name asc | |||||
| </select> | |||||
| <select id="selectPayTypeList" resultType="java.util.Map"> | |||||
| select pay_type,name from `trade_pay_type_dict` | |||||
| </select> | |||||
| </mapper> | |||||