Browse Source

消息推荐相关查询处理

hejq 7 years ago
parent
commit
e0bc4167c8

+ 0 - 1
src/main/java/com/uas/platform/b2b/dao/MakeOrderChangeItemDao.java

@@ -39,7 +39,6 @@ public interface MakeOrderChangeItemDao extends JpaSpecificationExecutor<MakeOrd
      */
 	List<MakeOrderChangeItem> findByVendUUAndSendStatus(Long vendUU, Short sendStatus);
 
-	
 	/**
 	 * 根据供应商UU号获取客户采购变更单数量
 	 * @param vendUU

+ 5 - 2
src/main/java/com/uas/platform/b2b/dao/PagingReleaseDao.java

@@ -6,9 +6,12 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.stereotype.Repository;
 
 /**
- * Created by dongbw on 17/03/23 9:37.
+ *  推送消息表
+ *
+ * @author dongbw
+ * @date 17/03/23 9:37
  */
 @Repository
-public interface PagingReleaseDao extends JpaSpecificationExecutor<PagingRelease>,JpaRepository<PagingRelease, Long> {
+public interface PagingReleaseDao extends JpaSpecificationExecutor<PagingRelease>, JpaRepository<PagingRelease, Long> {
 
 }

+ 0 - 1
src/main/java/com/uas/platform/b2b/dao/PurchaseAcceptItemDao.java

@@ -42,7 +42,6 @@ public interface PurchaseAcceptItemDao extends JpaSpecificationExecutor<Purchase
 	@Query("from PurchaseAcceptItem p where p.accept.enUU = :enUU and p.orderItem.order.date >= :startDate and p.orderItem.order.date <= :endDate")
 	List<PurchaseAcceptItem> findPurcAccsptItems(@Param("enUU") Long enUU, @Param("startDate") Date needStartDate, @Param("endDate") Date needEndDate);
 
-
 	/**
 	 * 根据验收单明细ID获取数据
 	 * @param enUU

+ 3 - 16
src/main/java/com/uas/platform/b2b/mobile/controller/ReleaseController.java

@@ -9,8 +9,10 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 /**
- * Created by dongbw
+ * 推送消息表
+ *
  * 17/03/28 9:09.
+ * @author dongbw
  */
 @Controller("mobile.ReleaseController")
 @RequestMapping(value = "/mobile/release")
@@ -44,7 +46,6 @@ public class ReleaseController {
         mobileReleaseService.changeReleaseCounts(ids);
     }
 
-
     /**
      * 获取消息详细列表
      *
@@ -71,18 +72,4 @@ public class ReleaseController {
         return mobileReleaseService.changeReleaseDetails(ids);
     }
 
-//    /**
-//     *  推送消息
-//     *
-//     * @param vendUseruu
-//     * @param vendUU
-//     * @return
-//     * @throws Exception
-//     */
-//    @RequestMapping(value = "/push", method = RequestMethod.POST)
-//    @ResponseBody
-//    public ResponseEntity<ModelMap> pushRelease (Long vendUseruu, Long vendUU) throws Exception {
-//        return mobileReleaseService.pushRelease(vendUseruu, vendUU);
-//    }
-
 }

+ 6 - 18
src/main/java/com/uas/platform/b2b/mobile/service/MobileReleaseService.java

@@ -1,9 +1,7 @@
 package com.uas.platform.b2b.mobile.service;
 
-import com.uas.platform.b2b.model.PagingReleaseDetail;
 import org.springframework.ui.ModelMap;
 
-import java.util.List;
 
 /**
  * Created by dongbw
@@ -30,28 +28,18 @@ public interface MobileReleaseService {
     /**
      * 获取消息详细列表
      *
-     * @param emuu
-     * @param enuu
-     * @param type
+     * @param emuu emuu
+     * @param enuu enuu
+     * @param type type
      * @return
      */
     ModelMap getReleaseDetails(Long emuu, Long enuu, String type);
 
     /**
-     *  获取成功修改状态
+     * 获取成功修改状态
      *
-     * @param ids
+     * @param ids id
+     * @return ModelMap
      */
     ModelMap changeReleaseDetails(String ids);
-
-//    /**
-//     *
-//     *
-//     * @param emuu
-//     * @param enuu
-//     * @return
-//     */
-//    ResponseEntity<ModelMap> pushRelease(Long emuu, Long enuu) throws Exception;
-
-    void pushReleases(List<PagingReleaseDetail> pagingReleaseDetails);
 }

+ 12 - 122
src/main/java/com/uas/platform/b2b/mobile/service/impl/MobileReleaseServiceImpl.java

@@ -1,22 +1,23 @@
 package com.uas.platform.b2b.mobile.service.impl;
 
