From 8a66d7d040d10d03c32062ae7bb7e1fad836871f Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 09 四月 2021 19:00:51 +0800
Subject: [PATCH] dubbo集成,订单优化

---
 src/main/java/com/yeshi/buwan/service/imp/vip/VIPServiceImpl.java |  238 -----------------------------------------------------------
 1 files changed, 0 insertions(+), 238 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/service/imp/vip/VIPServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/vip/VIPServiceImpl.java
index f5a4175..62483d0 100644
--- a/src/main/java/com/yeshi/buwan/service/imp/vip/VIPServiceImpl.java
+++ b/src/main/java/com/yeshi/buwan/service/imp/vip/VIPServiceImpl.java
@@ -1,35 +1,17 @@
 package com.yeshi.buwan.service.imp.vip;
 
-import com.alipay.api.AlipayApiException;
-import com.alipay.api.response.AlipayTradeQueryResponse;
 import com.yeshi.buwan.dao.vip.UserVIPInfoDao;
-import com.yeshi.buwan.dao.vip.VIPOrderRecordDao;
 import com.yeshi.buwan.domain.vip.UserVIPInfo;
-import com.yeshi.buwan.domain.vip.VIPOrderRecord;
-import com.yeshi.buwan.domain.vip.VIPPriceType;
-import com.yeshi.buwan.exception.PPTVException;
-import com.yeshi.buwan.exception.vip.VIPException;
-import com.yeshi.buwan.pptv.PPTVVipManager;
 import com.yeshi.buwan.service.inter.vip.VIPService;
-import com.yeshi.buwan.util.log.LoggerUtil;
-import com.yeshi.buwan.util.user.VipUtil;
-import com.yeshi.buwan.util.vip.VIPOrderUtil;
-import org.hibernate.Query;
 import org.hibernate.Session;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.yeshi.utils.alipay.AlipayH5PayUtil;
-import org.yeshi.utils.entity.wx.WXPayOrderInfoV3;
-import org.yeshi.utils.wx.WXPayV3Util;
 
 import javax.annotation.Resource;
 import java.io.Serializable;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.util.ArrayList;
-import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
@@ -39,231 +21,11 @@
     Logger logger = LoggerFactory.getLogger(VIPServiceImpl.class);
 
     @Resource
-    private VIPOrderRecordDao vipOrderRecordDao;
-
-    @Resource
     private UserVIPInfoDao userVIPInfoDao;
