Browse Source

代码评审代码优化;去掉HttpLog注解;增加询价新老用户统计查询接口

dongbw 7 years ago
parent
commit
0072816c4d

+ 20 - 6
src/main/java/com/uas/ps/inquiry/AccessConfiguration.java

@@ -15,13 +15,19 @@ public class AccessConfiguration {
      * 公共物料访问地址
      */
     @Value("${ps.product.url}")
-    private String PsProductUrl;
+    private String psProductUrl;
 
     /**
      * 消息中心访问地址
      */
     @Value("${ps.message.url}")
-    private String PsMessageUrl;
+    private String psMessageUrl;
+
+    /**
+     * 账户中心地址
+     */
+    @Value("${sso.url}")
+    private String ssoUrl;
 
     /**
      * 商城访问地址
@@ -66,18 +72,26 @@ public class AccessConfiguration {
     }
 
     public String getPsProductUrl() {
-        return PsProductUrl;
+        return psProductUrl;
     }
 
     public void setPsProductUrl(String psProductUrl) {
-        PsProductUrl = psProductUrl;
+        psProductUrl = psProductUrl;
     }
 
     public String getPsMessageUrl() {
-        return PsMessageUrl;
+        return psMessageUrl;
     }
 
     public void setPsMessageUrl(String psMessageUrl) {
-        PsMessageUrl = psMessageUrl;
+        psMessageUrl = psMessageUrl;
+    }
+
+    public String getSsoUrl() {
+        return ssoUrl;
+    }
+
+    public void setSsoUrl(String ssoUrl) {
+        this.ssoUrl = ssoUrl;
     }
 }

+ 0 - 2
src/main/java/com/uas/ps/inquiry/WebAppConfiguration.java

@@ -4,7 +4,6 @@ import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.alibaba.fastjson.support.config.FastJsonConfig;
 import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
 import com.uas.ps.core.intercept.ExceptionHandlerAdvice;
-import com.uas.ps.httplog.config.EnableHttpLog;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
@@ -25,7 +24,6 @@ import java.util.List;
  */
 @Configuration
 @ComponentScan
-@EnableHttpLog
 public class WebAppConfiguration extends WebMvcConfigurerAdapter {
 
     @Override

+ 1 - 1
src/main/java/com/uas/ps/inquiry/controller/InquiryForBuyerController.java

@@ -43,7 +43,7 @@ public class InquiryForBuyerController {
     public InquiryDetailInfo findById(Long id, Long enuu) {
         long start = System.currentTimeMillis();
         InquiryDetailInfo detailInfo = inquiryService.findById(id, enuu);
-        log.info("/inquiry/buyer/save, 客户查询供应商报价详情, id: {}, Constant: {}, enuu: {}, 报价的应用来源: {}, 耗时: {}", id, Constant.UU, enuu, InquirySource.PLAIN.name(), (System.currentTimeMillis() - start));
+        log.info("/inquiry/buyer/detail, 客户查询供应商报价详情, id: {}, Constant: {}, enuu: {}, 报价的应用来源: {}, 耗时: {}", id, Constant.UU, enuu, InquirySource.PLAIN.name(), (System.currentTimeMillis() - start));
         return detailInfo;
     }
 

+ 0 - 14
src/main/java/com/uas/ps/inquiry/controller/InquiryForSaleController.java

@@ -3,7 +3,6 @@ package com.uas.ps.inquiry.controller;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.ps.core.page.exception.IllegalOperatorException;
-import com.uas.ps.httplog.annotation.HttpLog;
 import com.uas.ps.inquiry.domain.IPage;
 import com.uas.ps.inquiry.entity.Constant;
 import com.uas.ps.inquiry.entity.InquirySource;
@@ -48,7 +47,6 @@ public class InquiryForSaleController {
      * @param publicInquiryItem 报价单内容
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/item/saveQuote", method = RequestMethod.POST)
     public ModelMap saveQuote(@RequestBody PublicInquiryItem publicInquiryItem) {
         Long start = System.currentTimeMillis();
@@ -64,7 +62,6 @@ public class InquiryForSaleController {
      * @param itemId 已转报价的明细id
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/inquiry/detail", method = RequestMethod.GET)
     public PublicInquiryItem findById(Long itemId, Long en_uu) throws IllegalAccessException {
         long start = System.currentTimeMillis();
@@ -80,7 +77,6 @@ public class InquiryForSaleController {
      * @param enuu 企业UU号
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/publicInquiry/detail", method = RequestMethod.GET)
     public ModelMap findInquiryById(Long id, Long enuu) {
         long start = System.currentTimeMillis();
@@ -96,7 +92,6 @@ public class InquiryForSaleController {
      * @return
      * @throws Exception
      */
-    @HttpLog
     @RequestMapping(value = "/attach", method = RequestMethod.POST)
     public String addAttachs(@RequestBody Attach attach) throws Exception {
         long start = System.currentTimeMillis();
@@ -119,7 +114,6 @@ public class InquiryForSaleController {
      * @throws Exception
      */
     @Deprecated
-    @HttpLog
     @RequestMapping(value = "/renew", method = RequestMethod.POST)
     public String saveItem(@RequestBody PublicInquiryItem inquiryItem) throws Exception {
         long start = System.currentTimeMillis();
@@ -135,7 +129,6 @@ public class InquiryForSaleController {
      * @param en_uu 当前企业UU
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/quote", method = RequestMethod.GET)
     public PublicInquiryItem findBySourceId(Long id, Long en_uu) {
         long start = System.currentTimeMillis();
@@ -153,7 +146,6 @@ public class InquiryForSaleController {
      * @param searchFilter 过滤条件
      * @return page<T>
      */
-    @HttpLog
     @RequestMapping(value = "/remind", method = RequestMethod.GET)
     public IPage<InquiryRemind> findByUserInfo(Long useruu, Long enuu, PageInfo pageInfo, SearchFilter searchFilter) {
         long start = System.currentTimeMillis();
@@ -177,7 +169,6 @@ public class InquiryForSaleController {
      * @param searchFilter
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/enremind", method = RequestMethod.GET)
     public IPage<InquiryEnRemind> findEnRemind(Long useruu, Long enuu, PageInfo pageInfo, SearchFilter searchFilter) {
         long start = System.currentTimeMillis();
@@ -198,7 +189,6 @@ public class InquiryForSaleController {
      * @param enRemindId
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/allot/enremind", method = RequestMethod.POST)
     public ModelMap allotEnRemind(Long userUU, Long enRemindId) {
         long start = System.currentTimeMillis();
@@ -215,7 +205,6 @@ public class InquiryForSaleController {
      * @param itemId
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/allot/inquiry", method = RequestMethod.POST)
     public ModelMap allotInquiry(Long userUU, Long enUU, Long itemId) {
         long start = System.currentTimeMillis();
@@ -236,7 +225,6 @@ public class InquiryForSaleController {
      * @return
      */
     @Deprecated
-    @HttpLog
     @RequestMapping(value = "/mobile/quote", method = RequestMethod.POST)
     public ModelMap quote(Long inquiryItemId, Long en_uu, Long useruu, Long leadtime, Double minPackQty, Double minOrderQty, String replies, String currency, Float taxrate) throws Exception {
         long start = System.currentTimeMillis();
@@ -257,7 +245,6 @@ public class InquiryForSaleController {
      * @return
      */
     @Deprecated
-    @HttpLog
     @RequestMapping(value = "/item/add", method = RequestMethod.POST)
     public String saveInquiryItem(@RequestBody PublicInquiryItem item) throws Exception {
         long start = System.currentTimeMillis();
@@ -278,7 +265,6 @@ public class InquiryForSaleController {
      *   报价后续统一调用  /item/saveQuote 2018年7月10日 之后不在维护
      */
     @Deprecated
-    @HttpLog
     @RequestMapping(value = "/item/save", method = RequestMethod.POST)
     public String saveInquiryItems(@RequestBody PublicInquiryItem item) throws Exception {
         long start = System.currentTimeMillis();

+ 0 - 2
src/main/java/com/uas/ps/inquiry/controller/PostDataController.java

@@ -1,7 +1,6 @@
 package com.uas.ps.inquiry.controller;
 
 import com.alibaba.fastjson.JSONObject;
-import com.uas.ps.httplog.annotation.HttpLog;
 import com.uas.ps.inquiry.entity.MessageModel;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -24,7 +23,6 @@ public class PostDataController {
      * @param model
      * @return
      */
-    @HttpLog
     @RequestMapping(method = RequestMethod.POST)
     public ModelMap getPostInfo(@RequestBody MessageModel model) {
         return new ModelMap("info", JSONObject.toJSON(model));

+ 30 - 5
src/main/java/com/uas/ps/inquiry/controller/PublicApiController.java

@@ -1,6 +1,5 @@
 package com.uas.ps.inquiry.controller;
 
-import com.uas.ps.httplog.annotation.HttpLog;
 import com.uas.ps.inquiry.service.PublicInquiryService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -11,6 +10,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.Date;
+import java.util.HashMap;
 
 /**
  * 询价服务供其他应用调用的接口
@@ -34,7 +34,6 @@ public class PublicApiController {
      * @param endtime  结束时间
      * @return 数量结果
      */
-    @HttpLog
     @RequestMapping(value = "/sum/publish/personal", method = RequestMethod.GET)
     public ModelMap sumPersonalPublish(Long enuu, Long useruu, Long starttime, Long endtime) {
         long start = System.currentTimeMillis();
@@ -51,7 +50,6 @@ public class PublicApiController {
      * @param endtime  结束时间
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/sum/publish/enterprise", method = RequestMethod.GET)
     public ModelMap sumEnterprisePublish(Long enuu, Long starttime, Long endtime) {
         long start = System.currentTimeMillis();
@@ -69,7 +67,6 @@ public class PublicApiController {
      * @param endtime  结束时间
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/sum/reply/personal", method = RequestMethod.GET)
     public ModelMap sumPersonalReply(Long enuu, Long useruu, Long starttime, Long endtime) {
         long start = System.currentTimeMillis();
@@ -86,7 +83,6 @@ public class PublicApiController {
      * @param endtime  结束时间
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/sum/reply/enterprise", method = RequestMethod.GET)
     public ModelMap sumEnterpriseReply(Long enuu, Long starttime, Long endtime) {
         long start = System.currentTimeMillis();
@@ -95,4 +91,33 @@ public class PublicApiController {
                 enuu, new Date(starttime), new Date(endtime), (System.currentTimeMillis() - start));
         return map;
     }
+
+    /**
+     * 获取今天和昨天的询价和报价统计
+     * @param time 时间
+     * @return 统计结果
+     */
+    @RequestMapping(value = "/sum/all/time", method = RequestMethod.GET)
+    public HashMap<String, Object> sumRecentPublishWithTime(Long time) throws Exception {
+        long start = System.currentTimeMillis();
+        log.info("/api/sum/publish/time get 参数:time{}", new Date(time));
+        HashMap<String, Object> map = publicInquiryService.sumRecentPublishWithTime(time);
+        log.info("/api/sum/publish/time get 耗时: {}", (System.currentTimeMillis() - start));
+        return map;
+    }
+
+    /**
+     * 获取区间时间内的询价和报价统计
+     * @param starttime 起始时间
+     * @param endtime 起始时间
+     * @return 统计结果
+     */
+    @RequestMapping(value = "/sum/all/scope", method = RequestMethod.GET)
+    public ModelMap sumPublishWithTimeScope(Long starttime, Long endtime) throws Exception {
+        long start = System.currentTimeMillis();
+        log.info("/api/sum/publish/scope get 参数:starttime{}, endtime:{}", new Date(starttime), new Date(endtime));
+        ModelMap map = publicInquiryService.sumPublishWithTimeScope(starttime, endtime);
+        log.info("/api/sum/publish/scope get 耗时: {}", (System.currentTimeMillis() - start));
+        return map;
+    }
 }

+ 0 - 14
src/main/java/com/uas/ps/inquiry/controller/PublicInquiryController.java

@@ -2,7 +2,6 @@ package com.uas.ps.inquiry.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.uas.ps.entity.Status;
-import com.uas.ps.httplog.annotation.HttpLog;
 import com.uas.ps.inquiry.domain.IPage;
 import com.uas.ps.inquiry.entity.Constant;
 import com.uas.ps.inquiry.entity.InquiryMessage;
@@ -65,7 +64,6 @@ public class PublicInquiryController {
      * @author hejq
      * @date 2018-01-17 10:27
      */
-    @HttpLog
     @RequestMapping(method = RequestMethod.GET)
     public IPage<PurcInquiryItemInfo> getInquiry(PageInfo pageInfo, SearchFilter searchFilter, String distributes) {
         long start = System.currentTimeMillis();
@@ -92,7 +90,6 @@ public class PublicInquiryController {
      * @param searchFilter 过滤条件
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/inquiryList", method = RequestMethod.GET)
     public IPage<PurcInquiryItemInfo> getInquiryList(PageInfo pageInfo, SearchFilter searchFilter) {
         long start = System.currentTimeMillis();
@@ -118,7 +115,6 @@ public class PublicInquiryController {
      * @author hejq
      * @date 2018-01-18 15:36
      */
-    @HttpLog
     @RequestMapping(value = "/quotation/list", method = RequestMethod.GET)
     public IPage<PublicInquiryItemInfo> getQuotation(PageInfo pageInfo, String filter, String _state, Short overdue) {
         long start = System.currentTimeMillis();
@@ -148,7 +144,6 @@ public class PublicInquiryController {
      * @param id
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/quotation/one", method = RequestMethod.GET)
     public PublicInquiryItemInfo getQuotationById(Long id, Long enuu, Long useruu) throws AccessException {
         long start = System.currentTimeMillis();
@@ -169,7 +164,6 @@ public class PublicInquiryController {
      * @param _state
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/quotationList", method = RequestMethod.GET)
     public Page<PublicInquiryItemInfo> getQuotationList(PageInfo pageInfo, String filter, String _state, Short overdue) {
         long start = System.currentTimeMillis();
@@ -190,7 +184,6 @@ public class PublicInquiryController {
      * @param size 大小
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/messageList", method = RequestMethod.GET)
     public List<InquiryMessage> getList(Long enuu, Integer size) {
         long start = System.currentTimeMillis();
@@ -210,7 +203,6 @@ public class PublicInquiryController {
      * @author hejq
      * @date 2018-01-14 15:20
      */
-    @HttpLog
     @RequestMapping(value = "/turntoInquiry", method = RequestMethod.POST)
     private ModelMap transtoInquiry(Long id, Long enuu, Long useruu) {
         long start = System.currentTimeMillis();
@@ -226,7 +218,6 @@ public class PublicInquiryController {
      * @param id 附件id
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/attachUrl", method = RequestMethod.GET)
     public com.uas.ps.inquiry.model.Attach getAttach(Long id) {
         long start = System.currentTimeMillis();
@@ -242,7 +233,6 @@ public class PublicInquiryController {
      * @param id 主表id
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/findInquiryById", method = RequestMethod.GET)
     public PurcInquiry findById(Long id, Long enuu) {
         long start = System.currentTimeMillis();
@@ -258,7 +248,6 @@ public class PublicInquiryController {
      *
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/findCodeRankingList", method = RequestMethod.GET)
     public List<Map<String, Object>> findCodeRankingList() {
         long start = System.currentTimeMillis();
@@ -275,7 +264,6 @@ public class PublicInquiryController {
      * @param enuu   enuu
      * @return
      */
-    @HttpLog
     @RequestMapping(value = "/findItemByItemId", method = RequestMethod.GET)
     public PurcInquiryItemInfo findItemByItemId(Long itemId, Long enuu) {
         long start = System.currentTimeMillis();
@@ -375,7 +363,6 @@ public class PublicInquiryController {
      * @return
      */
     @Deprecated
-    @HttpLog
     @RequestMapping(value = "/mobile", method = RequestMethod.GET)
     public ModelMap publincInquiry(Integer page, Integer size, Long en_uu, String _state,
                                    String keyword, String user_tel, Long fromDate, Long endDate) {
@@ -455,7 +442,6 @@ public class PublicInquiryController {
      * @return
      */
     @Deprecated
-    @HttpLog
     @RequestMapping(value = "/mobile/v2", method = RequestMethod.GET)
     public ModelMap publicInquiry(Integer page, Integer size, Long en_uu, String _state,
                                   String keyword, String user_tel, Long fromDate, Long endDate) {

+ 36 - 0
src/main/java/com/uas/ps/inquiry/dao/PublicInquiryItemDao.java

@@ -163,4 +163,40 @@ public interface PublicInquiryItemDao extends JpaRepository<PublicInquiryItem, L
      */
     @Query(value = "select sum(sumprice) from (select min(id_sumprice) as sumprice from public$inquiryitems,(select min(id_leadtime) as leadtime,id_sourceid as sourceid from public$inquiryitems where id_sourceid in :itemIds group by id_sourceid) a where id_sourceid = a.sourceid and id_leadtime = a.leadtime group by id_sourceid) b", nativeQuery = true)
     Double getMinDeliverySumBySourceId(@Param("itemIds") Long[] itemIds);
+
+    /**
+     * 根据上周最后注册用户UU获取老用户报价数量
+     * @param userUU  上周最后注册用户uu
+     * @param dateParams 日期
+     * @return 查询结果
+     */
+    @Query(value = "select count(1) from public$inquiryitems where date(id_date) = :dateParams and id_venduseruu <= :userUU", nativeQuery = true)
+    Integer sumOldReplyCountByUserUUAndDate(@Param("userUU")Integer userUU, @Param("dateParams")String dateParams);
+
+    /**
+     * 根据上周最后注册用户UU获取老用户报价数量
+     * @param dateParams 日期
+     * @return 查询结果
+     */
+    @Query(value = "select count(1) from public$inquiryitems where date(id_date) = :dateParams ", nativeQuery = true)
+    Integer sumReplyCountByDate(@Param("dateParams")String dateParams);
+
+    /**
+     * 日期区间内,老客户的报价数量
+     * @param startDate 开始时间 yyyy-MM-dd
+     * @param endDate 结束时间 yyyy-MM-dd
+     * @param userUU 上周注册最大用户UU
+     * @return 查询结果
+     */
+    @Query(value = "select count(1) from public$inquiryitems where date(id_date) between :startDate and :endDate and id_venduseruu <= :userUU", nativeQuery = true)
+    Integer sumOldReplyCountWithDateScope(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("userUU") Integer userUU);
+
+    /**
+     * 日期区间内,所有报价价数量
+     * @param startDate 开始时间 yyyy-MM-dd
+     * @param endDate 结束时间 yyyy-MM-dd
+     * @return 查询结果
+     */
+    @Query(value = "select count(1) from public$inquiryitems where date(id_date) between :startDate and :endDate", nativeQuery = true)
+    Integer sumReplyCountWithTimeScope(@Param("startDate") String startDate, @Param("endDate") String endDate);
 }

+ 35 - 0
src/main/java/com/uas/ps/inquiry/dao/PurcInquiryItemDao.java

@@ -124,4 +124,39 @@ public interface PurcInquiryItemDao extends JpaSpecificationExecutor<PurcInquiry
     @Query(value = "select count(1) from public$inquiryitems where id_venduu = :enuu and id_offertime between :starttime and :endtime", nativeQuery = true)
     Integer sumEnterpriseReply(@Param("enuu") Long enuu, @Param("starttime") Date starttime, @Param("endtime")Date endtime);
 
+    /**
+     * 根据上周最后注册用户UU获取老用户询价数量
+     * @param userUU  上周最后注册用户uu
+     * @param dateParams 日期
+     * @return 查询结果
+     */
+    @Query(value = "select count(1) from (select 1 from purc$puinquiryitems where date(id_date) = :dateParams and id_useruu <= :userUU group by id_inbrand, id_cmpcode) a", nativeQuery = true)
+    Integer sumOldInquiryCountByUserUUAndDate(@Param("userUU") Integer userUU, @Param("dateParams") String dateParams);
+
+    /**
+     * 根据日期内获取所有询价数量
+     * @param dateParams 日期
+     * @return 查询结果
+     */
+    @Query(value = "select count(1) from (select 1 from purc$puinquiryitems where date(id_date) = :dateParams group by id_inbrand, id_cmpcode) a", nativeQuery = true)
+    Integer sumInquiryCountByDate(@Param("dateParams") String dateParams);
+
+    /**
+     * 日期区间内,老客户的询价数量
+     * @param startDate 开始时间 yyyy-MM-dd
+     * @param endDate 结束时间 yyyy-MM-dd
+     * @param userUU  上周注册用户最大UU
+     * @return 查询结果
+     */
+    @Query(value = "select count(1) from (select 1 from purc$puinquiryitems where date(id_date) between :startDate and :endDate and id_useruu <= :userUU group by id_inbrand, id_cmpcode) a", nativeQuery = true)
+    Integer sumOldInquiryCountWithDateScope(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("userUU") Integer userUU);
+
+    /**
+     * 日期区间内,所有询价数量
+     * @param startDate 开始时间 yyyy-MM-dd
+     * @param endDate 结束时间 yyyy-MM-dd
+     * @return 查询结果
+     */
+    @Query(value = "select count(1) from (select 1 from purc$puinquiryitems where date(id_date) between :startDate and :endDate group by id_inbrand, id_cmpcode) a", nativeQuery = true)
+    Integer sumInquiryCountWithTimeScope(@Param("startDate") String startDate, @Param("endDate") String endDate);
 }

+ 22 - 0
src/main/java/com/uas/ps/inquiry/model/Attach.java

@@ -3,6 +3,7 @@ package com.uas.ps.inquiry.model;
 import javax.persistence.*;
 import java.io.Serializable;
 import java.util.Date;
+import java.util.Objects;
 
 /**
  * 附件
@@ -127,6 +128,27 @@ public class Attach implements Serializable {
         this.date = date;
     }
 
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        Attach attach = (Attach) o;
+        return Objects.equals(id, attach.id) &&
+                Objects.equals(path, attach.path) &&
+                Objects.equals(description, attach.description) &&
+                Objects.equals(name, attach.name) &&
+                Objects.equals(size, attach.size) &&
+                Objects.equals(relatedTable, attach.relatedTable) &&
+                Objects.equals(relatedKey, attach.relatedKey) &&
+                Objects.equals(date, attach.date);
+    }
+
+    @Override
+    public int hashCode() {
+
+        return Objects.hash(id, path, description, name, size, relatedTable, relatedKey, date);
+    }
+
     @Override
     public String toString() {
         return "Attach{" +

+ 18 - 0
src/main/java/com/uas/ps/inquiry/service/PublicInquiryService.java

@@ -9,6 +9,7 @@ import javassist.NotFoundException;
 import org.springframework.data.domain.Page;
 import org.springframework.ui.ModelMap;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -397,5 +398,22 @@ public interface PublicInquiryService {
      * @return 查询结果
      */
     ModelMap sumEnterpriseReply(Long enuu, Long starttime, Long endtime);
+
+    /**
+     * 获取今天和昨天的询价和报价统计
+     * @param time 时间
+     * @return 统计结果
+     * @exception Exception 接口异常
+     */
+    HashMap<String, Object> sumRecentPublishWithTime(Long time) throws Exception;
+
+    /**
+     * 获取区间时间内的询价和报价统计
+     * @param starttime 起始时间
+     * @param endtime 起始时间
+     * @return 统计结果
+     * @exception Exception 接口异常
+     */
+    ModelMap sumPublishWithTimeScope(Long starttime, Long endtime) throws Exception;
 }
 

+ 61 - 73
src/main/java/com/uas/ps/inquiry/service/impl/InquiryForSaleServiceImpl.java

@@ -250,7 +250,7 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
                 }
                 inquiry = inquiryDao.save(inquiry);
 
-                PublicInquiryItem item = SaveInquiryItems(inquiry, inquiryItem);
+                PublicInquiryItem item = saveInquiryItems(inquiry, inquiryItem);
                 // 报价成功后保存到个人物料库中
                 if (null != item && !StringUtils.isEmpty(item.getInbrand()) && !StringUtils.isEmpty(item.getCmpCode())) {
                     saveInquiryItemProduct(item);
@@ -258,7 +258,7 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
                 return item;
             } else {// 插入
                 inquiry = saleInquiries.get(0);
-                PublicInquiryItem item = SaveInquiryItems(inquiry, inquiryItem);
+                PublicInquiryItem item = saveInquiryItems(inquiry, inquiryItem);
                 // 报价成功后保存到个人物料库中
                 if (null != item && !StringUtils.isEmpty(item.getInbrand()) && !StringUtils.isEmpty(item.getCmpCode())) {
                     saveInquiryItemProduct(item);
@@ -321,7 +321,37 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
      * @return
      * @throws Exception
      */
-    private PublicInquiryItem SaveInquiryItems(PublicInquiry inquiry, PublicInquiryItem inquiryItem) throws Exception {
+    private PublicInquiryItem saveInquiryItems(PublicInquiry inquiry, PublicInquiryItem inquiryItem) {
+        long start = System.currentTimeMillis();
+        // 设置报价明细信息
+        setPublicInquiryItemWithInquiry(inquiry, inquiryItem);
+
+        inquiryItem = infoDao.save(inquiryItem);
+        System.out.println("save publicInquiryItem耗时:" + (System.currentTimeMillis() - start));
+        start = System.currentTimeMillis();
+
+        // 更新原表的报价条数
+        purcInquiryItemDao.updateAmount(inquiryItem.getSourceId(), 1);
+        System.out.println("更新报价条数耗时:" + (System.currentTimeMillis() - start));
+        start = System.currentTimeMillis();
+
+        // 更新推荐表中的相关信息
+        remindDao.updateStatus(inquiryItem.getId(), inquiryItem.getSourceId(), Status.SUBMITTED.value(), inquiryItem.getVendUU());
+        System.out.println("更新个人推荐耗时:" + (System.currentTimeMillis() - start));
+        start = System.currentTimeMillis();
+
+        // 更新企业推荐中的相关信息
+        inquiryEnRemindDao.updateStatus(inquiryItem.getId(), inquiryItem.getSourceId(), Status.SUBMITTED.value(), inquiryItem.getVendUU());
+        System.out.println("更新企业推荐耗时:" + (System.currentTimeMillis() - start));
+        return inquiryItem;
+    }
+
+    /**
+     * 设置报价明细信息
+     * @param inquiry  报价单
+     * @param inquiryItem  报价明细
+     */
+    private void setPublicInquiryItemWithInquiry(PublicInquiry inquiry, PublicInquiryItem inquiryItem) {
         // 计算合计价格 dongbw  2018年9月5日 15:08:24  bom求购明细价格分析需要
         Double sumPrice = 0d;
         Double needQty = null != inquiryItem.getNeedquantity() ? inquiryItem.getNeedquantity() : 1;
@@ -344,59 +374,35 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
             sumPrice = maxPrice * needQty;
         }
         inquiryItem.setSumPrice(sumPrice);
-        long start = System.currentTimeMillis();
-        Set<PublicInquiryItem> items = new HashSet<PublicInquiryItem>();
         int number = 1;
         if (null != inquiryItem.getInquiry() && null != inquiryItem.getInquiry().getId()) {
             number = infoDao.countByInquiryId(inquiryItem.getInquiry().getId()) + 1;
         }
-        if (null != inquiryItem) {
-            Enterprise enterprise = enterpriseDao.findOne(inquiryItem.getVendUU());
-            if (null != inquiryItem.getProduct()) {
-                inquiryItem.setProdTitle(inquiryItem.getProduct().getTitle());
-                inquiryItem.setSpec(inquiryItem.getProduct().getSpec());
-                inquiryItem.setInbrand(inquiryItem.getProduct().getBrand());
-                inquiryItem.setProdCode(inquiryItem.getProduct().getCode());
-            }
-            inquiryItem.setVendName(enterprise.getEnName());
-            if (StringUtils.isEmpty(inquiryItem.getEndDate())) {
-                inquiryItem.setEndDate(inquiry.getEndDate());
-            }
-            inquiryItem.setBusinessCode(enterprise.getBusinesscode());
-            inquiryItem.setDate(inquiry.getDate());
-            inquiryItem.setOfferTime(new Date(System.currentTimeMillis()));
-            inquiryItem.setInquiry(inquiry);
-            inquiryItem.setNumber((short) number);
-            inquiryItem.setCustLap(Constant.NO);
-            inquiryItem.setSendStatus((short) Status.NOT_UPLOAD.value());
-            inquiryItem.setSourceId(inquiryItem.getId());
-            inquiryItem.setId(null);
-            inquiryItem.setStatus((short) Status.REPLIED.value());
-            inquiryItem.setBackStatus((short) Status.NOT_UPLOAD.value());
-            inquiryItem.setReplySendStatus((short) Status.NOT_UPLOAD.value());
-            // 将采纳状态设置成申请状态,方便过滤
-            inquiryItem.setDecideStatus((short) Status.UNAUDIT.value());
-            items.add(inquiryItem);
-        }
-        final List<PublicInquiryItem> publicInquiryItems = infoDao.save(items);
-        System.out.println("save publicInquiryItem耗时:" + (System.currentTimeMillis() - start));
-        start = System.currentTimeMillis();
-        // 更新原表的报价条数
-        purcInquiryItemDao.updateAmount(publicInquiryItems.get(0).getSourceId(), publicInquiryItems.size());
-        System.out.println("更新报价条数耗时:" + (System.currentTimeMillis() - start));
-        start = System.currentTimeMillis();
-        // 更新推荐表中的相关信息
-        remindDao.updateStatus(publicInquiryItems.get(0).getId(), inquiryItem.getSourceId(), Status.SUBMITTED.value(), inquiryItem.getVendUU());
-        System.out.println("更新个人推荐耗时:" + (System.currentTimeMillis() - start));
-        start = System.currentTimeMillis();
-        // 更新企业推荐中的相关信息
-        inquiryEnRemindDao.updateStatus(publicInquiryItems.get(0).getId(), inquiryItem.getSourceId(), Status.SUBMITTED.value(), inquiryItem.getVendUU());
-        System.out.println("更新企业推荐耗时:" + (System.currentTimeMillis() - start));
-        if (publicInquiryItems.get(0).getId() != null) {
-            return publicInquiryItems.get(0);
-        } else {
-            throw new Exception("转询价报价单失败");
+        Enterprise enterprise = enterpriseDao.findOne(inquiryItem.getVendUU());
+        if (null != inquiryItem.getProduct()) {
+            inquiryItem.setProdTitle(inquiryItem.getProduct().getTitle());
+            inquiryItem.setSpec(inquiryItem.getProduct().getSpec());
+            inquiryItem.setInbrand(inquiryItem.getProduct().getBrand());
+            inquiryItem.setProdCode(inquiryItem.getProduct().getCode());
         }
+        inquiryItem.setVendName(enterprise.getEnName());
+        if (StringUtils.isEmpty(inquiryItem.getEndDate())) {
+            inquiryItem.setEndDate(inquiry.getEndDate());
+        }
+        inquiryItem.setBusinessCode(enterprise.getBusinesscode());
+        inquiryItem.setDate(inquiry.getDate());
+        inquiryItem.setOfferTime(new Date(System.currentTimeMillis()));
+        inquiryItem.setInquiry(inquiry);
+        inquiryItem.setNumber((short) number);
+        inquiryItem.setCustLap(Constant.NO);
+        inquiryItem.setSendStatus((short) Status.NOT_UPLOAD.value());
+        inquiryItem.setSourceId(inquiryItem.getId());
+        inquiryItem.setId(null);
+        inquiryItem.setStatus((short) Status.REPLIED.value());
+        inquiryItem.setBackStatus((short) Status.NOT_UPLOAD.value());
+        inquiryItem.setReplySendStatus((short) Status.NOT_UPLOAD.value());
+        // 将采纳状态设置成申请状态,方便过滤
+        inquiryItem.setDecideStatus((short) Status.UNAUDIT.value());
     }
 
     /**
@@ -507,7 +513,7 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
             inquiry = inquiryDao.save(inquiry);
             inquiryItem.setVendUU(enuu);
             inquiryItem.setVendUserUU(useruu);
-            inquiryItem = SaveInquiryItems(inquiry, inquiryItem);
+            inquiryItem = saveInquiryItems(inquiry, inquiryItem);
             if (null != inquiryItem.getId()) {
                 map.put("content", inquiryItem.getId());
             } else {
@@ -525,7 +531,7 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
                 inquiryItem.setOfferTime(new Date(System.currentTimeMillis()));
                 inquiryItem.setVendUU(enuu);
                 inquiryItem.setVendUserUU(useruu);
-                inquiryItem = SaveInquiryItems(inquiry, inquiryItem);
+                inquiryItem = saveInquiryItems(inquiry, inquiryItem);
                 if (null != inquiryItem.getId()) {
                     map.put("content", inquiryItem.getId());
                 } else {
@@ -773,7 +779,7 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
     }
 
     private boolean validatePurcInquiryItem(PublicInquiryItem publicInquiryItem, ModelMap result, PurcInquiryItemInfo item) {
-        if (StringUtils.isEmpty(item)) {
+        if (null == item) {
             result.put("message", "找不到当前公共询价");
             return true;
         }
@@ -807,7 +813,7 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
     private ModelMap replyInquiry(ModelMap result, PublicInquiry inquiry, PublicInquiryItem inquiryItem) {
         try {
             long start = System.currentTimeMillis();
-            inquiryItem = SaveInquiryItems(inquiry, inquiryItem);
+            inquiryItem = saveInquiryItems(inquiry, inquiryItem);
             System.out.println("报价总耗时:" + (System.currentTimeMillis() - start));
             start = System.currentTimeMillis();
             // 报价成功后保存到个人物料库中
@@ -886,24 +892,6 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
         inquiryItem.setReplaceBrand(publicInquiryItem.getReplaceBrand());
         inquiryItem.setReplaceSpec(publicInquiryItem.getReplaceSpec());
         inquiryItem.setIsReplace(publicInquiryItem.getIsReplace());
-//        // 计算合计价格 dongbw  2018年9月5日 15:08:24  bom求购明细价格分析需要
-//        Double sumPrice = 0d;
-//        Double needQty = inquiryItem.getNeedquantity();
-//        List<PublicInquiryReply> replies = inquiryItem.getReplies();
-//        for (int i = 0; i < replies.size(); i++) {
-//            needQty = needQty - replies.get(i).getLapQty();
-//            if (needQty > 0) {
-//                if (i == 0) {
-//                    sumPrice += replies.get(i).getPrice() * replies.get(i).getLapQty();
-//                } else {
-//                    sumPrice += replies.get(i).getPrice() * (replies.get(i).getLapQty() - replies.get(i - 1).getLapQty());
-//                }
-//            } else {
-//                sumPrice += replies.get(i).getPrice() * needQty;
-//                break;
-//            }
-//        }
-//        inquiryItem.setSumPrice(sumPrice);
         return inquiryItem;
     }
 

+ 29 - 11
src/main/java/com/uas/ps/inquiry/service/impl/InquiryServiceImpl.java

@@ -93,6 +93,17 @@ public class InquiryServiceImpl implements InquiryService {
      */
     private final String PS_MESSAGE_URL = ContextUtils.getBean(AccessConfiguration.class).getPsMessageUrl();
 
+    /**
+     * 是有效状态
+     */
+    private static final Integer IS_VALID = 1;
+
+    /**
+     * 初始化已报价数
+     */
+    private static final Integer INITIALISE_AMOUNT = 0;
+
+
     /**
      * 询价统计通知发送人UU
      */
@@ -239,8 +250,9 @@ public class InquiryServiceImpl implements InquiryService {
      *
      * @param currentInquiry 询价信息
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
-    public PurcInquiry saveInquiry(PurcInquiry currentInquiry) throws NotFoundException {
+    public PurcInquiry saveInquiry(PurcInquiry currentInquiry) throws NotFoundException,RuntimeException {
         // amount,code,date设置
         if (StringUtils.isEmpty(currentInquiry.getAmount())) {
             currentInquiry.setAmount(currentInquiry.getInquiryItems().size());
@@ -248,17 +260,20 @@ public class InquiryServiceImpl implements InquiryService {
         if (StringUtils.isEmpty(currentInquiry.getCode())) {
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddsss");
             try {
-                currentInquiry.setCode("MALL" + sdf.parse(sdf.format(new Date())).getTime() + StringUtil.getRandomNumber(3) + StringUtil.getRandomNumber(3));
+                currentInquiry.setCode(currentInquiry.getSourceapp() + sdf.parse(sdf.format(new Date())).getTime() + StringUtil.getRandomNumber(3) + StringUtil.getRandomNumber(3));
             } catch (ParseException e) {
                 e.printStackTrace();
             }
         }
+        if (null == currentInquiry.getEnUU()) {
+            throw new IllegalOperatorException("未传入询价企业UU");
+        }
         //通过流水号和企业号找到公共询价单
         List<PurcInquiry> existInquiryList = purcInquiryDao.findByCodeAndEnUU(currentInquiry.getCode(), currentInquiry.getEnUU());
         if (!CollectionUtils.isEmpty(existInquiryList)) {
             throw new IllegalOperatorException("单号重复");
         } else {
-            if (null != currentInquiry.getEnUU()) {
+            if (null == currentInquiry.getEnName()) {
                 Enterprise e = enterpriseDao.findOne(currentInquiry.getEnUU());
                 if (null != e) {
                     currentInquiry.setEnName(e.getEnName());
@@ -266,6 +281,8 @@ public class InquiryServiceImpl implements InquiryService {
                     throw new NotFoundException("询价企业不存在");
                 }
             }
+            Date submitDate = new Date(System.currentTimeMillis());
+            currentInquiry.setDate(submitDate);
             //保存询价单
             PurcInquiry inquiry = purcInquiryDao.save(currentInquiry);
             //判断询价明细单是否为空
@@ -274,15 +291,12 @@ public class InquiryServiceImpl implements InquiryService {
                 //给询价明细单属性设置初始值
                 for (PurcInquiryItem item : currentInquiry.getInquiryItems()) {
                     item.setInquiry(inquiry);
-                    item.setValid(1);
-                    item.setOfferAmount(0);
+                    item.setValid(IS_VALID);
+                    item.setOfferAmount(INITIALISE_AMOUNT);
                     item.setStatus((short) Status.NOT_REPLY.value());
                     item.setIsOpen(Constant.YES);
                     item.setEnuu(inquiry.getEnUU());
-                    if (null == item.getDate()) {
-                        //设置提交时间
-                        item.setDate(new Date(System.currentTimeMillis()));
-                    }
+                    item.setDate(submitDate);
                     // 这里设置物料信息的冗余字段
                     if (null != item.getProduct()) {
                         item.setProdTitle(item.getProduct().getTitle());
@@ -291,7 +305,7 @@ public class InquiryServiceImpl implements InquiryService {
                         item.setInbrand(item.getProduct().getBrand());
                         item.setCmpCode(item.getProduct().getCmpCode());
                     }
-                    if (null == item.getCmpCode() || item.getCmpCode().equals("无")) {
+                    if (null == item.getCmpCode() || "无".equals(item.getCmpCode())) {
                         item.setCmpCode(item.getSpec());
                     }
                     if (null == item.getEndDate()) {
@@ -321,7 +335,11 @@ public class InquiryServiceImpl implements InquiryService {
                     });
                 }
             }
-            return inquiry;
+            if (null != inquiry.getId()) {
+                return inquiry;
+            } else {
+                throw new RuntimeException("保存失败");
+            }
         }
     }
 

+ 109 - 1
src/main/java/com/uas/ps/inquiry/service/impl/PublicInquiryServiceImpl.java

@@ -253,6 +253,7 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
                 formData.put("cmpCode", cmpCode);
                 try {
                     long start = System.currentTimeMillis();
+                    log.info("根据企业UU和原厂型号获取个人库记录,enUU:{}, cmpCode:{}", item.getInquiry().getEnUU(), cmpCode);
                     HttpUtil.Response res = HttpUtil.sendGetRequest(url, formData);
                     log.info("/productuser/getProductUsersByEnUUAndCmpCode,耗时:{}", (System.currentTimeMillis() - start));
                     if (res.getStatusCode() == 200) {
@@ -301,7 +302,6 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
                                 model.setMailTemplate(MAIL_TEMP_ID);
                                 model.setSmTemplate(SMS_TEMP_ID);
                                 models.add(model);
-//                                log.info("公共询价产生消息", "根据物料型号【{}】查询接收人,关联询价单明细【{}】,UserUU:{},Enuu:{},报价的应用来源:{}", cmpCode, item.getId(), user.getUseruu(), user.getEnuu(), InquirySource.ERP.name());
                             }
                             if (!CollectionUtils.isEmpty(models)) {
                                 sendMessage(models);
@@ -443,6 +443,7 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
                     formData.put("enUU", item.getInquiry().getEnUU());
                     formData.put("pCmpCode", item.getCmpCode());
                     long start = System.currentTimeMillis();
+                    log.info("enUU和cmpCode获取其他有相同物料的企业号, enUU:{}, code:{]", item.getInquiry().getEnUU(), item.getCmpCode());
                     HttpUtil.Response res = HttpUtil.sendGetRequest(url, formData);
                     log.info("/product/businessOpportunity , 型号:{}, 耗时:{}", item.getCmpCode(), (System.currentTimeMillis() - start));
                     if (res.getStatusCode() == HttpStatus.OK.value()) {
@@ -1873,4 +1874,111 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
         return map;
     }
 
+    /**
+     * 获取今天和昨天的询价和报价统计
+     *
+     * @param time 时间
+     * @return 统计结果
+     */
+    @Override
+    public HashMap<String, Object> sumRecentPublishWithTime(Long time) throws Exception {
+        HashMap<String, Object> result = new HashMap<>();
+        // 获取上周用户最大uu号
+        ModelMap user = SsoUtils.getLastWeekMaxUU();
+        if (null == user) {
+            throw new RuntimeException("未获取到上周最后注册用户UU");
+        }
+        Integer userUU = (Integer) user.get("content");
+        if (null == userUU) {
+            throw new RuntimeException("获取到上周最后注册用户UU为空");
+        }
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        // 今天
+        String date = sdf.format(new Date(time));
+        // 昨天
+        String yesterdayString = sdf.format(new Date(time - 1000 * 60 * 60 * 24));
+        // 昨天统计
+        ModelMap yesterday = new ModelMap();
+        // 今天统计
+        ModelMap today = new ModelMap();
+        // 前一天老用户统计
+        Integer yesterdayOldPublish = purcInquiryItemDao.sumOldInquiryCountByUserUUAndDate(userUU, yesterdayString);
+        Integer yesterdayOldReply = publicInquiryItemDao.sumOldReplyCountByUserUUAndDate(userUU, yesterdayString);
+        // 前一天全部
+        Integer yesterdayTotalPublish = purcInquiryItemDao.sumInquiryCountByDate(yesterdayString);
+        Integer yesterdayTotalReply = publicInquiryItemDao.sumReplyCountByDate(yesterdayString);
+        // 日期当天老用户统计
+        Integer todayOldPublish = purcInquiryItemDao.sumOldInquiryCountByUserUUAndDate(userUU, date);
+        Integer todayOldReply = publicInquiryItemDao.sumOldReplyCountByUserUUAndDate(userUU, date);
+        // 日期当天全部
+        Integer todayPublishTotal = purcInquiryItemDao.sumInquiryCountByDate(date);
+        Integer todayTotalReply = publicInquiryItemDao.sumReplyCountByDate(date);
+
+        // 前一天新老用户 发布数量设置
+        yesterday.put("yesterdayOldPublish", yesterdayOldPublish);
+        yesterday.put("yesterdayNewPublish", yesterdayTotalPublish - yesterdayOldPublish);
+        yesterday.put("yesterdayTotalPublish", yesterdayTotalPublish);
+
+        // 前一天新老用户 报价数量设置
+        yesterday.put("yesterdayOldReply", yesterdayOldReply);
+        yesterday.put("yesterdayNewReply", yesterdayTotalReply - yesterdayOldReply);
+        yesterday.put("yesterdayTotalReply", yesterdayTotalReply);
+
+        // 日期当天新老用户 发布和报价数量设置
+        today.put("todayOldPublish", todayOldPublish);
+        today.put("todayNewPublish", todayPublishTotal - todayOldPublish);
+        today.put("todayTotalPublish", todayPublishTotal);
+
+        // 日期当天新老用户 报价数量设置
+        today.put("todayOldReply", todayOldReply);
+        today.put("todayNewReply", todayTotalReply - todayOldReply);
+        today.put("todayTotalReply", todayTotalReply);
+        result.put("yesterday", yesterday);
+        result.put("today", today);
+        return result;
+    }
+
+    /**
+     * 获取区间时间内的询价和报价统计
+     *
+     * @param starttime 起始时间
+     * @param endtime   起始时间
+     * @return 统计结果
+     */
+    @Override
+    public ModelMap sumPublishWithTimeScope(Long starttime, Long endtime) throws Exception {
+        ModelMap map = new ModelMap();
+        // 获取上周用户最大uu号
+        ModelMap user = SsoUtils.getLastWeekMaxUU();
+        if (null == user) {
+            throw new RuntimeException("未获取到上周最后注册用户UU");
+        }
+        Integer userUU = (Integer) user.get("content");
+        if (null == userUU) {
+            throw new RuntimeException("获取到上周最后注册用户UU为空");
+        }
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        // 今天
+        String startDate = sdf.format(new Date(starttime));
+        // 昨天
+        String endDate = sdf.format(new Date(endtime));
+        // 老用户统计
+        Integer oldPublish = purcInquiryItemDao.sumOldInquiryCountWithDateScope(startDate, endDate, userUU);
+        Integer oldReply = publicInquiryItemDao.sumOldReplyCountWithDateScope(startDate, endDate, userUU);
+        // 全部
+        Integer totalPublish = purcInquiryItemDao.sumInquiryCountWithTimeScope(startDate, endDate);
+        Integer totalReply = publicInquiryItemDao.sumReplyCountWithTimeScope(startDate, endDate);
+
+        // 新老用户 发布数量设置
+        map.put("oldPublish", oldPublish);
+        map.put("newPublish", totalPublish - oldPublish);
+        map.put("totalPublish", totalPublish);
+
+        // 新老用户 报价数量设置
+        map.put("oldReply", oldReply);
+        map.put("newReply", totalReply - oldReply);
+        map.put("totalReply", totalReply);
+        return map;
+    }
+
 }

+ 38 - 0
src/main/java/com/uas/ps/inquiry/util/SsoUtils.java

@@ -0,0 +1,38 @@
+package com.uas.ps.inquiry.util;
+
+import com.alibaba.fastjson.JSON;
+import com.uas.ps.core.util.ContextUtils;
+import com.uas.ps.inquiry.AccessConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpStatus;
+import org.springframework.ui.ModelMap;
+
+/**
+ * 对接账户服务的接口
+ *
+ * @author dongbw
+ * @version 2018年9月18日 17:30:07
+ */
+public class SsoUtils {
+
+
+    private static final String SSO_URL = ContextUtils.getBean(AccessConfiguration.class).getSsoUrl();
+
+    private static final Logger log = LoggerFactory.getLogger(SsoUtils.class);
+
+
+    /**
+     * 获取上周最后注册用户UU
+     * @return 查询结果
+     * @throws Exception http请求异常
+     */
+    public static ModelMap getLastWeekMaxUU() throws Exception {
+        HttpUtil.Response res = HttpUtil.sendGetRequest(SSO_URL + "/api/user/maxuu/lastWeek", null);
+        if (HttpStatus.OK.value() == res.getStatusCode()) {
+            return JSON.parseObject(res.getResponseText(), ModelMap.class);
+        } else {
+            throw new RuntimeException("未获取到最近注册用户UU");
+        }
+    }
+}

+ 3 - 0
src/main/resources/config/application-cloud.properties

@@ -17,6 +17,9 @@ ps.product.url=https://api-product.usoftmall.com/
 ps.message.url=http://api-message.ubtob.com/
 mall.url = http://10.10.0.10
 
+# sso
+sso.url=https://sso.ubtob.com/
+
 #message
 message.senderuu=1000010022
 message.senderEnuu=10042875

+ 3 - 0
src/main/resources/config/application-dev.properties

@@ -20,6 +20,9 @@ ps.message.url=http://192.168.253.12:24000/message/
 #ps.message.url=http://192.168.253.131:20000/
 mall.url = http://192.168.253.12:23400/
 
+# sso
+sso.url=http://192.168.253.6:32323
+
 #message
 message.senderuu=1000010022
 message.senderEnuu=10043516

+ 3 - 0
src/main/resources/config/application-test.properties

@@ -17,6 +17,9 @@ ps.product.url=http://218.17.158.219:24000/
 ps.message.url=http://218.17.158.219:24000/message/
 mall.url = http://192.168.253.12:23400/
 
+# sso
+sso.url=http://192.168.253.6:32323
+
 #message
 message.senderuu=1000010022
 message.senderEnuu=10043516