Jelajahi Sumber

增加统计的接口

yujia 7 tahun lalu
induk
melakukan
aae61b5ad4
19 mengubah file dengan 576 tambahan dan 99 penghapusan
  1. 66 0
      src/main/java/com/uas/platform/b2c/common/psmessage/service/MessageService.java
  2. 290 0
      src/main/java/com/uas/platform/b2c/common/psmessage/service/impl/MessageServiceImpl.java
  3. 75 0
      src/main/java/com/uas/platform/b2c/common/psmessage/util/JsonObjectUtil.java
  4. 0 1
      src/main/java/com/uas/platform/b2c/fa/payment/service/impl/BankTransferServiceImpl.java
  5. 0 6
      src/main/java/com/uas/platform/b2c/fa/settlement/service/SettlementService.java
  6. 1 30
      src/main/java/com/uas/platform/b2c/fa/settlement/service/impl/SettlementServiceImpl.java
  7. 7 11
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductAttachServiceImpl.java
  8. 1 0
      src/main/java/com/uas/platform/b2c/prod/product/brand/api/BrandController.java
  9. 14 0
      src/main/java/com/uas/platform/b2c/prod/product/brand/controller/BrandSubmitController.java
  10. 22 3
      src/main/java/com/uas/platform/b2c/prod/product/brand/dao/BrandSubmitDao.java
  11. 11 0
      src/main/java/com/uas/platform/b2c/prod/product/brand/service/BrandSubmitService.java
  12. 21 0
      src/main/java/com/uas/platform/b2c/prod/product/brand/service/impl/BrandSubmitServiceImpl.java
  13. 13 2
      src/main/java/com/uas/platform/b2c/prod/product/component/controller/ComponentSubmitController.java
  14. 22 3
      src/main/java/com/uas/platform/b2c/prod/product/component/dao/ComponentSubmitDao.java
  15. 11 0
      src/main/java/com/uas/platform/b2c/prod/product/component/service/ComponentSubmitService.java
  16. 22 0
      src/main/java/com/uas/platform/b2c/prod/product/component/service/impl/ComponentSubmitServiceImpl.java
  17. 0 7
      src/main/java/com/uas/platform/b2c/trade/order/service/OrderService.java
  18. 0 1
      src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderDetailServiceImpl.java
  19. 0 35
      src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderServiceImpl.java

+ 66 - 0
src/main/java/com/uas/platform/b2c/common/psmessage/service/MessageService.java

@@ -0,0 +1,66 @@
+package com.uas.platform.b2c.common.psmessage.service;
+
+import com.uas.platform.b2c.common.message.model.MessageModel;
+import com.uas.platform.b2c.trade.support.ResultMap;
+import com.uas.platform.core.model.PageParams;
+import org.springframework.data.domain.Page;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 公共消息服务接口
+ * Created by wangyc on 2018/6/29.
+ *
+ * @version 2018/6/29 15:06 wangyc
+ */
+public interface MessageService {
+
+    /**
+     * 发送消息
+     * @param messageModel 消息实体
+     * @return
+     */
+    String sendMessage(List<MessageModel> messageModel);
+
+
+
+    /**
+     * 根据分页信息和过滤类型分页获取站内信
+     * @param params
+     * @param type
+     * @return
+     */
+    Page<MessageModel> findByPageAndParams(PageParams params, String type);
+
+
+
+
+    /**
+     * 根据所给字段生成消息
+     * @param content 消息内容
+     * @param type 消息类型
+     * @param receiverUu 接收人
+     * @param receiverEnuu 接收企业
+     * @param consumerType 消费类型
+     * @param consumerApp 消费应用
+     * @param smsType
+     * @return
+     */
+    MessageModel initMessage(String content, String type, Long receiverUu, Long receiverEnuu, String consumerType,String consumerApp, String smsType, String remark, Long... args);
+
+
+    /**
+     * 获取未读消息数量
+     * @return
+     */
+    Map<String, Object> getUnReadMessageCount(String type);
+
+    /**
+     * 短信
+     *
+     * @param messageId 消息的接口
+     * @return ModelMap
+     */
+    ResultMap readMessage(Long messageId);
+}

+ 290 - 0
src/main/java/com/uas/platform/b2c/common/psmessage/service/impl/MessageServiceImpl.java

