| | |
| | | package com.taoke.autopay.factory; |
| | | |
| | | import com.google.gson.Gson; |
| | | import com.taoke.autopay.entity.ClientInfo; |
| | | import com.taoke.autopay.entity.KeyOrder; |
| | | import com.taoke.autopay.entity.OrderChannelEnum; |
| | | import com.taoke.autopay.entity.WxUserOrderCount; |
| | | import com.taoke.autopay.entity.agent.ChannelAgent; |
| | | import com.taoke.autopay.utils.Constant; |
| | | import com.taoke.autopay.utils.IPUtil; |
| | | import com.taoke.autopay.utils.StringUtil; |
| | | import com.taoke.autopay.utils.TimeUtil; |
| | | import com.taoke.autopay.utils.order.OrderChannelUtil; |
| | | import com.taoke.autopay.vo.AgentOrderVO; |
| | | import com.taoke.autopay.vo.UserInfoVO; |
| | | import com.taoke.autopay.vo.admin.AdminOrderVO; |
| | | import com.taoke.autopay.vo.KeyOrderVO; |
| | | import com.taoke.autopay.vo.OrderFilter; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * @author hxh |
| | |
| | | return StringUtil.Md5(day + key); |
| | | } |
| | | |
| | | public static KeyOrderVO create(KeyOrder order){ |
| | | KeyOrderVO vo=new KeyOrderVO(); |
| | | public static KeyOrderVO create(KeyOrder order) { |
| | | KeyOrderVO vo = new KeyOrderVO(); |
| | | vo.setCreateTime(order.getCreateTime()); |
| | | vo.setId(order.getId()); |
| | | vo.setKey(order.getKey()); |
| | | switch (order.getState()){ |
| | | switch (order.getState()) { |
| | | case KeyOrder.STATE_NOT_PROCESS: |
| | | vo.setState(OrderFilter.STATE_NOT_PROCESS); |
| | | vo.setState(KeyOrderVO.STATE_NOT_PROCESS); |
| | | break; |
| | | case KeyOrder.STATE_NOT_PAY: |
| | | vo.setState(OrderFilter.STATE_PROCESS_ERROR); |
| | | vo.setState(KeyOrderVO.STATE_PROCESS_ERROR); |
| | | break; |
| | | case KeyOrder.STATE_PAY: |
| | | vo.setState(OrderFilter.STATE_PROCESSED); |
| | | vo.setState(KeyOrderVO.STATE_PROCESSED); |
| | | break; |
| | | case KeyOrder.STATE_REJECT_PAY: |
| | | vo.setState(KeyOrderVO.STATE_PROCESSED); |
| | | break; |
| | | } |
| | | vo.setPayType(order.getPayType()); |
| | | return vo; |
| | | } |
| | | |
| | | public static AgentOrderVO createAgentOrder(KeyOrder order, BigDecimal money) { |
| | | |
| | | String time=TimeUtil.getGernalTime(order.getCreateTime().getTime(), "yyyy.MM.dd HH:mm:ss"); |
| | | time = time.replace(" ","<br>"); |
| | | return AgentOrderVO.builder() |
| | | .payMoney(order.getOrderMoney()!=null?order.getOrderMoney().toString():"未知") |
| | | .settleMoney(money.toString()) |
| | | .createTime(time) |
| | | .valid(order.getPayTime() != null && order.getState() == KeyOrder.STATE_PAY) |
| | | .user(order.getUser() != null ? UserInfoVO.builder().id(order.getUser().getId()).nickName(order.getUser().getNickName()).portrait(order.getUser().getPortrait()).build() : null) |
| | | .build(); |
| | | } |
| | | |
| | | private static String getOrderStateDesc(Integer orderState, Integer orderType) { |
| | | |
| | | if (orderState == null || orderType == null) { |
| | | return "未知"; |
| | | } |
| | | if (orderType == Constant.ORDER_TYPE_DY) { |
| | | // 1 待确认/待支付-订单创建完毕:105-已支付;2-备货中;101-部分发货;3-已发货(全部发货):4-已取消:5 已完成(已收货); |
| | | |
| | | switch (orderState) { |
| | | case 1: |
| | | return "待确认/待支付"; |
| | | case 105: |
| | | return "已支付"; |
| | | case 2: |
| | | return "备货中"; |
| | | case 101: |
| | | return "已发货(全部发货)"; |
| | | case 4: |
| | | return "已取消"; |
| | | case 5: |
| | | return " 已完成(已收货);"; |
| | | default: |
| | | return "状态码:" + orderState; |
| | | } |
| | | } |
| | | return "未知"; |
| | | |
| | | } |
| | | |
| | | public static AdminOrderVO createAdminVO(KeyOrder order, ClientInfo info, ChannelAgent agent) { |
| | | AdminOrderVO vo = new AdminOrderVO(); |
| | | vo.setCreateTime(order.getCreateTime()); |
| | | vo.setId(order.getId()); |
| | | vo.setKey(order.getKey()); |
| | | vo.setState(order.getState()); |
| | | vo.setStateDesc(order.getStateDesc()); |
| | | vo.setOrderStateDesc(getOrderStateDesc(order.getOrderState(), order.getOrderType())); |
| | | vo.setExcutePayTime(order.getExcutePayTime()); |
| | | vo.setPayTime(order.getPayTime()); |
| | | vo.setOrderNo(order.getOrderNo()); |
| | | vo.setOrderType(order.getOrderType()); |
| | | vo.setDistributedTime(order.getDistributeTime()); |
| | | vo.setDistributedClientInfo(info); |
| | | vo.setUid(order.getUid()); |
| | | OrderChannelEnum orderChannel=OrderChannelUtil.getChannelByKey(order.getOrderChannel()); |
| | | vo.setOrderChannel(orderChannel==null?"未知":orderChannel.getName()); |
| | | vo.setPayMerchant(order.getPayMerchant()); |
| | | vo.setIp(order.getIp()); |
| | | vo.setIgnore(order.getIgnore()); |
| | | if(!StringUtil.isNullOrEmpty(order.getIpInfo())){ |
| | | vo.setIpInfo(new Gson().fromJson(order.getIpInfo(), IPUtil.IPInfo.class)); |
| | | } |
| | | if(agent!=null){ |
| | | vo.setAgent(agent.getName()); |
| | | }else{ |
| | | vo.setAgent(""); |
| | | } |
| | | |
| | | return vo; |
| | | } |
| | | |
| | | public static String createId(WxUserOrderCount orderCountInfo) { |
| | | return String.format("%s-%s-%s-%s", orderCountInfo.getDay(), orderCountInfo.getUid(), orderCountInfo.getOrderType(),orderCountInfo.getOrderChannel()==null?"": orderCountInfo.getOrderChannel().name()); |
| | | } |
| | | |
| | | |
| | | } |