| | |
| | | package com.product.mobile.core.service; |
| | | |
| | | import com.product.admin.config.CmnConst; |
| | | import com.product.admin.service.PublicService; |
| | | import com.product.core.dao.BaseDao; |
| | | import com.product.core.entity.DataTableEntity; |
| | | import com.product.core.entity.FieldSetEntity; |
| | | import com.product.core.service.support.AbstractBaseService; |
| | | import com.product.core.spring.context.SpringMVCContextHolder; |
| | | import com.product.module.sys.service.UserService; |
| | | |
| | | import java.util.ArrayList; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | |
| | | * @return |
| | | */ |
| | | public DataTableEntity listReadMessage(FieldSetEntity fse) { |
| | | ArrayList <Object> ps= new ArrayList<Object>(); |
| | | ps.add(SpringMVCContextHolder.getCurrentUserId()); |
| | | StringBuilder f=new StringBuilder(); |
| | | if(fse.getString("type")!=null) { |
| | | f.append(" and SUBSTRING(m.message_type,1,1)=?"); |
| | | ps.add(fse.getString("type")); |
| | | } |
| | | if(fse.getString("key")!=null) { |
| | | f.append( " and (title like concat('%',?,'%') or content like concat('%',?,'%') or user_name like concat('%',?,'%') ) "); |
| | | ps.add(fse.getString("key")); |
| | | ps.add(fse.getString("key")); |
| | | ps.add(fse.getString("key")); |
| | | } |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append("\nselect m.uuid,m.title,m.content,m.send_user_id,mu.user_name send_user_name,m.send_time,m.message_type,ifnull(m.mobile_url,'') url "); |
| | | sql.append("\nselect m.uuid,m.title,m.content,m.send_user_id,mu.user_name send_user_name,m.send_time,m.message_type,ifnull(m.url,'') url,source_table,source_uuid,thumbnail_img "); |
| | | sql.append("\nfrom product_sys_message m"); |
| | | sql.append("\nleft join product_sys_users mu on mu.user_id=m.send_user_id "); |
| | | sql.append("\ninner join product_sys_message_user u on u.message_uuid=m.uuid and u.read_type=1 and u.user_id=?"); |
| | | sql.append("\ninner join product_sys_message_user u on u.message_uuid=m.uuid and u.read_type=1 and u.user_id=? ").append(f); |
| | | sql.append("\norder by m.send_time desc"); |
| | | DataTableEntity dte = baseDao.listTable(sql.toString(), new Object[]{SpringMVCContextHolder.getCurrentUserId()}, fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE)); |
| | | DataTableEntity dte = baseDao.listTable(sql.toString(), ps.toArray(), fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE)); |
| | | dte.getMeta().addAliasTable("product_sys_message", "m"); |
| | | baseDao.loadPromptData(dte); |
| | | |
| | |
| | | |
| | | return dte; |
| | | } |
| | | /** |
| | | * 统计分类型消息 |
| | | * @param fse |
| | | * @return |
| | | */ |
| | | public DataTableEntity getTypeMessage(Object type,int read) { |
| | | |
| | | ArrayList<Object> ps= new ArrayList<Object>(); |
| | | ps.add(SpringMVCContextHolder.getCurrentUserId()); |
| | | ps.add(read); |
| | | String f=""; |
| | | if(type!=null) { |
| | | f=" and SUBSTRING(message_type,1,1)=?"; |
| | | ps.add(type); |
| | | } |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append("\nselect SUBSTRING(message_type,1,1) message_type, count(*) num from product_db_lift.product_sys_message m inner join product_db_lift.product_sys_message_user u on u.message_uuid=m.uuid \r\n" |
| | | + "and u.user_id=? and u.read_type=?").append(f).append(" group by SUBSTRING(message_type,1,1) "); |
| | | DataTableEntity dte = baseDao.listTable(sql.toString(),ps.toArray(),Integer.MAX_VALUE, 1); |
| | | return dte; |
| | | } |
| | | |
| | | } |