Helius
2021-01-11 69d8c54fe4d0c90de196f3d92f74933d06529902
zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java
@@ -1,9 +1,14 @@
package com.matrix.system.hive.service.imp;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.core.tools.DateUtil;
import com.matrix.core.tools.ModelUtils;
import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.vo.UserAchieveVo;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.SysUsersDao;
import com.matrix.system.constance.Dictionary;
import com.matrix.system.hive.bean.*;
@@ -16,10 +21,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * This field was generated by Zking.software.Codegen.
@@ -262,24 +264,9 @@
        achieveNew.setT2(orderItem.getIsFree());
        // 根据商品类型设置业绩类型
        String goodType = shoppingGoodsDao.selectById(orderItem.getGoodsId()).getGoodType();
        if (orderItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY)
                && Dictionary.SHOPPING_GOODS_TYPE_XM.equals(goodType)) {
            // 现金支付设置现金单次
            achieveNew.setProjCash(Double.parseDouble(achieveNew.getT1()));
        } else if (orderItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY)
                && Dictionary.SHOPPING_GOODS_TYPE_JJCP.equals(goodType)) {
            // 设置现金产品
            achieveNew.setGoodsCash(Double.parseDouble(achieveNew.getT1()));
        } else if (orderItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY)
                && (Dictionary.SHOPPING_GOODS_TYPE_TC.equals(goodType)
                || Dictionary.SHOPPING_GOODS_TYPE_CZK.equals(goodType)
                || Dictionary.SHOPPING_GOODS_TYPE_ZHK.equals(goodType)
                || Dictionary.SHOPPING_GOODS_TYPE_TCK.equals(goodType))) {
            // 设置卡项
        if (Dictionary.ACHIEVE_TYPE_CASH.equals(achieveNew.getT3())){
            achieveNew.setCardCash(Double.parseDouble(achieveNew.getT1()));
        } else if (!orderItem.getPayMethod().equals(Dictionary.PAY_TYPE_CARD)) {
        } else {
            // 设置划扣金额
            achieveNew.setConsume(Double.parseDouble(achieveNew.getT1()));
        }
@@ -308,5 +295,54 @@
        achieveNewDao.updateAchieveTime(achieveNew);
    }
    @Override
    public List<AchieveNew> findVipConsumeStatisticsList(AchieveNew achieveNew, PaginationVO pageVo) {
        return achieveNewDao.selectVipConsumeStatisticsList(achieveNew, pageVo);
    }
    @Override
    public int findVipConsumeStatisticsTotal(AchieveNew achieveNew) {
        return achieveNewDao.selectVipConsumeStatisticsTotal(achieveNew);
    }
    @Override
    public UserAchieveVo findUserAchieveByTime(int type) {
        SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
        Calendar calendar = Calendar.getInstance();
        Date startTime = calendar.getTime();
        Date endTime = calendar.getTime();
        switch (type) {
            // 本日
            case 1 :
                break;
                // 昨日
            case 2:
                startTime = DateUtil.previousNDate(startTime, 1);
                endTime = startTime;
                break;
                // 本月
            case 3:
                calendar.set(Calendar.DAY_OF_MONTH, 1);
                startTime = calendar.getTime();
                break;
                // 上月
            case 4:
                calendar.add(Calendar.MONTH, -1);
                calendar.set(Calendar.DAY_OF_MONTH, 1);
                startTime = calendar.getTime();
                calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
                endTime = calendar.getTime();
                break;
            default:
                break;
        }
        return achieveNewDao.selectUserAchieveByTime(startTime, endTime, users.getSuId());
    }
    @Override
    public List<AchieveNew> findOrderItemAchieve(Long orderId) {
        return achieveNewDao.selectOrderItemAchieveByOrderId(orderId);
    }
}