@@ -0,0 +1,290 @@
+package com.uas.platform.b2c.common.psmessage.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.uas.platform.b2c.common.account.model.Enterprise;
+import com.uas.platform.b2c.common.account.model.User;
+import com.uas.platform.b2c.common.account.service.EnterpriseService;
+import com.uas.platform.b2c.common.account.service.UserService;
+import com.uas.platform.b2c.common.message.model.MessageModel;
+import com.uas.platform.b2c.common.message.type.ConsumerApp;
+import com.uas.platform.b2c.common.message.type.ProducerApp;
+import com.uas.platform.b2c.common.psmessage.service.MessageService;
+import com.uas.platform.b2c.common.psmessage.util.JsonObjectUtil;
+import com.uas.platform.b2c.core.config.SysConf;
+import com.uas.platform.b2c.core.support.SystemSession;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
+import com.uas.platform.b2c.prod.commodity.constant.IntegerConstant;
+import com.uas.platform.b2c.trade.support.CodeType;
+import com.uas.platform.b2c.trade.support.ResultMap;
+import com.uas.platform.b2c.trade.util.BoundedExecutor;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.model.PageParams;
+import com.uas.platform.core.util.HttpUtil;
+import org.apache.commons.collections.map.HashedMap;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.http.HttpStatus;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+/**
+ * Created by wangyc on 2018/6/29.
+ *
+ * @version 2018/6/29 15:12 wangyc
+ */
+@Service
+public class MessageServiceImpl implements MessageService {
+
+    private final SysConf sysConf;
+
+    private final BoundedExecutor executor;
+
+    private final EnterpriseService enterpriseService;
+
+    private final UserService userService;
+
+    @Autowired
+    public MessageServiceImpl(SysConf sysConf, EnterpriseService enterpriseService, UserService userService) {
+        this.sysConf = sysConf;
+        this.enterpriseService = enterpriseService;
+        this.userService = userService;
+        ExecutorService executorService = Executors.newCachedThreadPool();
+        executor = new BoundedExecutor(executorService, 1600);
+    }
+
+    @Override
+    public String sendMessage(final List<MessageModel> models) {
+        final Runnable sendMessage = new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    String result = HttpUtil.doPost(sysConf.getMessageServiceUrl() + "messages", FastjsonUtils.toJson(models));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        };
+        try {
+            executor.submitTask(sendMessage);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+            return "false";
+        }
+        return "true";
+    }
+
+
+    /**
+     * 根据分页信息和过滤类型分页获取站内信
+     *
+     * @param params
+     * @param type
+     * @return
+     */
+    @Override
+    public Page<MessageModel> findByPageAndParams(PageParams params, String type) {
+        if (params == null) {
+            params = new PageParams();
+            params.setPage(1);
+            params.setCount(10);
+        } else {
+            int page = params.getPage();
+            if (page < 1) {
+                params.setPage(1);
+            }
+            int count = params.getCount();
+            if (count < 1) {
+                params.setCount(10);
+            }
+        }
+        Map<String, Object> map = new HashedMap();
+        map.put("consumerApp", ConsumerApp.MALL);
+        map.put("isRead", 0);
+        map.put("page", params.getPage());
+        map.put("count", params.getCount());
+        map.put("sorting", "{\"createTime\":\"DESC\"}");
+        if (!StringUtils.isEmpty(type)) {
+            map.put("type", type);
+        }
+        User user = SystemSession.getUser();
+        if (user != null) {
+            map.put("receiverUu", user.getUserUU());
+            Enterprise enterprise = user.getEnterprise();
+            if (enterprise != null) {
+                map.put("receiverEnuu", enterprise.getUu());
+            }
+        }
+        try {
+            HttpUtil.Response response = HttpUtil.sendGetRequest(sysConf.getMessageServiceUrl() + "/messages", map);
+            int statusCode = response.getStatusCode();
+            if (statusCode == HttpStatus.OK.value()) {
+                String text = response.getResponseText();
+                if (!StringUtils.isEmpty(text)) {
+                    JSONObject jsonObject = FastjsonUtils.fromJson(text, JSONObject.class);
+                    Page<MessageModel> messageModels = JsonObjectUtil.convertToMessageModelPage(jsonObject);
+                    for (MessageModel messageModel : messageModels) {
+                            if (messageModel.getSenderEnuu() != null) {
+                                Enterprise enterpriseInfo = enterpriseService.getEnterpriseInfo(messageModel.getSenderEnuu());
+                                if (enterpriseInfo != null) {
+                                    messageModel.setSendEnterpriseName(enterpriseInfo.getEnName());
+                                }
+                            }
+                        if (messageModel.getSenderUu() != null) {
+                            User userByUserUU = userService.findUserByUserUU(messageModel.getSenderUu());
+                            if (userByUserUU != null) {
+                                messageModel.setSendUserName(userByUserUU.getUserName());
+                            }
+                        }
+                    }
+                    return messageModels;
+                }
+            }
+            return new PageImpl<MessageModel>(Collections.<MessageModel>emptyList(), new PageInfo(params), 0);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return new PageImpl<MessageModel>(Collections.<MessageModel>emptyList(), new PageInfo(params), 0);
+        }
+    }
+
+    /**
+     * 根据所给字段生成消息
+     *
+     * @param content 发送内容
+     * @param type   消息的类型,用户自己定义
+     * @param receiverUu 接收人
+     * @param receiverEnuu
+     * @param consumerType 消费类型(所有应用共享:"PUBLIC",单个应用独享:"SINGLE",多个应用共享:"MULTI")
+     * @param consumerApp MALL等
+     * @return
+     */
+    @Override
+    public MessageModel initMessage(String content, String type, Long receiverUu, Long receiverEnuu, String consumerType, String consumerApp, String smsType, String remark, Long... args) {
+        if (StringUtils.isEmpty(content) || StringUtils.isEmpty(type) || receiverUu == null || receiverEnuu == null || StringUtils.isEmpty(consumerType) || StringUtils.isEmpty(consumerApp)) {
+            return null;
+        } else {
+            MessageModel model = new MessageModel();
+            model.setRemark(remark);
+            model.setConsumerApp(consumerApp);
+            model.setConsumerType(consumerType);
+            model.setSmsType(smsType);
+            model.setContent(content);
+            model.setType(type);
+            model.setCreateTime(new Date());
+            model.setReceiverEnuu(receiverEnuu);
+            model.setReceiverUu(receiverUu);
+            if (args.length == 0) {
+                User user = SystemSession.getUser();
+                model.setSenderUu(user.getUserUU());
+                if (user.getEnterprise() != null) {
+                    model.setSenderEnuu(user.getEnterprise().getUu());
+                }
+            } else {
+                model.setSenderUu(args[0]);
+                model.setSenderEnuu(args[1]);
+            }
+            model.setProducerApp(ProducerApp.MALL);
+            return model;
+        }
+    }
+
+    /**
+     * 获取未读消息数量
+     * @return
+     */
+    @Override
+    public Map<String, Object> getUnReadMessageCount(String type) {
+        Map<String , Object> resultMap = new HashedMap();
+        resultMap.put("success", "success");
+        resultMap.put("count", "0");
+        User user = SystemSession.getUser();
+        Map<String, Object> map = new HashedMap();
+        if (user != null) {
+            map.put("receiverUu", user.getUserUU());
+            Enterprise enterprise = user.getEnterprise();
+            if (enterprise != null) {
+                map.put("receiverEnuu", enterprise.getUu());
+            }
+        }
+        map.put("consumerApp", ConsumerApp.MALL);
+        if (!StringUtils.isEmpty(type)) {
+            map.put("type", type);
+        }
+        map.put("isRead", IntegerConstant.NO_INT);
+        try {
+            HttpUtil.Response response = HttpUtil.sendGetRequest(sysConf.getMessageServiceUrl() + "messages/count", map);
+            int statusCode = response.getStatusCode();
+            if (statusCode == HttpStatus.OK.value()) {
+                String responseText = response.getResponseText();
+                if (!StringUtils.isEmpty(responseText)) {
+                    resultMap = FastjsonUtils.fromJson(responseText, HashedMap.class);
+                    return resultMap;
+                } else {
+                    return resultMap;
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return resultMap;
+        }
+        return resultMap;
+        }
+
+    /**
+     * 短信
+     *
+     * @param messageId 消息的接口
+     * @return ModelMap
+     */
+    @Override
+    public ResultMap readMessage(Long messageId) {
+        Map<String, Object> resultMap = new HashedMap();
+        resultMap.put("success", "success");
+        resultMap.put("data", "");
+        Map<String, Object> map = new HashedMap();
+        if (messageId ==  null) {
+            return  new ResultMap(CodeType.NO_INFO, "未阅读任何信息");
+        } else {
+            map.put("messageId", messageId);
+        }
+        User user = SystemSession.getUser();
+        if (user != null) {
+            map.put("receiverUu", user.getUserUU());
+            Enterprise enterprise = user.getEnterprise();
+            if (enterprise != null) {
+                map.put("receiverEnuu", enterprise.getUu());
+            }
+        }
+        map.put("consumerApp", ConsumerApp.MALL);
+        String response = null;
+        try {
+            response = HttpUtil.doPost(sysConf.getMessageServiceUrl() + "messages/read", FastjsonUtils.toJson(map));
+            if (!StringUtils.isEmpty(response)) {
+                HashedMap hashedMap = FastjsonUtils.fromJson(response, HashedMap.class);
+                if (hashedMap != null) {
+                    Object success = hashedMap.get("success");
+                    if ("success".equals(success)) {
+                        return ResultMap.success(null);
+                    } else {
+                        return new ResultMap(CodeType.ERROR_STATE, hashedMap.get("data").toString());
+                    }
+                }
+            } else {
+                return new ResultMap(CodeType.ERROR_STATE, "删除失败");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return new ResultMap(CodeType.ERROR_STATE, "删除失败");
+        }
+        return new ResultMap(CodeType.ERROR_STATE, "删除失败");
+    }
+
+
+}

+ 75 - 0
src/main/java/com/uas/platform/b2c/common/psmessage/util/JsonObjectUtil.java

@@ -0,0 +1,75 @@
+package com.uas.platform.b2c.common.psmessage.util;
+
+import com.alibaba.fastjson.JSONObject;
+import com.uas.platform.b2c.common.message.model.MessageModel;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.model.PageParams;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.util.StringUtils;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * json 转换成 page
+ *
+ * @author yuj 2018-07-11 21:23
+ */
+public class JsonObjectUtil {
+
+    /**
+     * jsonobject 转换成page
+     * @return
+     */
+    public static <T> Page<T> convertToPage(JSONObject jsonObject, Class<T> cls) {
+        String content  = String.valueOf(jsonObject.get("content"));
+        if (!StringUtils.isEmpty(content)) {
+            try {
+                List<? extends Class> list = FastjsonUtils.fromJsonArray(content, cls.getClass());
+                List<T> listT = new ArrayList<>();
+                for (Class aClass : list) {
+                    T t = cls.cast(aClass);
+                    listT.add(t);
+                }
+                Object number = jsonObject.get("number");
+                PageImpl<T> page = new PageImpl<T>(listT);
+            } catch (Exception e) {
+                e.printStackTrace();
+                return new PageImpl<T>(Collections.<T>emptyList(), new PageInfo(new PageParams(1, 10, null, null)), 0);
+            }
+        }
+        return new PageImpl<T>(Collections.<T>emptyList(), new PageInfo(new PageParams(1, 10, null, null)), 0);
+    }
+
+
+    /**
+     * jsonobject 转换成page
+     * @return
+     */
+    public static Page<MessageModel> convertToMessageModelPage(JSONObject jsonObject) {
+        String content  = String.valueOf(jsonObject.get("content"));
+        if (!StringUtils.isEmpty(content)) {
+            try {
+                List<MessageModel> messageModels = FastjsonUtils.fromJsonArray(content, MessageModel.class);
+                PageParams pageParams = new PageParams();
+                Object number = jsonObject.get("number");
+                number = number  == null ? 1 : number;
+                pageParams.setPage((Integer) number);
+                Object size = jsonObject.get("size");
+                size = size == null ? 10 : size;
+                pageParams.setCount((Integer)size );
+                PageInfo info = new PageInfo(pageParams);
+                Object totalElements = jsonObject.get("totalElements");
+                totalElements = totalElements == null ? messageModels.size() : totalElements;
+                return new PageImpl<MessageModel>(messageModels, info, Long.valueOf(totalElements.toString()));
+            } catch (Exception e) {
+                e.printStackTrace();
+                return new PageImpl<MessageModel>(Collections.<MessageModel>emptyList(), new PageInfo(new PageParams(1, 10, null, null)), 0);
+            }
+        }
+        return new PageImpl<MessageModel>(Collections.<MessageModel>emptyList(), new PageInfo(new PageParams(1, 10, null, null)), 0);
+    }
+}

+ 0 - 1
src/main/java/com/uas/platform/b2c/fa/payment/service/impl/BankTransferServiceImpl.java

@@ -415,7 +415,6 @@ public class BankTransferServiceImpl implements BankTransferService {
 				}
 				purchaseDao.save(purchases);
 				orderDao.save(orderN);
-				orderService.sendConfirmPaidMessage(orderN);
 			}
 		}
 

