zoukankan      html  css  js  c++  java
  • 发送邮件功能 Service 层

    package com.thinkgem.jeesite.modules.yudengjipush.service;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    import java.util.Map;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Scope;
    import org.springframework.stereotype.Service;
    
    import com.google.common.collect.Maps;
    import com.itextpdf.text.log.SysoLogger;
    import com.thinkgem.jeesite.common.service.CrudService;
    import com.thinkgem.jeesite.common.utils.SendMailUtil;
    import com.thinkgem.jeesite.modules.flight.entity.Detail;
    import com.thinkgem.jeesite.modules.flight.entity.FlightIndexBean;
    import com.thinkgem.jeesite.modules.flight.entity.FlightInfoList;
    import com.thinkgem.jeesite.modules.flight.entity.FlightList;
    import com.thinkgem.jeesite.modules.flight.entity.PriceDeatil;
    import com.thinkgem.jeesite.modules.flight.entity.ProductList;
    import com.thinkgem.jeesite.modules.flight.service.FlightService;
    import com.thinkgem.jeesite.modules.hotel.dao.HotelDao;
    import com.thinkgem.jeesite.modules.hotel.entity.Hotel;
    import com.thinkgem.jeesite.modules.sys.entity.BaseArea;
    import com.thinkgem.jeesite.modules.sys.service.BaseAreaService;
    import com.thinkgem.jeesite.modules.yudengjipush.dao.YuDengJiPushDao;
    import com.thinkgem.jeesite.modules.yudengjipush.entity.YuDengJiPush;
    
    /**
     * 详情页面意向登记 Service 类
     * 
     * @author Administrator
     * 
     */
    @Service
    @Scope
    public class YuDengJiPushService extends CrudService<YuDengJiPushDao, YuDengJiPush> {
    
        private static final String beijing = "BJS";// 北京三字码
        private static final String shanghai = "SHA";// 上海三字码
        private static final String guangzhou = "CAN";// 广州三字码
        private static final String hongkong = "HKG";// 香港三字码
    
        @Autowired
        YuDengJiPushDao yuDengJiPushDao;
        @Autowired
        FlightService flightService;
        @Autowired
        BaseAreaService baseAreaService;
    
        @Autowired
        HotelDao hotelDao;
    
        /**
         * 查询参观预登记要推送的信息
         * 
         * @param yuDengJiPush
         * @throws ParseException
         */
        public void queryYuDengJiPush() {
            String takeoffDate = flightService.getDateTime(28, "yyyy-MM-dd");// 飞机起飞时间
            String returnDate = flightService.getDateTime(37, "yyyy-MM-dd");// 飞机返程日期为展览开展时间的后7天
            String launchTime = flightService.getDateTime(30, "yyyy-MM-dd");// 展会举办时间
            YuDengJiPush yuDengJiPush = new YuDengJiPush();
            yuDengJiPush.setJuBanTime(launchTime);
            Hotel ht = new Hotel();
            List<YuDengJiPush> yuDengJiPushList = yuDengJiPushDao.findList(yuDengJiPush);
            Map<String, Object> map = Maps.newHashMap();
            try {
                if (yuDengJiPushList != null && yuDengJiPushList.size() > 0) {
                    for (YuDengJiPush yp : yuDengJiPushList) {
                        if ("".equals(yp.getCityAdd()) || yp.getCityAdd() == null) {
                            yp.setCityAdd("北京");
                        }
                        // 获取展会所在城市的酒店信息
                        if (!"".equals(yp.getZhanGuanId()) && yp.getZhanGuanId() != null) {
                            ht.setZhanGuanId(Integer.parseInt(yp.getZhanGuanId()));
                            List<Hotel> hotelTop4 = hotelDao.findHotelTop4(ht);
                            if(hotelTop4.size()>0 && hotelTop4 !=null){
                                for(int i=0;i<hotelTop4.size();i++){
                                    if(hotelTop4.get(i)!=null){
                                        map.put("hotel"+String.valueOf(i), hotelTop4.get(i));
                                    }else{
                                        map.put("hotel"+String.valueOf(i), null);}
                                }
                            }
                            
                        } 
                        
                        List<FlightList> flightList = queryFlightList(yp.getZhanGuanId(), yp.getCityAdd(), takeoffDate, returnDate);
                        if (flightList != null && flightList.size() > 0) {
                            
                            for(int i=0;i<4;i++){
                                FlightIndexBean ftBean = new FlightIndexBean();
                                FlightList ft = flightList.get(i);
                                List<FlightInfoList> flightInfoList = ft.getFlightInfoList();//综合信息
                                List<ProductList> productList = ft.getProductList();//机票价格信息
                                if(flightInfoList !=null && flightInfoList.size()>0){
                                    FlightInfoList takeoffList = flightInfoList.get(0);//起飞时的航程信息
                                    FlightInfoList arrivalList = flightInfoList.get(flightInfoList.size()-1);//降落时的航程信息
                                    if(takeoffList !=null){
                                        ftBean.setAirName(takeoffList.getAirName());// 航空公司
                                        ftBean.setEquipment(takeoffList.getEquipment());// 机型
                                        String takeoffTime = takeoffList.getTakeoffTime();
                                        if(takeoffTime.length()>=5){
                                            ftBean.setTakeoffTime(takeoffTime.substring(0, takeoffTime.length()-5));// 起飞时间
                                        }
                                        ftBean.setTakeoffCity(takeoffList.getTakeoffCity());// 出发城市名称
                                        ftBean.setTakeoffAirportName(takeoffList.getTakeoffAirportName());//起飞时机场名称
                                        ftBean.setTakeoffTerminal(takeoffList.getTakeoffTerminal());// 出发航站楼
                                    }
                                    if(arrivalList !=null){
                                        String arrivalTime = arrivalList.getArrivalTime();
                                        if(arrivalTime.length()>=5){
                                            ftBean.setArrivalTime(arrivalTime.substring(0, arrivalTime.length()-5));// 着陆点时间
                                        }
                                        ftBean.setArrivalCity(arrivalList.getArrivalCity());// 着陆点城市
                                        ftBean.setArrivalAirportName(arrivalList.getArrivalAirportName());//着陆点机场名称
                                        ftBean.setArrivalTerminal(arrivalList.getArrivalTerminal());// 着陆点航站楼
                                        ftBean.setArrivalEquipment(arrivalList.getEquipment());//终点站时机型
                                    }
                                }
                                if(productList !=null && productList.size()>0){
                                    for(ProductList p : productList){
                                        List<PriceDeatil> priceDeatilList = p.getPriceDeatil();
                                        if(priceDeatilList !=null && priceDeatilList.size()>0){
                                            for(PriceDeatil pd : priceDeatilList){
                                                Detail detail = pd.getDetail();
                                                ftBean.setSalePrice(detail.getSalePrice());
                                            }
                                        }
                                    }
                                }
                                map.put("ftBean"+String.valueOf(i), ftBean);
                            }
                            
                        }
                        map.put("yp", yp);
                        SendMailUtil.sendFtlMail(yp.getMail(), "参观预登记提示", "canGuanYuDengJi.ftl", map);// 发送邮件
                    }
                }
    
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 
         * @param zhanGuanId
         *            展馆的ID
         * @param cityAdd
         *            参观预登记下单人所在的城市
         * @param takeoffDate
         *            起飞时间
         * @return
         */
        /*
         * public Integer getTicketPrice(String zhanGuanId, String cityAdd, String
         * takeoffDate) { int Price = 0; String takeoffSZM = beijing;//
         * 默认当前下单用户起飞城市是北京 BaseArea ba = new BaseArea();
         * ba.setZhanGuanId(Integer.parseInt(zhanGuanId)); ba =
         * baseAreaService.getsanZiMa(ba); if ("".equals(ba.getSanZiMa()) ||
         * ba.getSanZiMa() == null) { return Price; } if ("广州".equals(cityAdd)) {
         * takeoffSZM = guangzhou; } else if ("上海".equals(cityAdd)) { takeoffSZM =
         * shanghai; } else if ("香港".equals(cityAdd)) { takeoffSZM = hongkong; }
         * FlightIndexBean flightIndexBean =
         * flightService.queryYuDengJiPushFlight(takeoffSZM, ba.getSanZiMa(),
         * takeoffDate); if (flightIndexBean != null &&
         * flightIndexBean.getSalePrice() != null) { Price =
         * Integer.parseInt(flightIndexBean.getSalePrice()); } return Price; }
         */
        /**
         * 
         * @param zhanGuanId 展馆的ID
         * @param cityAdd 参观预登记下单人所在的城市
         * @param takeoffDate 起飞时间
         * @param returnDate 返程时间
         * @return List<FlightList>
         */
        public List<FlightList> queryFlightList(String zhanGuanId, String cityAdd, String takeoffDate, String returnDate) {
    
            String takeoffCityCode = beijing;// 默认当前下单用户起飞城市是北京
            BaseArea ba = new BaseArea();
            ba.setZhanGuanId(Integer.parseInt(zhanGuanId));
            ba = baseAreaService.getsanZiMa(ba);
            if ("".equals(ba.getSanZiMa()) || ba.getSanZiMa() == null) {
                return null;
            }
            if ("广州".equals(cityAdd)) {
                takeoffCityCode = guangzhou;
            } else if ("上海".equals(cityAdd)) {
                takeoffCityCode = shanghai;
            } else if ("香港".equals(cityAdd)) {
                takeoffCityCode = hongkong;
            }
            return flightService.queryYuDengJiPushList(takeoffCityCode, ba.getSanZiMa(), takeoffDate, returnDate);
        }
    
    }
  • 相关阅读:
    POJ2965(The Pilots Brothers' refrigerator)
    POJ1753(Flip Game)
    POJ3253(Fence Repair)
    山东理工大学的训练计划
    loutsScript 常用代码
    《大道至简》读后感
    2019暑第三周
    2019暑第二周
    2019暑第一周
    关于13组作品《TD tree》的使用感想
  • 原文地址:https://www.cnblogs.com/SHMILYHP/p/5198257.html
Copyright © 2011-2022 走看看