-import com.uas.platform.b2b.dao.*;
+import com.uas.platform.b2b.dao.CommonDao;
+import com.uas.platform.b2b.dao.PagingReleaseDao;
+import com.uas.platform.b2b.dao.PagingReleaseDetailDao;
 import com.uas.platform.b2b.mobile.model.ReleaseDetail;
 import com.uas.platform.b2b.mobile.model.ReleaseTotal;
 import com.uas.platform.b2b.mobile.service.MobileReleaseService;
-import com.uas.platform.b2b.model.Enterprise;
 import com.uas.platform.b2b.model.PagingRelease;
 import com.uas.platform.b2b.model.PagingReleaseDetail;
-import com.uas.platform.b2b.model.User;
 import com.uas.platform.core.model.Constant;
-import com.uas.sso.common.util.HttpUtil;
-import com.uas.sso.common.util.HttpUtil.ResponseWrap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.CollectionUtils;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Set;
 
 /**
  * Created by dongbw
@@ -31,17 +32,9 @@ public class MobileReleaseServiceImpl implements MobileReleaseService {
     @Autowired
     private CommonDao commonDao;
 
-    @Autowired
-    private UserDao userDao;
-
-    @Autowired
-    private EnterpriseDao enterpriseDao;
-
     @Autowired
     private PagingReleaseDetailDao pagingReleaseDetailDao;
 
-    private final static String PROD_URL = "http://113.105.74.140:8092/tigase/baiduPush";
-
     @Override
     public ModelMap getReleaseCounts(Long vendUseruu, Long venduu) {
         ModelMap map = new ModelMap();
@@ -66,7 +59,8 @@ public class MobileReleaseServiceImpl implements MobileReleaseService {
                 " from purc$pagingrelease a left join purc$pagingreleasedetail prd on a.pr_id = prd.prd_prid where prd.prd_emuu = " + vendUseruu + " and prd.prd_venduu = " + venduu + " and prd.prd_totalstatus = 0 and prd.prd_readstatus = 0 order by a.pr_date desc";
         List<ReleaseTotal> list = new ArrayList<>();
         ReleaseTotal listdata = new ReleaseTotal();
-        List<String> dataTitles = commonDao.queryForList(title, String.class);  // 可能为0 或 1,所以用list装
+        // 可能为0 或 1,所以用list装
+        List<String> dataTitles = commonDao.queryForList(title, String.class);
         if (!CollectionUtils.isEmpty(dataTitles)) {
             String dataTitle = dataTitles.get(0);
             listdata.setTitle(dataTitle);
@@ -83,8 +77,8 @@ public class MobileReleaseServiceImpl implements MobileReleaseService {
         }
         List<String> dataTypes = commonDao.queryForList(type, String.class);
         if (!CollectionUtils.isEmpty(dataTypes)) {
-//            String dataType = dataTypes.get(0);
-            listdata.setType("B2B商务提醒"); // 暂时设置为b2b
+            // 暂时设置为b2b
+            listdata.setType("B2B商务提醒");
             listdata.setCount(allCount);
         }
         list.add(listdata);
@@ -95,47 +89,6 @@ public class MobileReleaseServiceImpl implements MobileReleaseService {
         return map;
     }
 
-//    @Override
-//    public ModelMap getReleaseCounts(Long vendUseruu, Long venduu) {
-//        ModelMap map = new ModelMap();
-//        String typeSql = "select distinct(pr.pr_type) type from purc$pagingrelease pr left join purc$pagingreleasedetail prd on pr.pr_id = prd.prd_prid where prd.prd_totalstatus = 0";
-//        List<ReleaseTotal> typeList = commonDao.query(typeSql, ReleaseTotal.class);
-//        String allCountSql = "select count(*) from purc$pagingrelease pr left join purc$pagingreleasedetail prd on pr.pr_id = prd.prd_prid where prd.prd_emuu = " + vendUseruu + " and prd.prd_venduu = " + venduu + " and prd.prd_totalstatus = 0";
-//        Integer allCount = commonDao.queryForObject(allCountSql, Integer.class);
-//        String idSql = "select pr.pr_id from purc$pagingrelease pr left join purc$pagingreleasedetail prd on pr.pr_id = prd.prd_prid where prd.prd_emuu = " + vendUseruu + " and prd.prd_venduu = " + venduu + " and prd.prd_totalstatus = 0";
-//        List<Integer> ids = commonDao.queryForList(idSql, Integer.class);
-//        String idString = "";
-//        for (Integer id : ids) {
-//            if (!"".equals(idString)) {
-//                idString = idString.concat(",");
-//            }
-//            idString = idString.concat(String.valueOf(id));
-//        }
-//
-//        List<ReleaseTotal> listdata = new ArrayList<>();
-//        for (ReleaseTotal onlyType : typeList) {
-//            String type = onlyType.getType();
-//            String countSql = "select count(*) from purc$pagingrelease pr left join purc$pagingreleasedetail prd on pr.pr_id = prd.prd_prid where prd.prd_emuu = " + vendUseruu + " and prd.prd_venduu = " + venduu + " and pr.pr_type = '" + type + "' and prd.prd_totalstatus = 0";
-//            Integer count = commonDao.queryForObject(countSql, Integer.class);
-//            if (count != 0) {
-//                String totalSql = "select a.pr_title title,a.pr_date lastTime, a.pr_context lastMessage, a.pr_type type " +
-//                        " from purc$pagingrelease a left join purc$pagingreleasedetail prd on a.pr_id = prd.prd_prid " +
-//                        "where prd.prd_emuu = " + vendUseruu + " and prd.prd_venduu = " + venduu + " and a.pr_type = '" + type + "' and prd.prd_totalstatus = 0 order by a.pr_date desc";
-//                List<ReleaseTotal> totals = commonDao.query(totalSql, ReleaseTotal.class);
-//                ReleaseTotal total = totals.get(0);
-//                if (total != null) { // 存在即添加到list中
-//                    total.setCount(count);
-//                    listdata.add(total);
-//                }
-//            }
-//        }
-//        map.put("allCount", allCount);
-//        map.put("success", true);
-//        map.put("ids", idString);
-//        map.put("listdata", listdata);
-//        return map;
-//    }
-
     @Override
     public void changeReleaseCounts(String ids) {
         String[] idArray = ids.split(",");
@@ -151,25 +104,6 @@ public class MobileReleaseServiceImpl implements MobileReleaseService {
 
     @Override
     public ModelMap getReleaseDetails(Long vendUseruu, Long venduu, String type) {
-//        ModelMap map = new ModelMap();
-//        String countSql = "select count(*) from purc$pagingrelease pr left join purc$pagingreleasedetail prd on pr.pr_id = prd.prd_prid where prd.prd_emuu = " + vendUseruu + " and prd.prd_venduu = " + venduu + " and pr.pr_type = '" + type + "' and prd.prd_status = 0";
-//        Integer allCount = commonDao.queryForObject(countSql, Integer.class);
-//        String idSql = "select pr.pr_id from purc$pagingrelease pr left join purc$pagingreleasedetail prd on pr.pr_id = prd.prd_prid where prd.prd_emuu = " + vendUseruu + " and prd.prd_venduu = " + venduu + " and pr.pr_type = '" + type + "' and prd.prd_status = 0";
-//        List<Integer> ids = commonDao.queryForList(idSql, Integer.class);
-//        String idString = "";
-//        for (Integer id : ids) {
-//            if (!"".equals(idString)) {
-//                idString = idString.concat(",");
-//            }
-//            idString = idString.concat(String.valueOf(id));
-//        }
-//        String releaseSql = "select pr.pr_id id,pr.pr_emname releaser,pr.pr_date createTime,pr.pr_context subTitle,pr.pr_title title from purc$pagingrelease pr left join purc$pagingreleasedetail prd on pr.pr_id = prd.prd_prid where prd.prd_emuu = " + vendUseruu + " and prd.prd_venduu = " + venduu + " and pr.pr_type= '" + type + "' and prd.prd_status = 0 order by pr.pr_date desc";
-//        List<ReleaseDetail> releaseDetailList = commonDao.query(releaseSql, ReleaseDetail.class);
-//        map.put("allCount", allCount);
-//        map.put("success", true);
-//        map.put("ids", idString);
-//        map.put("listdata", releaseDetailList);
-//        return map;
         ModelMap map = new ModelMap();
         String countSql = "select count(*) from purc$pagingrelease pr left join purc$pagingreleasedetail prd on pr.pr_id = prd.prd_prid where prd.prd_emuu = " + vendUseruu + " and prd.prd_venduu = " + venduu + " and prd.prd_status = 0 and prd.prd_readstatus = 0";
         Integer allCount = commonDao.queryForObject(countSql, Integer.class);
@@ -206,55 +140,11 @@ public class MobileReleaseServiceImpl implements MobileReleaseService {
                 detail.setReadDate(new Date());
                 success = true;
                 // 每条消息更新之后都需要调用存储过程去更新消息数量表的对应记录,所以这里单条保存
-                detail = pagingReleaseDetailDao.save(detail);
+                pagingReleaseDetailDao.save(detail);
             }
         }
         map.put("success", success);
         return map;
     }
 
-
-    @Override
-    public void pushReleases(List<PagingReleaseDetail> pagingReleaseDetails) {
-        List<Long> detailIds = new ArrayList<>();
-        Set<Long> userUUs = new HashSet<>();
-        for (PagingReleaseDetail releaseDetail : pagingReleaseDetails) {
-            // 推送消息同一个人只推一次
-            if (releaseDetail.getVendUserUU() != null && !userUUs.contains(releaseDetail.getVendUserUU())) {
-                Map<String, Object> params = new HashMap<>();
-                User vendUser = userDao.findOne(releaseDetail.getVendUserUU());
-                Enterprise vendor = enterpriseDao.findOne(releaseDetail.getVendUU());
-                if (null != vendUser && vendUser.getUserIMId() != null) {
-                    params.put("master", vendor.getEnName());//账套 公司名称
-                    params.put("userid", String.valueOf(vendUser.getUserIMId()));//推送目标用户
-                    String title = releaseDetail.getPagingRelease().getTitle() + '-' + releaseDetail.getPagingRelease().getType();
-                    params.put("title", title);//推送标题
-                    params.put("content", releaseDetail.getPagingRelease().getContext());//正文
-                    params.put("enUU", String.valueOf(releaseDetail.getVendUU()));//UU号
-//                params.put("masterId", masterId);//账套ID
-                    params.put("url", "");//跳转链接地址
-                    params.put("pageTitle", releaseDetail.getPagingRelease().getTitle());//页面标题
-                    params.put("platform", "B2B");//系统名称,ERP或
-                    try {
-                        ResponseWrap res = HttpUtil.doPost(PROD_URL, params);
-                        if (!res.isSuccess()) {
-                            throw new Exception(res.getContent());
-                        } else {
-                            userUUs.add(releaseDetail.getVendUserUU());
-                        }
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                }
-            }
-            if (null != releaseDetail.getId()) {
-                releaseDetail.setPushStatus(Constant.YES);
-                detailIds.add(releaseDetail.getId());
-            }
-        }
-        if (!CollectionUtils.isEmpty(detailIds)) {
-            pagingReleaseDetailDao.setPushedByIds(detailIds.toArray());
-        }
-    }
-
 }

+ 3 - 1
src/main/java/com/uas/platform/b2b/model/PagingRelease.java

@@ -13,7 +13,9 @@ import java.util.Set;
 
 /**
  *  推送消息表
- * Created by dongbw on 17/03/22 14:55.
+ *
+ * @author dongbw
+ * @date 17/03/22 14:55
  */
 @Entity
 @Table(name = "purc$pagingrelease")