+ 0 - 6
src/main/java/com/uas/platform/b2c/fa/settlement/service/SettlementService.java

@@ -82,10 +82,4 @@ public interface SettlementService {
      * @return the bank transfer
      */
     BankTransfer findBankTransfer(String requestId);
-
-    /**
-     * 生成站内信消息
-     * @param paymentId
-     */
-    void sendFinancialSettlementMessage(String paymentId);
 }

+ 1 - 30
src/main/java/com/uas/platform/b2c/fa/settlement/service/impl/SettlementServiceImpl.java

@@ -6,7 +6,6 @@ import com.uas.platform.b2c.common.message.model.MessageModel;
 import com.uas.platform.b2c.common.message.type.ConsumerApp;
 import com.uas.platform.b2c.common.message.type.ConsumerType;
 import com.uas.platform.b2c.common.message.type.SMSType;
-import com.uas.platform.b2c.common.psmessage.service.MessageService;
 import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.constant.SplitChar;
 import com.uas.platform.b2c.core.support.SystemSession;
@@ -84,8 +83,6 @@ public class SettlementServiceImpl implements SettlementService {
 
     private final SysConf sysConf;
 
-	private final MessageService messageService;
-
 	private final MessageNotifyPersonalManagementService messageNotifyPersonalManagementService;
 
     /**
@@ -105,7 +102,7 @@ public class SettlementServiceImpl implements SettlementService {
 	 */
     @Autowired
 	public SettlementServiceImpl(EnterpriseDao enterpriseDao, PurchaseDao purchaseDao, PurchaseDetailDao purchaseDetailDao,
-								 RequestPaymentDao requestPaymentDao, CreateNumberService createNumberService, BankTransferService transferService, BankTransAssociateService bankTransAssociateService, BankTransAssociateDao transAssociateDao, BankTransferDao bankTransferDao, SysConf sysConf, MessageService messageService, MessageNotifyPersonalManagementService messageNotifyPersonalManagementService) {
+								 RequestPaymentDao requestPaymentDao, CreateNumberService createNumberService, BankTransferService transferService, BankTransAssociateService bankTransAssociateService, BankTransAssociateDao transAssociateDao, BankTransferDao bankTransferDao, SysConf sysConf, MessageNotifyPersonalManagementService messageNotifyPersonalManagementService) {
 		this.enterpriseDao = enterpriseDao;
 		this.purchaseDao = purchaseDao;
 		this.purchaseDetailDao = purchaseDetailDao;
@@ -116,7 +113,6 @@ public class SettlementServiceImpl implements SettlementService {
 		this.transAssociateDao = transAssociateDao;
 		this.bankTransferDao = bankTransferDao;
         this.sysConf = sysConf;
-		this.messageService = messageService;
 		this.messageNotifyPersonalManagementService = messageNotifyPersonalManagementService;
 	}
 
@@ -339,34 +335,9 @@ public class SettlementServiceImpl implements SettlementService {
 		payment.setSettleTime(calendar.getTime());
 
 		requestPaymentDao.save(payment);
-		sendFinancialSettlementMessage(payment.getRequestId());
 		return payment.getRequestId();
 	}
 
-	/**
-	 * 生成站内信消息
-	 *
-	 * @param paymentId
-	 */
-	@Override
-	public void sendFinancialSettlementMessage(String paymentId) {
-		List<MessageNotifyPersonalManagement> notifyPersonalEnuuAndType = messageNotifyPersonalManagementService.findNotifyPersonalEnuuAndType(sysConf.getEnUU(), MessageType.FINANCIAL_SETTLEMENT.getType());
-		if (org.apache.commons.collections.CollectionUtils.isNotEmpty(notifyPersonalEnuuAndType)) {
-			List<MessageModel> sendMessageModel = new ArrayList<>();
-			for (MessageNotifyPersonalManagement messageNotifyPersonalManagement : notifyPersonalEnuuAndType) {
-				Long notifyPersonalUseruu = messageNotifyPersonalManagement.getNotifyPersonalUseruu();
-				if (notifyPersonalEnuuAndType != null) {
-					MessageModel model = messageService.initMessage(String.format(StringFormat.FINANCIAL_SETTLEMENT, paymentId), MessageType.FINANCIAL_SETTLEMENT.getType(), notifyPersonalUseruu, sysConf.getEnUU(), ConsumerType.SINGLE, ConsumerApp.MALL, SMSType.DONT_SEND, "");
-					sendMessageModel.add(model);
-				}
-			}
-
-			if (org.apache.commons.collections.CollectionUtils.isNotEmpty(sendMessageModel)) {
-				messageService.sendMessage(sendMessageModel);
-			}
-		}
-	}
-
 	/**
 	 * 计算付款单佣金
 	 *

+ 7 - 11
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductAttachServiceImpl.java

@@ -33,16 +33,6 @@ import com.uas.platform.core.persistence.criteria.CriterionExpression.Operator;
 import com.uas.platform.core.persistence.criteria.LogicalExpression;
 import com.uas.platform.core.persistence.criteria.PredicateUtils;
 import com.uas.platform.core.persistence.criteria.SimpleExpression;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -53,6 +43,12 @@ import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.util.*;
+
 /**
  * Created by wangyc on 2018/6/26.
  *
@@ -91,7 +87,7 @@ public class ProductAttachServiceImpl implements ProductAttachService {
     private ProductService productService;
 
     @Autowired
-    public ProductAttachServiceImpl(ProductDao productDao, ProductAttachSubmitDao productAttachSubmitDao,ComponentDao componentDao, BrandInfoDao brandInfoDao, KindInfoDao kindInfoDao, ComponentService componentService, KindDao kindDao, EnterpriseDao enterpriseDao, UserBaseInfoDao userBaseInfoDao,MessageService messageService) {
+    public ProductAttachServiceImpl(ProductDao productDao, ProductAttachSubmitDao productAttachSubmitDao,ComponentDao componentDao, BrandInfoDao brandInfoDao, KindInfoDao kindInfoDao, ComponentService componentService, KindDao kindDao, EnterpriseDao enterpriseDao, UserBaseInfoDao userBaseInfoDao, MessageService messageService) {
         this.productDao = productDao;
         this.productAttachSubmitDao = productAttachSubmitDao;
         this.componentDao = componentDao;

+ 1 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/api/BrandController.java

@@ -7,6 +7,7 @@ import com.uas.platform.b2c.prod.product.brand.modal.BrandMostSimpleInfo;
 import com.uas.platform.b2c.prod.product.kind.model.Kind;
 import com.uas.platform.b2c.prod.product.brand.service.BrandService;
 import com.uas.platform.b2c.prod.product.kind.service.KindService;
+import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;

+ 14 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/controller/BrandSubmitController.java

@@ -8,6 +8,7 @@ import com.uas.platform.b2c.external.erp.product.service.OperationInfoService;
 import com.uas.platform.b2c.prod.product.brand.modal.Brand;
 import com.uas.platform.b2c.prod.product.brand.modal.BrandSubmit;
 import com.uas.platform.b2c.prod.product.brand.service.BrandSubmitService;
+import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.PageInfo;
@@ -201,4 +202,17 @@ public class BrandSubmitController {
 		}
 		return map;
 	}
+
+	/**
+	 * 根据起止时间统计未审核品牌数
+	 *
+	 * @param fromDate 开始时间
+	 * @param toDate 截止时间
+	 * @return 返回时间
+	 */
+	@RequestMapping(value = "/submit/count", method = RequestMethod.GET)
+	public ResultMap countUnAuditedBrand(Long fromDate, Long toDate) {
+		logger.log("品牌维护", "统计未审核品牌信息");
+		return brandSubmitService.countUnAuditedBrand(fromDate, toDate);
+	}
 }

+ 22 - 3
src/main/java/com/uas/platform/b2c/prod/product/brand/dao/BrandSubmitDao.java

@@ -1,13 +1,14 @@
 package com.uas.platform.b2c.prod.product.brand.dao;
 
-import java.util.List;
-
+import com.uas.platform.b2c.prod.product.brand.modal.BrandSubmit;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
-import com.uas.platform.b2c.prod.product.brand.modal.BrandSubmit;
+import java.util.Date;
+import java.util.List;
 
 @Repository
 public interface BrandSubmitDao extends JpaSpecificationExecutor<BrandSubmit>, JpaRepository<BrandSubmit, Long> {
@@ -36,4 +37,22 @@ public interface BrandSubmitDao extends JpaSpecificationExecutor<BrandSubmit>, J
 	 * @return
 	 */
 	public List<BrandSubmit> findByModifyenuu(Long enuu);
+
+
+	/**
+	 * 统计起止时间内的待审核品牌数
+	 * @param fromDate
+	 * @param toDate
+	 * @return 统计数
+	 */
+	@Query(value = "select count(1) from BrandSubmit b where b.definetime > :fromDate and b.definetime < :toDate")
+	Integer countBrandSubmitByDate(@Param("fromDate") Date fromDate, @Param("toDate") Date toDate);
+
+
+	/**
+	 * 统计起止时间内的待审核品牌数
+	 * @return 统计数
+	 */
+	@Query(value = "select count(1) from BrandSubmit b")
+	Integer countAllBrandSubmit();
 }

+ 11 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/service/BrandSubmitService.java

@@ -2,6 +2,7 @@ package com.uas.platform.b2c.prod.product.brand.service;
 
 import com.uas.platform.b2c.prod.product.brand.modal.Brand;
 import com.uas.platform.b2c.prod.product.brand.modal.BrandSubmit;
+import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.core.model.PageInfo;
 import org.springframework.data.domain.Page;
 
@@ -70,4 +71,14 @@ public interface BrandSubmitService {
 	 */
 	public String saveFromUnstandard(String json);
 
+
+	/**
+	 * 根据起止时间统计未审核品牌数
+	 *
+	 * @param fromDate 开始时间
+	 * @param toDate 截止时间
+	 * @return 返回时间
+	 */
+	ResultMap countUnAuditedBrand(Long fromDate, Long toDate);
+
 }

+ 21 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/service/impl/BrandSubmitServiceImpl.java

@@ -10,6 +10,7 @@ import com.uas.platform.b2c.prod.product.brand.modal.Brand;
 import com.uas.platform.b2c.prod.product.brand.modal.BrandSubmit;
 import com.uas.platform.b2c.prod.product.brand.service.BrandSubmitService;
 import com.uas.platform.b2c.prod.product.brand.service.BrandVersionService;
+import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.ServiceCode;
@@ -377,4 +378,24 @@ public class BrandSubmitServiceImpl implements BrandSubmitService {
 		return null;
 	}
 
+	/**
+	 * 根据起止时间统计未审核品牌数
+	 *
+	 * @param fromDate 开始时间
+	 * @param toDate   截止时间
+	 * @return 返回时间
+	 */
+	@Override
+	public ResultMap countUnAuditedBrand(Long fromDate, Long toDate) {
+		if (fromDate == null || toDate == null) {
+			//统计所有的未审核的品牌信息
+			Integer count = brandSubmitDao.countAllBrandSubmit();
+			return ResultMap.success(count);
+		} else {
+			Date fromT = new Date(fromDate);
+			Date toT = new Date(toDate);
+			Integer count = brandSubmitDao.countBrandSubmitByDate(fromT, toT);
+			return ResultMap.success(count);
+		}
+	}
 }

