batchserviceimpl.java
来自「移动彩信管理平台」· Java 代码 · 共 352 行
JAVA
352 行
package com.my7g.zj.mobile.mms.business.service;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import org.springframework.jdbc.core.JdbcTemplate;
import com.my7g.zj.mobile.mms.bean.BatchBuildBean;
import com.my7g.zj.mobile.mms.business.IBatchService;
import com.my7g.zj.mobile.mms.mapping.TbMmsBatch;
import com.my7g.zj.mobile.mms.mapping.TbMmsGroupSend;
import com.my7g.zj.mobile.mms.sys.BasicDao;
import com.my7g.zj.mobile.mms.util.DividePageBean;
import com.my7g.zj.mobile.mms.util.PageBean;
/**
* @author csc
*
*/
public class BatchServiceImpl extends BasicDao implements IBatchService {
private JdbcTemplate jdbcTemplatePlatform;
private EntityManagerFactory entityManagerFactory;
private DividePageBean dividePageBean;
public DividePageBean getDividePageBean() {
return dividePageBean;
}
public void setDividePageBean(DividePageBean dividePageBean) {
this.dividePageBean = dividePageBean;
}
public EntityManagerFactory getEntityManagerFactory() {
return entityManagerFactory;
}
public void setEntityManagerFactory(
EntityManagerFactory entityManagerFactory) {
this.entityManagerFactory = entityManagerFactory;
}
public JdbcTemplate getJdbcTemplatePlatform() {
return jdbcTemplatePlatform;
}
public void setJdbcTemplatePlatform(JdbcTemplate jdbcTemplatePlatform) {
this.jdbcTemplatePlatform = jdbcTemplatePlatform;
}
/**
* 获得子类的列表
*
* @return
*/
public List getSubType() {
return this.jdbcTemplatePlatform
.queryForList("select sort_index,sort_name from "
+ "tb_mms_type where sort_deep = 3 order by sort_order ");
}
/**
* 获得所有的群发彩信
*
* @param page
* @param rowPerPage
* @param href
* @param mmstype
* @param starttime
* @param endtime
* @return
*/
public PageBean getBulidBatch(int page, int rowPerPage, String href,
String mmstype, String starttime, String endtime) {
EntityManager entityManager = null;
PageBean bean = null;
try {
entityManager = entityManagerFactory.createEntityManager();
starttime = "'" + starttime + " 00:00:00.000'";
endtime = "'" + endtime + " 00:00:00.999'";
String countsql = "select count(*) from tb_mms_group_send "
+ " where sent_time >= " + starttime + " and sent_time <="
+ endtime + "and type_index like '%" + mmstype + "%'";
String sql = " select a.mms_id,a.mms_title,c.sort_name,c.sort_index,d.ent_name,a.sent_time,b.batch_id "
+ " from tb_mms_group_send a left join tb_mms_batch b "
+ " on a.mms_id = b.mms_id "
+ " , tb_mms_type c "
+ " ,supermms_cp..tb_mms_cp_provider d "
+ " where a.type_index = c.sort_index and a.type_index = d.type_index and a.provide_id = d.provider_id"
+ " and a.sent_time >="
+ starttime
+ " and a.sent_time <= "
+ endtime
+ " and a.type_index like '%"
+ mmstype
+ "%'"
+ " order by a.sent_time ";
dividePageBean.setwaitPage(String.valueOf(page), rowPerPage);
Long ecount = 0L;
Vector evs = (Vector) (entityManager.createNativeQuery(countsql)
.getSingleResult());
if (evs != null && !evs.isEmpty()) {
ecount = Long.valueOf(evs.get(0).toString());
}
dividePageBean.setPageInfo(ecount.intValue());
List rs = entityManager.createNativeQuery(sql).setFirstResult(
(page - 1) * rowPerPage).setMaxResults(rowPerPage)
.getResultList();
List rsList = new ArrayList();
for (Iterator it = rs.iterator(); it.hasNext();) {
Vector vs = (Vector) it.next();
BatchBuildBean bbb = new BatchBuildBean();
bbb.setMmsId(vs.get(0) == null ? "" : vs.get(0).toString());
bbb.setTitle(vs.get(1) == null ? "" : vs.get(1).toString());
bbb.setType(vs.get(2) == null ? "" : vs.get(2).toString());
bbb
.setType_index(vs.get(3) == null ? "" : vs.get(3)
.toString());
bbb.setCp(vs.get(4) == null ? "" : vs.get(4).toString());
bbb.setSentTime(vs.get(5) == null ? "" : vs.get(5).toString());
bbb.setState(vs.get(6) == null ? "0" : vs.get(6).toString());
bbb.setStatezh(vs.get(6) == null ? "未生成批次"
: "<font color='red'>已生成批次</font>");
rsList.add(bbb);
}
String pageHref = dividePageBean.gethrefPage(href, "pagesel",
"page");
bean = new PageBean(pageHref, rsList);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (entityManager != null) {
entityManager.close();
}
}
return bean;
}
/**
* 生成彩信批次
*
* @param mmsid
*/
public void createBatch(TbMmsBatch tmb) {
this.save(tmb);
}
/**
* 根据彩信id查询批次
*
* @param mmsId
* @return
*/
public List checkByMmsId(String mmsId) {
EntityManager entityManager = null;
PageBean bean = null;
List rsList = new ArrayList();
try {
entityManager = entityManagerFactory.createEntityManager();
String sql = " select a.batch_id,a.mms_id,c.mms_title,b.sort_name,d.ent_name,a.real_send_time "
+ " from tb_mms_batch a,tb_mms_type b,tb_mms_seed c,supermms_cp..tb_mms_cp_provider d "
+ " where a.type_index = b.sort_index and a.mms_id = c.mms_id and d.provider_id = c.provide_id "
+ " and a.mms_id ='"+mmsId+"'";
List rs = entityManager.createNativeQuery(sql)
.getResultList();
for (Iterator it = rs.iterator(); it.hasNext();) {
Vector vs = (Vector) it.next();
BatchBuildBean bbb = new BatchBuildBean();
bbb.setBatchId(vs.get(0) == null ? "" : vs.get(0).toString());
bbb.setMmsId(vs.get(1) == null ? "" : vs.get(1).toString());
bbb.setTitle(vs.get(2) == null ? "" : vs.get(2).toString());
bbb.setType(vs.get(3) == null ? "" : vs.get(3).toString());
bbb.setCp(vs.get(4) == null ? "" : vs.get(4).toString());
bbb.setRealSentTime(vs.get(5) == null ? "" : vs.get(5).toString());
rsList.add(bbb);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (entityManager != null) {
entityManager.close();
}
}
return rsList;
}
/**
* 根据批次id查询
*
* @param batchId
* @return
*/
public List checkByBatchId(String batchId) {
EntityManager entityManager = null;
PageBean bean = null;
List rsList = new ArrayList();
try {
entityManager = entityManagerFactory.createEntityManager();
String sql = " select a.batch_id,a.mms_id,c.mms_title,b.sort_name,d.ent_name,a.real_send_time "
+ " from tb_mms_batch a,tb_mms_type b,tb_mms_seed c,supermms_cp..tb_mms_cp_provider d "
+ " where a.type_index = b.sort_index and a.mms_id = c.mms_id and d.provider_id = c.provide_id "
+ " and a.batch_id ='"+batchId+"'";
List rs = entityManager.createNativeQuery(sql)
.getResultList();
for (Iterator it = rs.iterator(); it.hasNext();) {
Vector vs = (Vector) it.next();
BatchBuildBean bbb = new BatchBuildBean();
bbb.setBatchId(vs.get(0) == null ? "" : vs.get(0).toString());
bbb.setMmsId(vs.get(1) == null ? "" : vs.get(1).toString());
bbb.setTitle(vs.get(2) == null ? "" : vs.get(2).toString());
bbb.setType(vs.get(3) == null ? "" : vs.get(3).toString());
bbb.setCp(vs.get(4) == null ? "" : vs.get(4).toString());
bbb.setRealSentTime(vs.get(5) == null ? "" : vs.get(5).toString());
rsList.add(bbb);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (entityManager != null) {
entityManager.close();
}
}
return rsList;
}
/**分页查询批次
* @param page
* @param rowPerPage
* @param href
* @param mmstype
* @param starttime
* @param endtime
* @return
*/
public PageBean getCheckBatch(int page, int rowPerPage, String href,
String mmstype, String starttime, String endtime) {
EntityManager entityManager = null;
PageBean bean = null;
try {
entityManager = entityManagerFactory.createEntityManager();
starttime = "'" + starttime + " 00:00:00.000'";
endtime = "'" + endtime + " 00:00:00.999'";
String countsql = "select count(*) from tb_mms_batch "
+ " where real_send_time >= " + starttime + " and real_send_time <="
+ endtime + "and type_index like '%" + mmstype + "%'";
String sql = " select a.batch_id,a.mms_id,c.mms_title,b.sort_name,d.ent_name,a.real_send_time "
+ " from tb_mms_batch a,tb_mms_type b,tb_mms_seed c,supermms_cp..tb_mms_cp_provider d "
+ " where a.type_index = b.sort_index and a.mms_id = c.mms_id and d.provider_id = c.provide_id "
+ " and a.real_send_time >="
+ starttime
+ " and a.real_send_time <= "
+ endtime
+ " and c.type_index like '%"
+ mmstype
+ "%'"
+ " order by a.real_send_time ";
System.out.println("sql-----"+sql);
dividePageBean.setwaitPage(String.valueOf(page), rowPerPage);
Long ecount = 0L;
Vector evs = (Vector) (entityManager.createNativeQuery(countsql)
.getSingleResult());
if (evs != null && !evs.isEmpty()) {
ecount = Long.valueOf(evs.get(0).toString());
}
dividePageBean.setPageInfo(ecount.intValue());
List rs = entityManager.createNativeQuery(sql).setFirstResult(
(page - 1) * rowPerPage).setMaxResults(rowPerPage)
.getResultList();
List rsList = new ArrayList();
for (Iterator it = rs.iterator(); it.hasNext();) {
Vector vs = (Vector) it.next();
BatchBuildBean bbb = new BatchBuildBean();
bbb.setBatchId(vs.get(0) == null ? "" : vs.get(0).toString());
bbb.setMmsId(vs.get(1) == null ? "" : vs.get(1).toString());
bbb.setTitle(vs.get(2) == null ? "" : vs.get(2).toString());
bbb.setType(vs.get(3) == null ? "" : vs.get(3).toString());
bbb.setCp(vs.get(4) == null ? "" : vs.get(4).toString());
bbb.setRealSentTime(vs.get(5) == null ? "" : vs.get(5).toString());
rsList.add(bbb);
}
String pageHref = dividePageBean.gethrefPage(href, "pagesel",
"page");
bean = new PageBean(pageHref, rsList);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (entityManager != null) {
entityManager.close();
}
}
return bean;
}
/**删除批次方法
* @param batchid
* @return
*/
public String deleteBatch(String batchid){
this.delete(TbMmsBatch.class, new Long(batchid));
return "删除批次 "+batchid+" 成功!";
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?