-
-    @Resource
-    private PPTVVipManager pptvVipManager;
-
-
-    /**
-     * VIP璐拱璁板綍
-     *
-     * @param record
-     * @throws VIPException
-     */
-    @Override
-    public void addVIPRecord(VIPOrderRecord record) throws VIPException {
-        if (record.getMoney() == null || record.getType() == null || record.getUid() == null) {
-            throw new VIPException(1, "鍙傛暟涓嶅畬鏁�");
-        }
-
-        if (record.getState() == null) {
-            record.setState(VIPOrderRecord.STATE_NOT_PAY);
-        }
-
-        if (record.getCreateTime() == null) {
-            record.setCreateTime(new Date());
-        }
-        Serializable id = vipOrderRecordDao.save(record);
-        record.setId(id.toString());
-    }
-
-    /**
-     * 鏀粯鎴愬姛
-     *
-     * @param id
-     * @param payWay
-     * @param payMoney
-     * @param payTime
-     * @throws VIPException
-     */
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public VIPOrderRecord paySuccess(final String id, int payWay, BigDecimal payMoney, Date payTime) throws VIPException, PPTVException {
-        LoggerUtil.getTestLogger().info("鏀粯鎴愬姛:寮�濮嬫墽琛寋}", id);
-
-        Session session = vipOrderRecordDao.getSession();
-
-        //淇敼璁板綍
-        Query query = session.createSQLQuery("select * from wk_vip_order_record r where r.id=? for update").addEntity(VIPOrderRecord.class).setCacheable(false).setParameter(0, id);
-        List<VIPOrderRecord> list = query.list();
-
-        if (list != null && list.size() > 0) {
-            VIPOrderRecord record = list.get(0);
-            if (record.getState() == VIPOrderRecord.STATE_PAY)
-                throw new VIPException(1, "璁㈠崟宸茬粡鏀粯");
-
-            session.createSQLQuery("insert into wk_vip_order_pay_success(id,create_time) value(?,now())").setParameter(0, id).executeUpdate();
-
-            record.setPayWay(payWay);
-            record.setPayMoney(payMoney);
-            record.setPayTime(payTime);
-            record.setUpdateTime(new Date());
-
-            record.setState(VIPOrderRecord.STATE_PAY);
-
-
-            Date[] expireDate = addExpireTime(session, record.getUid(), payTime, record.getType());
-            if (expireDate == null) {
-                throw new VIPException(2, "娣诲姞鐢ㄦ埛浼氬憳鏃堕棿鍑洪敊");
-            }
-
-            record.setVipStartTime(expireDate[0]);
-            record.setVipEndTime(expireDate[1]);
-
-            session.update(record);
-
-
-            LoggerUtil.getTestLogger().info("鏀粯鎴愬姛:淇敼璁板綍{}", id);
-            //璐拱VIP
-            pptvVipManager.buyVIP(record);
-            LoggerUtil.getTestLogger().info("鏀粯鎴愬姛:璐拱VIP鎴愬姛{}", id);
-            return record;
-        } else {
-            throw new VIPException(10, "璁㈠崟涓嶅瓨鍦�");
-        }
-
-
-    }
-
-    /**
-     * 缁湡
-     *
-     * @param session
-     * @param uid
-     * @param payTime
-     * @param type
-     * @return
-     */
-    private Date[] addExpireTime(Session session, String uid, Date payTime, VIPPriceType type) {
-        if (type == null || uid == null)
-            return null;
-        List list = session.createSQLQuery("select * from wk_user_vip i where i.uid=? for update").addEntity(UserVIPInfo.class).setParameter(0, uid).list();
-        if (list == null || list.size() == 0) {
-            //鏂板
-            UserVIPInfo vip = new UserVIPInfo();
-            vip.setUid(uid);
-            vip.setCreateTime(new Date());
-            vip.setExpireDate(getExpireTime(payTime, null, type));
-            session.save(vip);
-            return new Date[]{payTime, vip.getExpireDate()};
-        } else {
-            //淇敼
-            UserVIPInfo vipInfo = (UserVIPInfo) list.get(0);
-            Date expireDate = getExpireTime(payTime, vipInfo.getExpireDate(), type);
-            session.createQuery("update UserVIPInfo i set i.expireDate=? ,i.updateTime=? where i.uid=?").setParameter(0, expireDate).setParameter(1, new Date()).setParameter(2, uid).executeUpdate();
-
-            return new Date[]{vipInfo.getExpireDate() == null ? new Date() : vipInfo.getExpireDate(), expireDate};
-        }
-    }
-
-    /**
-     * 鑾峰彇鍒版湡鏃堕棿
-     *
-     * @param payTime
-     * @param expireTime
-     * @param type
-     * @return
-     */
-    private Date getExpireTime(Date payTime, Date expireTime, VIPPriceType type) {
-        Calendar calendar = Calendar.getInstance();
-        if (expireTime != null) {
-            calendar.setTimeInMillis(expireTime.getTime());
-        } else {
-            calendar.setTimeInMillis(payTime.getTime());
-        }
-        if (type == VIPPriceType.day) {
-            calendar.add(Calendar.DAY_OF_WEEK, 1);
-        } else if (type == VIPPriceType.week) {
-            calendar.add(Calendar.WEEK_OF_YEAR, 1);
-        } else if (type == VIPPriceType.month) {
-            calendar.add(Calendar.MONTH, 1);
-        } else if (type == VIPPriceType.season) {
-            calendar.add(Calendar.MONTH, 3);
-        } else if (type == VIPPriceType.halfYear) {
-            calendar.add(Calendar.MONTH, 6);
-        } else if (type == VIPPriceType.year) {
-            calendar.add(Calendar.YEAR, 1);
-        }
-        return new Date(calendar.getTimeInMillis());
-    }
 
     @Override
     public UserVIPInfo getVIPInfo(String uid) {
         return userVIPInfoDao.find(UserVIPInfo.class, uid);
-    }
-
-    @Override
-    public List<VIPOrderRecord> listOrderRecord(String uid, Integer state, int page, int pageSize) {
-
-        VIPOrderRecordDao.DaoQuery query = new VIPOrderRecordDao.DaoQuery();
-        query.start = (page - 1) * pageSize;
-        query.count = pageSize;
-        query.uid = uid;
-        query.state = state;
-
-        return vipOrderRecordDao.list(query);
-    }
-
-    @Override
-    public long countOrderRecord(String uid, Integer state) {
-        VIPOrderRecordDao.DaoQuery query = new VIPOrderRecordDao.DaoQuery();
-        query.uid = uid;
-        query.state = state;
-        return vipOrderRecordDao.count(query);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public VIPOrderRecord checkOrderPayState(String id) {
-        VIPOrderRecord record = vipOrderRecordDao.find(VIPOrderRecord.class, id);
-        if (record.getState() == VIPOrderRecord.STATE_PAY)
-            return record;
-
-        switch (record.getPayWay()) {
-            case VIPOrderRecord.PAY_WAY_ALIPAY: {
-                //鏀粯瀹�
-                AlipayTradeQueryResponse res = null;
-                try {
-                    res = AlipayH5PayUtil.queryOrder(VipUtil.getAlipayApp(), VIPOrderUtil.getOutOrderNo(id), null);
-                    //鏀粯鎴愬姛
-                    if (res.isSuccess() && "TRADE_SUCCESS".equalsIgnoreCase(res.getTradeStatus())) {
-                        try {
-                            return paySuccess(id, VIPOrderRecord.PAY_WAY_ALIPAY, new BigDecimal(res.getTotalAmount()), new Date());
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                        }
-                    }
-                } catch (AlipayApiException e) {
-                    e.printStackTrace();
-                }
-            }
-
-            break;
-            case VIPOrderRecord.PAY_WAY_WX: {
-                //寰俊
-                try {
-                    WXPayOrderInfoV3 info = WXPayV3Util.getPayOrderInfo(VIPOrderUtil.getOutOrderNo(id), VipUtil.getWXAPP());
-                    if (info != null && info.getTrade_state().equalsIgnoreCase("SUCCESS")) {
-                        paySuccess(id, record.getPayWay(), new BigDecimal(info.getAmount().getPayer_total()).divide(new BigDecimal(100), 2, RoundingMode.FLOOR), new Date());
-                        return record;
-                    }
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-            }
-            break;
-        }
-        return record;
-
-    }
-
-    @Override
-    public VIPOrderRecord getOrderRecord(String id) {
-        return vipOrderRecordDao.find(VIPOrderRecord.class, id);
     }
 
     @Transactional

--
Gitblit v1.8.0