+ 13 - 2
src/main/java/com/uas/platform/b2c/prod/product/component/controller/ComponentSubmitController.java

@@ -469,6 +469,17 @@ public class ComponentSubmitController {
 		logger.log("器件上传", "器件重新上传");
 		return componentSubmitService.uploadComponentCrawlWithSame(uploadItem, kindContrastId);
 	}
-	
-	
+
+	/**
+	 * 根据起止时间统计未审核品牌数
+	 *
+	 * @param fromDate 开始时间
+	 * @param toDate 截止时间
+	 * @return 返回时间
+	 */
+	@RequestMapping(value = "/submit/count", method = RequestMethod.GET)
+	public ResultMap countUnAuditedComponentSubmit(Long fromDate, Long toDate) {
+		logger.log("品牌维护", "统计未审核品牌信息");
+		return componentSubmitService.countUnAuditedComponentSubmit(fromDate, toDate);
+	}
 }

+ 22 - 3
src/main/java/com/uas/platform/b2c/prod/product/component/dao/ComponentSubmitDao.java

@@ -1,13 +1,14 @@
 package com.uas.platform.b2c.prod.product.component.dao;
 
-import java.util.List;
-
+import com.uas.platform.b2c.prod.product.component.modal.ComponentSubmit;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
-import com.uas.platform.b2c.prod.product.component.modal.ComponentSubmit;
+import java.util.Date;
+import java.util.List;
 
 @Repository
 public interface ComponentSubmitDao extends JpaSpecificationExecutor<ComponentSubmit>, JpaRepository<ComponentSubmit, Long> {
@@ -55,4 +56,22 @@ public interface ComponentSubmitDao extends JpaSpecificationExecutor<ComponentSu
 	 */
 	public List<ComponentSubmit> findByCodeAndKindid(String code, Long kindid);
 
+
+	/**
+	 * 统计起止时间内的待审核品牌数
+	 * @param fromDate
+	 * @param toDate
+	 * @return 统计数
+	 */
+	@Query(value = "select count(1) from ComponentSubmit c where c.definetime > :fromDate and c.definetime < :toDate")
+	Integer countComponentSubmitByDate(@Param("fromDate") Date fromDate, @Param("toDate") Date toDate);
+
+
+	/**
+	 * 统计起止时间内的待审核品牌数
+	 * @return 统计数
+	 */
+	@Query(value = "select count(1) from ComponentSubmit c")
+	Integer countAllComponentSubmit();
+
 }