+ 4 - 1
src/main/java/com/uas/platform/b2b/model/PurchaseAcceptItem.java

@@ -55,7 +55,7 @@ public class PurchaseAcceptItem extends AbstractOrderProduct {
 	/**
 	 * 采购订单明细
 	 */
-	@OneToOne()
+	@OneToOne
 	@JoinColumn(name = "pai_pdid", insertable = false, updatable = false)
 	private PurchaseOrderItem orderItem;
 
@@ -86,6 +86,9 @@ public class PurchaseAcceptItem extends AbstractOrderProduct {
 	@Column(name = "pai_erpdate")
 	private Date erpDate;
 
+	/**
+	 * 物料id
+	 */
 	@Column(name = "pai_prodid")
 	private Long prodId;
 

+ 13 - 4
src/main/java/com/uas/platform/b2b/model/UserOrders.java

@@ -1,20 +1,29 @@
 package com.uas.platform.b2b.model;
 
 import com.uas.platform.core.model.Status;
-import java.util.Date;
+
 import javax.persistence.*;
 import javax.validation.constraints.NotNull;
+import java.util.Date;
 
 /**
  * 记录客户单据的未读状态
  *
  * Created by wangmh on 2017/7/21.
  */
-@Table(name = "purc$userorders", indexes = { @Index(name = "puo_enuu_idx", columnList = "puo_enuu"), @Index(name = "puo_useruu_idx", columnList = "puo_useruu"),
-        @Index(name = "puo_category_idx", columnList = "puo_category"), @Index(name = "puo_table_idx", columnList = "puo_table"),
-        @Index(name = "puo_readstatus_idx", columnList = "puo_readstatus")})
+@Table(name = "purc$userorders", indexes = {
+        @Index(name = "puo_enuu_idx", columnList = "puo_enuu"),
+        @Index(name = "puo_useruu_idx", columnList = "puo_useruu"),
+        @Index(name = "puo_category_idx", columnList = "puo_category"),
+        @Index(name = "puo_table_idx", columnList = "puo_table"),
+        @Index(name = "puo_readstatus_idx", columnList = "puo_readstatus")
+})
 @Entity
 public class UserOrders {
+
+    /**
+     * id
+     */
     @Id
     @GeneratedValue(strategy = GenerationType.AUTO)
     @Column(name = "puo_id")