+ 11 - 0
src/main/java/com/uas/platform/b2c/prod/product/component/service/ComponentSubmitService.java

@@ -144,4 +144,15 @@ public interface ComponentSubmitService {
 	 */
 	public ResultMap uploadComponentCrawlWithSame(FileUpload uploadItem, Long kindContrastId);
 
+
+
+	/**
+	 * 根据起止时间统计申请的器件数
+	 *
+	 * @param fromDate 开始时间
+	 * @param toDate 截止时间
+	 * @return 返回时间
+	 */
+	ResultMap countUnAuditedComponentSubmit(Long fromDate, Long toDate);
+
 }

+ 22 - 0
src/main/java/com/uas/platform/b2c/prod/product/component/service/impl/ComponentSubmitServiceImpl.java

@@ -919,4 +919,26 @@ public class ComponentSubmitServiceImpl implements ComponentSubmitService {
 		resultMap.setData(components.size());
 		return resultMap;
 	}
+
+
+	/**
+	 * 根据起止时间统计申请的器件数
+	 *
+	 * @param fromDate 开始时间
+	 * @param toDate   截止时间
+	 * @return 返回时间
+	 */
+	@Override
+	public ResultMap countUnAuditedComponentSubmit(Long fromDate, Long toDate) {
+		if (fromDate == null || toDate == null) {
+			//统计所有的未审核的品牌信息
+			Integer count = componentSubmitDao.countAllComponentSubmit();
+			return ResultMap.success(count);
+		} else {
+			Date fromT = new Date(fromDate);
+			Date toT = new Date(toDate);
+			Integer count = componentSubmitDao.countComponentSubmitByDate(fromT, toT);
+			return ResultMap.success(count);
+		}
+	}
 }

+ 0 - 7
src/main/java/com/uas/platform/b2c/trade/order/service/OrderService.java

@@ -664,11 +664,4 @@ public interface OrderService {
 	 * @return
 	 */
 	ResultMap checkConsignment(List<String> uuidArray);
-
-	/**
-	 * 用户确认付款,通知管理后台确认收矿
-	 * @param order 确认付款的订单
-	 * @return
-	 */
-	void sendConfirmPaidMessage(Order order);
 }

+ 0 - 1
src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderDetailServiceImpl.java

@@ -418,7 +418,6 @@ public class OrderDetailServiceImpl implements OrderDetailService {
 					orderService.setToBeShipped(order.getOrderid());
 				} else if (isPaid) {
 					order.setStatusPaid(userUU);
-                    orderService.sendConfirmPaidMessage(order);
                 } else {
 					order.setStatusToBePaid(userUU);
 				}

+ 0 - 35
src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderServiceImpl.java

@@ -14,7 +14,6 @@ import com.uas.platform.b2c.common.message.model.MessageModel;
 import com.uas.platform.b2c.common.message.type.ConsumerApp;
 import com.uas.platform.b2c.common.message.type.ConsumerType;
 import com.uas.platform.b2c.common.message.type.SMSType;
-import com.uas.platform.b2c.common.psmessage.service.MessageService;
 import com.uas.platform.b2c.common.search.rpc.service.OrderSearchService;
 import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.constant.ShortConstant;
@@ -212,10 +211,6 @@ public class OrderServiceImpl implements OrderService {
     @Autowired
     private SeekPurchaseService seekPurchaseService;
 
-
-    @Autowired
-    private MessageService messageService;
-
     @Autowired
     private MessageNotifyPersonalManagementService messageNotifyPersonalManagementService;
 
@@ -3476,34 +3471,4 @@ public class OrderServiceImpl implements OrderService {
         }
         return ResultMap.success(bool);
     }
-
-    /**
-     * 用户确认付款,通知管理后台确认收款
-     *
-     * @param order 确认付款的订单
-     * @return
-     */
-    @Override
-    public void sendConfirmPaidMessage(Order order) {
-        if (order == null || StringUtils.isEmpty(order.getOrderid())) {
-            return ;
-        }
-        List<MessageNotifyPersonalManagement> notifyPersonalManagements = messageNotifyPersonalManagementService.findNotifyPersonalEnuuAndType(sysConf.getEnUU(), com.uas.platform.b2c.trade.order.type.MessageType.CONFIRM_PAID.getType());
-        if (org.apache.commons.collections.CollectionUtils.isNotEmpty(notifyPersonalManagements)) {
-            ArrayList<MessageModel> list = new ArrayList<>();
-            for (MessageNotifyPersonalManagement management : notifyPersonalManagements) {
-                Long notifyPersonalUseruu = management.getNotifyPersonalUseruu();
-                if (notifyPersonalUseruu != null) {
-                    MessageModel model = messageService.initMessage(String.format(StringFormat.CONFIRMPAID, order.getOrderid()), com.uas.platform.b2c.trade.order.type.MessageType.CONFIRM_PAID.getType(), notifyPersonalUseruu, sysConf.getEnUU(), ConsumerType.SINGLE, ConsumerApp.MALL, SMSType.DONT_SEND, "");
-                    if (model != null) {
-                        list.add(model);
-                    }
-                }
-            }
-
-            if (org.apache.commons.collections.CollectionUtils.isNotEmpty(list)) {
-                messageService.sendMessage(list);
-            }
-        }
-    }
 }