Quellcode durchsuchen

平台管理端 ---统计中心+装修

Gaosheng vor 1 Woche
Ursprung
Commit
26782f5584
40 geänderte Dateien mit 424 neuen und 114 gelöschten Zeilen
  1. 3 0
      xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/cms/dto/FriendLinkAddDTO.java
  2. 3 0
      xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/cms/dto/FriendLinkUpdateDTO.java
  3. 5 0
      xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/cms/example/FriendLinkExample.java
  4. 3 0
      xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/cms/pojo/FriendLink.java
  5. 5 0
      xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/system/example/NavigationExample.java
  6. 5 0
      xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/system/example/PcFirstAdvExample.java
  7. 3 0
      xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/system/pojo/Navigation.java
  8. 7 0
      xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/system/pojo/PcFirstAdv.java
  9. 1 1
      xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/system/pojo/TplPcMallData.java
  10. 3 1
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/cms/admin/AdminFriendLinkController.java
  11. 1 2
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/goods/seller/GoodsCategorySellerController.java
  12. 19 5
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/admin/AdminFlowAnalysisController.java
  13. 15 7
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/admin/AdminGoodsAnalysisController.java
  14. 19 4
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/admin/AdminMemberAnalysisController.java
  15. 4 2
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/admin/AdminOverviewController.java
  16. 2 2
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/admin/AdminPresentAnalysisController.java
  17. 24 7
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/admin/AdminStoreAnalysisController.java
  18. 7 4
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/admin/AdminTradeAnalysisController.java
  19. 16 10
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/system/admin/AdminNavigationController.java
  20. 14 6
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/system/admin/AdminPcDecoController.java
  21. 21 4
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/system/admin/AdminPcFirstAdvController.java
  22. 10 3
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/system/admin/AdminTplPcController.java
  23. 58 30
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/job/SystemJob.java
  24. 3 0
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/cms/FriendLinkModel.java
  25. 5 2
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/seller/StoreModel.java
  26. 2 0
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/system/NavigationModel.java
  27. 4 0
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/system/PcFirstAdvModel.java
  28. 17 3
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/util/PlatformPresentDataUtil.java
  29. 13 2
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/util/StatsModelUtil.java
  30. 3 0
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/vo/cms/FriendLinkVO.java
  31. 9 0
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/vo/statistics/AdminPresentDataVO.java
  32. 4 0
      xinkeaboard-server/b2b2c-web/src/main/resources/mapper/read/cms/FriendLinkReadMapper.xml
  33. 1 1
      xinkeaboard-server/b2b2c-web/src/main/resources/mapper/read/seller/StoreReadMapper.xml
  34. 4 0
      xinkeaboard-server/b2b2c-web/src/main/resources/mapper/read/system/NavigationReadMapper.xml
  35. 11 3
      xinkeaboard-server/b2b2c-web/src/main/resources/mapper/read/system/PcFirstAdvReadMapper.xml
  36. 16 0
      xinkeaboard-server/b2b2c-web/src/main/resources/mapper/write/cms/FriendLinkWriteMapper.xml
  37. 1 1
      xinkeaboard-server/b2b2c-web/src/main/resources/mapper/write/goods/GoodsLabelWriteMapper.xml
  38. 16 0
      xinkeaboard-server/b2b2c-web/src/main/resources/mapper/write/system/NavigationWriteMapper.xml
  39. 24 4
      xinkeaboard-server/b2b2c-web/src/main/resources/mapper/write/system/PcFirstAdvWriteMapper.xml
  40. 43 10
      xinkeaboard-server/doc/DDL/update.sql

+ 3 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/cms/dto/FriendLinkAddDTO.java

@@ -13,6 +13,9 @@ public class FriendLinkAddDTO implements Serializable {
 
     private static final long serialVersionUID = -2123262648171965455L;
 
+    @ApiModelProperty("站点")
+    private String webSite;
+
     @ApiModelProperty(value = "链接名称",required = true)
     private String linkName;
 

+ 3 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/cms/dto/FriendLinkUpdateDTO.java

@@ -16,6 +16,9 @@ public class FriendLinkUpdateDTO implements Serializable {
     @ApiModelProperty(value = "链接id",required = true)
     private Integer linkId;
 
+    @ApiModelProperty("站点")
+    private String webSite;
+
     @ApiModelProperty("链接名称")
     private String linkName;
 

+ 5 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/cms/example/FriendLinkExample.java

@@ -26,6 +26,11 @@ public class FriendLinkExample implements Serializable {
     private Integer linkId;
 
     /**
+     * 站点
+     */
+    private String webSite;
+
+    /**
      * 链接名称
      */
     private String linkName;

+ 3 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/cms/pojo/FriendLink.java

@@ -14,6 +14,9 @@ public class FriendLink implements Serializable {
     @ApiModelProperty("链接id")
     private Integer linkId;
 
+    @ApiModelProperty("站点")
+    private String webSite;
+
     @ApiModelProperty("链接名称")
     private String linkName;
 

+ 5 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/system/example/NavigationExample.java

@@ -24,6 +24,11 @@ public class NavigationExample implements Serializable {
     private Integer navId;
 
     /**
+     * 站点
+     */
+    private String webSite;
+
+    /**
      * 导航名称
      */
     private String navName;

+ 5 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/system/example/PcFirstAdvExample.java

@@ -24,6 +24,11 @@ public class PcFirstAdvExample implements Serializable {
     private Integer advId;
 
     /**
+     * 站点
+     */
+    private String webSite;
+
+    /**
      * 弹层广告数据
      */
     private String data;

+ 3 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/system/pojo/Navigation.java

@@ -14,6 +14,9 @@ public class Navigation implements Serializable {
     @ApiModelProperty("导航id")
     private Integer navId;
 
+    @ApiModelProperty("站点")
+    private String webSite;
+
     @ApiModelProperty("导航名称")
     private String navName;
 

+ 7 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/system/pojo/PcFirstAdv.java

@@ -11,6 +11,13 @@ import java.io.Serializable;
 @Data
 public class PcFirstAdv implements Serializable {
     private static final long serialVersionUID = -8097888524748390485L;
+
+    @ApiModelProperty("id")
+    private Integer id;
+
+    @ApiModelProperty("站点")
+    private String webSite;
+
     @ApiModelProperty("广告id")
     private Integer advId;
 

+ 1 - 1
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/system/pojo/TplPcMallData.java

@@ -15,7 +15,7 @@ public class TplPcMallData implements Serializable {
     @ApiModelProperty("装修模板数据id")
     private Integer dataId;
 
-    @ApiModelProperty("装修模板数据站点")
+    @ApiModelProperty("装修模板数据站点")
     private String  webSite;
 
     @ApiModelProperty("装修模板id")

+ 3 - 1
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/cms/admin/AdminFriendLinkController.java

@@ -39,14 +39,16 @@ public class AdminFriendLinkController {
 
     @ApiOperation("合作伙伴列表")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点", paramType = "query"),
             @ApiImplicitParam(name = "linkName", value = "合作伙伴名称", paramType = "query"),
             @ApiImplicitParam(name = "pageSize", value = "分页大小", defaultValue = "20", paramType = "query"),
             @ApiImplicitParam(name = "current", value = "当前页面位置", defaultValue = "1", paramType = "query")
     })
     @GetMapping("list")
-    public JsonResult<PageVO<FriendLinkVO>> getList(HttpServletRequest request, @RequestParam(value = "linkName", required = false) String linkName) {
+    public JsonResult<PageVO<FriendLinkVO>> getList(HttpServletRequest request, @RequestParam(value = "webSite", required = false) String webSite, @RequestParam(value = "linkName", required = false) String linkName) {
         PagerInfo pager = WebUtil.handlerPagerInfo(request);
         FriendLinkExample example = new FriendLinkExample();
+        example.setWebSite(webSite);
         example.setLinkNameLike(linkName);
         List<FriendLink> list = friendLinkModel.getFriendLinkList(example, pager);
         ArrayList<FriendLinkVO> vos = new ArrayList<>();

+ 1 - 2
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/goods/seller/GoodsCategorySellerController.java

@@ -203,8 +203,7 @@ public class GoodsCategorySellerController {
         Vendor vendor = UserUtil.getUser(request, Vendor.class);
         //店铺申请经营类目和商户入驻选择经营类目用到此接口
         GoodsCategoryExample example = new GoodsCategoryExample();
-        //TODO: 2025/07/31 临时处理,待完善
-//      example.setWebSite(webSite);
+        example.setWebSite(webSite);
         example.setState(GoodsCategoryConst.CATEGORY_STATE_1);
         example.setGrade(GoodsCategoryConst.CATEGORY_GRADE_3);
         List<GoodsCategory> list = goodsCategoryModel.getGoodsCategoryList(example, null);

+ 19 - 5
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/admin/AdminFlowAnalysisController.java

@@ -55,12 +55,13 @@ public class AdminFlowAnalysisController extends BaseController {
 
     @ApiOperation("流量总览")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true),
             @ApiImplicitParam(name = "terminalType", value = "终端类型:Android,IOS,pc,H5,xcx 默认全部不传")
     })
     @GetMapping("flowOverview")
-    public JsonResult<FlowOverviewVO> flowOverview(HttpServletRequest request, Date startTime, Date endTime, String terminalType) {
+    public JsonResult<FlowOverviewVO> flowOverview(HttpServletRequest request, String webSite, Date startTime, Date endTime, String terminalType) {
         StatsTimeType timeType = StatsTimeType.checkTimeType(startTime, endTime, false);
         //上期开始时间和结束时间
         Date preStartTime;
@@ -93,13 +94,13 @@ public class AdminFlowAnalysisController extends BaseController {
             }
         } else {
             //终端类型为空,查询平台数据
-            List<? extends PlatformBase> list = statsModelUtil.getPlatformList(timeType, startTime, endTime);
+            List<? extends PlatformBase> list = statsModelUtil.getPlatformList(timeType,webSite, startTime, endTime);
             if (!CollectionUtils.isEmpty(list)) {
                 PlatformBase platformBase = list.get(0);
                 //上期数据
                 PlatformBase previousData = null;
                 if (preStartTime != null) {
-                    List<? extends PlatformBase> previousList = statsModelUtil.getPlatformList(timeType, preStartTime, preEndTime);
+                    List<? extends PlatformBase> previousList = statsModelUtil.getPlatformList(timeType,webSite, preStartTime, preEndTime);
                     if (!CollectionUtils.isEmpty(previousList)) {
                         previousData = previousList.get(0);
                     }
@@ -189,7 +190,7 @@ public class AdminFlowAnalysisController extends BaseController {
     @GetMapping("goodsFlowRank")
     public JsonResult<List<GoodsRankVO>> goodsFlowRank(HttpServletRequest request, Date startTime, Date endTime,@RequestParam(name = "webSite", required = false,defaultValue = "1") String webSite,Integer sort) {
         StatsTimeType timeType = StatsTimeType.checkTimeType(startTime, endTime, false);
-        List<? extends GoodsBase> list = statsModelUtil.getGoodsList(timeType, startTime, endTime,webSite , sort, "flow", null);
+        List<? extends GoodsBase> list = statsModelUtil.getGoodsList(timeType, startTime, endTime, webSite, sort, "flow", null);
         List<GoodsRankVO> vos = new ArrayList<>();
         if (!CollectionUtils.isEmpty(list)) {
             list.forEach(goodsBase -> {
@@ -204,6 +205,7 @@ public class AdminFlowAnalysisController extends BaseController {
 
     @ApiOperation("流量报表(按天)")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true),
             @ApiImplicitParam(name = "type", value = "排序类型;desc-降序;asc-升序;默认类型为降序"),
@@ -213,7 +215,9 @@ public class AdminFlowAnalysisController extends BaseController {
             @ApiImplicitParam(name = "current", value = "当前页面位置", defaultValue = "1", paramType = "query")
     })
     @GetMapping("flowReport")
-    public JsonResult<PageVO<FlowReportVO>> flowReport(HttpServletRequest request, Date startTime, Date endTime,
+    public JsonResult<PageVO<FlowReportVO>> flowReport(HttpServletRequest request,
+                                                       @RequestParam(value = "webSite", required = false, defaultValue = "1") String webSite,
+                                                       Date startTime, Date endTime,
                                                        @RequestParam(value = "type", required = false, defaultValue = "desc") String type,
                                                        @RequestParam(value = "sort", required = false, defaultValue = "stats_time") String sort) {
         PagerInfo pager = WebUtil.handlerPagerInfo(request);
@@ -221,6 +225,7 @@ public class AdminFlowAnalysisController extends BaseController {
         example.setStatsTimeAfter(startTime);
         example.setStatsTimeBefore(endTime);
         example.setOrderBy(sort + " " + type);
+        example.setWebSite(webSite);
         List<PlatformDay> list = platformDayModel.getPlatformDayList(example, pager);
         List<FlowReportVO> vos = new ArrayList<>();
         if (!CollectionUtils.isEmpty(list)) {
@@ -233,6 +238,7 @@ public class AdminFlowAnalysisController extends BaseController {
 
     @ApiOperation("流量报表(按店铺)")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true),
             @ApiImplicitParam(name = "storeName", value = "店铺名称"),
@@ -244,6 +250,7 @@ public class AdminFlowAnalysisController extends BaseController {
     })
     @GetMapping("storeReport")
     public JsonResult<PageVO<AdminFlowReportVO>> storeReport(HttpServletRequest request, Date startTime, Date endTime, String storeName,
+                                                             @RequestParam(value = "webSite", required = false, defaultValue = "1") String webSite,
                                                              @RequestParam(value = "type", required = false, defaultValue = "desc") String type,
                                                              @RequestParam(value = "sort", required = false, defaultValue = "visitorNum") String sort) {
         PagerInfo pager = WebUtil.handlerPagerInfo(request);
@@ -251,6 +258,7 @@ public class AdminFlowAnalysisController extends BaseController {
         example.setStatsTimeAfter(startTime);
         example.setStatsTimeBefore(endTime);
         example.setStoreNameLike(storeName);
+        example.setWebSite(webSite);
         example.setOrderBy(sort + " " + type);
         List<StoreBase> list = storeDayModel.getStoreList(example, pager);
         List<AdminFlowReportVO> vos = new ArrayList<>();
@@ -264,6 +272,7 @@ public class AdminFlowAnalysisController extends BaseController {
 
     @ApiOperation("导出报表(按天)")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true),
             @ApiImplicitParam(name = "type", value = "排序类型;desc-降序;asc-升序;默认类型为降序"),
@@ -272,11 +281,13 @@ public class AdminFlowAnalysisController extends BaseController {
     })
     @GetMapping("dayExport")
     public JsonResult dayExport(HttpServletRequest request, HttpServletResponse response, Date startTime, Date endTime,
+                                @RequestParam(value = "webSite", required = false, defaultValue = "1")String webSite,
                                 @RequestParam(value = "type", required = false, defaultValue = "desc") String type,
                                 @RequestParam(value = "sort", required = false, defaultValue = "stats_time") String sort) {
         PlatformDayExample example = new PlatformDayExample();
         example.setStatsTimeAfter(startTime);
         example.setStatsTimeBefore(endTime);
+        example.setWebSite(webSite);
         example.setOrderBy(sort + " " + type);
         platformDayModel.flowReportExport(request, response, example);
         return null;
@@ -284,6 +295,7 @@ public class AdminFlowAnalysisController extends BaseController {
 
     @ApiOperation("导出报表(按店铺)")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true),
             @ApiImplicitParam(name = "storeName", value = "店铺名称"),
@@ -293,12 +305,14 @@ public class AdminFlowAnalysisController extends BaseController {
     })
     @GetMapping("storeExport")
     public JsonResult storeExport(HttpServletRequest request, HttpServletResponse response, Date startTime, Date endTime, String storeName,
+                                  @RequestParam(value = "webSite", required = false, defaultValue = "1")String webSite,
                                   @RequestParam(value = "type", required = false, defaultValue = "desc") String type,
                                   @RequestParam(value = "sort", required = false, defaultValue = "visitorNum") String sort) {
         StoreDayExample example = new StoreDayExample();
         example.setStatsTimeAfter(startTime);
         example.setStatsTimeBefore(endTime);
         example.setStoreNameLike(storeName);
+        example.setWebSite(webSite);
         example.setOrderBy(sort + " " + type);
         storeDayModel.storeFlowReportExport(request, response, example);
         return null;

+ 15 - 7
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/admin/AdminGoodsAnalysisController.java

@@ -57,26 +57,29 @@ public class AdminGoodsAnalysisController extends BaseController {
 
     @ApiOperation("商品总览(商品总数和品牌总数)")
     @GetMapping("goodsBrandNum")
-    public JsonResult<GoodsBrandNumVO> goodsBrandNum(HttpServletRequest request) {
+    public JsonResult<GoodsBrandNumVO> goodsBrandNum(HttpServletRequest request,String webSite) {
         GoodsBrandNumVO vo = new GoodsBrandNumVO();
         GoodsExample example = new GoodsExample();
         example.setStateNotEquals(GoodsConst.GOODS_STATE_DELETE);
+        example.setWebSite(webSite);
         vo.setGoodsTotalNum(goodsModel.getGoodsCount(example));
         GoodsBrandExample brandExample = new GoodsBrandExample();
         brandExample.setStateNotEquals(GoodsConst.BRAND_STATE_4);
+        brandExample.setWebSite(webSite);
         vo.setBrandTotalNum(goodsBrandModel.getBrandCount(brandExample));
         return SldResponse.success(vo);
     }
 
     @ApiOperation("商品总览")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true)
     })
     @GetMapping("goodsOverview")
-    public JsonResult<GoodsOverviewVO> goodsOverview(HttpServletRequest request, Date startTime, Date endTime) {
+    public JsonResult<GoodsOverviewVO> goodsOverview(HttpServletRequest request, String webSite,Date startTime, Date endTime) {
         StatsTimeType timeType = StatsTimeType.checkTimeType(startTime, endTime, false);
-        List<? extends PlatformBase> list = statsModelUtil.getPlatformList(timeType, startTime, endTime);
+        List<? extends PlatformBase> list = statsModelUtil.getPlatformList(timeType, webSite, startTime, endTime);
         GoodsOverviewVO vo = new GoodsOverviewVO();
         if (!CollectionUtils.isEmpty(list)) {
             PlatformBase platformBase = list.get(0);
@@ -93,7 +96,7 @@ public class AdminGoodsAnalysisController extends BaseController {
                 preEndTime = StatsTimeType.getEndTime(endTime, timeType);
             }
             if (preStartTime != null) {
-                List<? extends PlatformBase> previousList = statsModelUtil.getPlatformList(timeType, preStartTime, preEndTime);
+                List<? extends PlatformBase> previousList = statsModelUtil.getPlatformList(timeType, webSite, preStartTime, preEndTime);
                 if (!CollectionUtils.isEmpty(previousList)) {
                     previousData = previousList.get(0);
                 }
@@ -157,16 +160,17 @@ public class AdminGoodsAnalysisController extends BaseController {
 
     @ApiOperation("品牌销售排行-TOP10")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true),
             @ApiImplicitParam(name = "sort", value = "排序:1-销售额;2-销量 默认不传按销售额降序")
     })
     @GetMapping("brandSalesRank")
-    public JsonResult<List<BrandRankVO>> brandSalesRank(HttpServletRequest request, Date startTime, Date endTime, Integer sort) {
+    public JsonResult<List<BrandRankVO>> brandSalesRank(HttpServletRequest request,String webSite, Date startTime, Date endTime, Integer sort) {
         StatsTimeType timeType = StatsTimeType.checkTimeType(startTime, endTime, false);
         //默认查询前十条数据
         PagerInfo pager = new PagerInfo(10, 1);
-        List<? extends BrandBase> list = statsModelUtil.getBrandList(timeType, startTime, endTime, sort, pager);
+        List<? extends BrandBase> list = statsModelUtil.getBrandList(timeType, webSite, startTime, endTime, sort, pager);
         List<BrandRankVO> vos = new ArrayList<>();
         if (!CollectionUtils.isEmpty(list)) {
             list.forEach(brandBase -> {
@@ -222,6 +226,7 @@ public class AdminGoodsAnalysisController extends BaseController {
 
     @ApiOperation("商品报表(按天)")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true),
             @ApiImplicitParam(name = "type", value = "排序类型;desc-降序;asc-升序;默认类型为降序"),
@@ -231,7 +236,9 @@ public class AdminGoodsAnalysisController extends BaseController {
             @ApiImplicitParam(name = "current", value = "当前页面位置", defaultValue = "1", paramType = "query")
     })
     @GetMapping("dayReport")
-    public JsonResult<PageVO<GoodsReportVO>> dayReport(HttpServletRequest request, Date startTime, Date endTime,
+    public JsonResult<PageVO<GoodsReportVO>> dayReport(HttpServletRequest request,
+                                                       String webSite,
+                                                       Date startTime, Date endTime,
                                                        @RequestParam(value = "type", required = false, defaultValue = "desc") String type,
                                                        @RequestParam(value = "sort", required = false, defaultValue = "stats_time") String sort) {
         PagerInfo pager = WebUtil.handlerPagerInfo(request);
@@ -239,6 +246,7 @@ public class AdminGoodsAnalysisController extends BaseController {
         PlatformDayExample example = new PlatformDayExample();
         example.setStatsTimeAfter(startTime);
         example.setStatsTimeBefore(endTime);
+        example.setWebSite(webSite);
         example.setOrderBy(sort + " " + type);
         List<PlatformDay> list = platformDayModel.getPlatformDayList(example, pager);
         if (!CollectionUtils.isEmpty(list)) {

+ 19 - 4
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/admin/AdminMemberAnalysisController.java

@@ -65,14 +65,16 @@ public class AdminMemberAnalysisController extends BaseController {
 
     @ApiOperation("会员总览(会员总数)")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "terminalType", value = "终端类型:Android,IOS,pc,H5,xcx 默认全部不传")
     })
     @GetMapping("memberNum")
-    public JsonResult memberNum(HttpServletRequest request, String terminalType) {
+    public JsonResult memberNum(HttpServletRequest request, String webSite,String terminalType) {
         MemberExample example = new MemberExample();
         if (!StringUtil.isEmpty(terminalType)) {
             example.setRegisterChannel(getMemberSource(terminalType));
         }
+        example.setWebSite(webSite);
         Map<String, Integer> map = new HashMap<>();
         map.put("memberNum", memberModel.getMemberCount(example));
         return SldResponse.success(map);
@@ -80,12 +82,13 @@ public class AdminMemberAnalysisController extends BaseController {
 
     @ApiOperation("会员总览")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true),
             @ApiImplicitParam(name = "terminalType", value = "终端类型:Android,IOS,pc,H5,xcx 默认全部不传")
     })
     @GetMapping("goodsOverview")
-    public JsonResult<MemberOverviewVO> goodsOverview(HttpServletRequest request, Date startTime, Date endTime, String terminalType) {
+    public JsonResult<MemberOverviewVO> goodsOverview(HttpServletRequest request,String webSite, Date startTime, Date endTime, String terminalType) {
         StatsTimeType timeType = StatsTimeType.checkTimeType(startTime, endTime, false);
         MemberOverviewVO vo = new MemberOverviewVO();
         //上期开始时间和结束时间
@@ -116,13 +119,13 @@ public class AdminMemberAnalysisController extends BaseController {
                 }
             }
         } else {
-            List<? extends PlatformBase> list = statsModelUtil.getPlatformList(timeType, startTime, endTime);
+            List<? extends PlatformBase> list = statsModelUtil.getPlatformList(timeType,webSite, startTime, endTime);
             if (!CollectionUtils.isEmpty(list)) {
                 PlatformBase platformBase = list.get(0);
                 //上期数据
                 PlatformBase previousData = null;
                 if (preStartTime != null) {
-                    List<? extends PlatformBase> previousList = statsModelUtil.getPlatformList(timeType, preStartTime, preEndTime);
+                    List<? extends PlatformBase> previousList = statsModelUtil.getPlatformList(timeType, webSite, preStartTime, preEndTime);
                     if (!CollectionUtils.isEmpty(previousList)) {
                         previousData = previousList.get(0);
                     }
@@ -220,6 +223,7 @@ public class AdminMemberAnalysisController extends BaseController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true),
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "type", value = "排序类型;desc-降序;asc-升序;默认类型为降序"),
             @ApiImplicitParam(name = "sort", value = "排序:stats_time-时间;new_member_num-新增会员数;recharge_member_num-储值会员数;" +
                     "order_submit_member_num-下单人数;order_pay_member_num-支付人数;默认按时间降序排序"),
@@ -228,12 +232,14 @@ public class AdminMemberAnalysisController extends BaseController {
     })
     @GetMapping("dayReport")
     public JsonResult<PageVO<PlatformMemberReportVO>> dayReport(HttpServletRequest request, Date startTime, Date endTime,
+                                                                @RequestParam(value = "webSite", required = false, defaultValue = "1") String webSite,
                                                                 @RequestParam(value = "type", required = false, defaultValue = "desc") String type,
                                                                 @RequestParam(value = "sort", required = false, defaultValue = "stats_time") String sort) {
         PagerInfo pager = WebUtil.handlerPagerInfo(request);
         PlatformDayExample example = new PlatformDayExample();
         example.setStatsTimeAfter(startTime);
         example.setStatsTimeBefore(endTime);
+        example.setWebSite(webSite);
         example.setOrderBy(sort + " " + type);
         List<PlatformDay> list = platformDayModel.getPlatformDayList(example, pager);
         List<PlatformMemberReportVO> vos = new ArrayList<>();
@@ -249,6 +255,7 @@ public class AdminMemberAnalysisController extends BaseController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true),
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "memberName", value = "会员名称"),
             @ApiImplicitParam(name = "registerStartTime", value = "注册开始时间"),
             @ApiImplicitParam(name = "registerEndTime", value = "注册结束时间"),
@@ -261,6 +268,7 @@ public class AdminMemberAnalysisController extends BaseController {
     @GetMapping("memberReport")
     public JsonResult<PageVO<MemberReportVO>> memberReport(HttpServletRequest request, Date startTime, Date endTime, String memberName,
                                                            Date registerStartTime, Date registerEndTime,
+                                                           @RequestParam(value = "webSite", required = false, defaultValue = "1") String webSite,
                                                            @RequestParam(value = "type", required = false, defaultValue = "desc") String type,
                                                            @RequestParam(value = "sort", required = false, defaultValue = "registerTime") String sort) {
         PagerInfo pager = WebUtil.handlerPagerInfo(request);
@@ -270,6 +278,7 @@ public class AdminMemberAnalysisController extends BaseController {
         example.setMemberNameLike(memberName);
         example.setRegisterTimeAfter(registerStartTime);
         example.setRegisterTimeBefore(registerEndTime);
+        example.setWebSite(webSite);
         example.setOrderBy(sort + " " + type);
         List<MemberBase> list = memberDayModel.getMemberList(example, pager);
         List<MemberReportVO> vos = new ArrayList<>();
@@ -285,17 +294,20 @@ public class AdminMemberAnalysisController extends BaseController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true),
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "type", value = "排序类型;desc-降序;asc-升序;默认类型为降序"),
             @ApiImplicitParam(name = "sort", value = "排序:stats_time-时间;new_member_num-新增会员数;recharge_member_num-储值会员数;" +
                     "order_submit_member_num-下单人数;order_pay_member_num-支付人数;默认按时间降序排序")
     })
     @GetMapping("dayExport")
     public JsonResult dayExport(HttpServletRequest request, HttpServletResponse response, Date startTime, Date endTime,
+                                @RequestParam(value = "webSite", required = false, defaultValue = "1") String webSite,
                                 @RequestParam(value = "type", required = false, defaultValue = "desc") String type,
                                 @RequestParam(value = "sort", required = false, defaultValue = "stats_time") String sort) {
         PlatformDayExample example = new PlatformDayExample();
         example.setStatsTimeAfter(startTime);
         example.setStatsTimeBefore(endTime);
+        example.setWebSite(webSite);
         example.setOrderBy(sort + " " + type);
         platformDayModel.memberReportExport(request, response, example);
         return null;
@@ -305,6 +317,7 @@ public class AdminMemberAnalysisController extends BaseController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true),
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "memberName", value = "会员名称"),
             @ApiImplicitParam(name = "registerStartTime", value = "注册开始时间"),
             @ApiImplicitParam(name = "registerEndTime", value = "注册结束时间"),
@@ -315,6 +328,7 @@ public class AdminMemberAnalysisController extends BaseController {
     @GetMapping("memberExport")
     public JsonResult memberExport(HttpServletRequest request, HttpServletResponse response, Date startTime, Date endTime, String memberName,
                                    Date registerStartTime, Date registerEndTime,
+                                   @RequestParam(value = "webSite", required = false, defaultValue = "1") String webSite,
                                    @RequestParam(value = "type", required = false, defaultValue = "desc") String type,
                                    @RequestParam(value = "sort", required = false, defaultValue = "registerTime") String sort) {
         MemberDayExample example = new MemberDayExample();
@@ -323,6 +337,7 @@ public class AdminMemberAnalysisController extends BaseController {
         example.setMemberNameLike(memberName);
         example.setRegisterTimeAfter(registerStartTime);
         example.setRegisterTimeBefore(registerEndTime);
+        example.setWebSite(webSite);
         example.setOrderBy(sort + " " + type);
         memberDayModel.memberReportExport(request, response, example);
         return null;

+ 4 - 2
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/admin/AdminOverviewController.java

@@ -450,18 +450,20 @@ public class AdminOverviewController extends BaseController {
 
     @ApiOperation("品牌销售占比")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true),
             @ApiImplicitParam(name = "sort", value = "排序:1-销售额;2-销量 默认不传按销售额降序")
     })
     @GetMapping("brandSalesPercent")
-    public JsonResult<BrandPercentVO> brandSalesPercent(HttpServletRequest request, Date startTime, Date endTime, Integer sort) {
+    public JsonResult<BrandPercentVO> brandSalesPercent(HttpServletRequest request,String webSite, Date startTime, Date endTime, Integer sort) {
         StatsTimeType timeType = StatsTimeType.checkTimeType(startTime, endTime, false);
         List<? extends BrandBase> list;
         if (timeType.equals(StatsTimeType.DAY)) {
             BrandDayExample example = new BrandDayExample();
             example.setStatsTimeAfter(startTime);
             example.setStatsTimeBefore(endTime);
+            example.setWebSite(webSite);
             if (!StringUtil.isNullOrZero(sort) && sort == 2) {
                 example.setOrderBy("saleNum DESC");
             } else {
@@ -469,7 +471,7 @@ public class AdminOverviewController extends BaseController {
             }
             list = brandDayModel.getBrandList(example, null);
         } else {
-            list = statsModelUtil.getBrandList(timeType, startTime, endTime, sort, null);
+            list = statsModelUtil.getBrandList(timeType, webSite, startTime, endTime, sort, null);
         }
         BrandPercentVO vo = getBrandSalesPercent(list);
         return SldResponse.success(vo);

+ 2 - 2
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/admin/AdminPresentAnalysisController.java

@@ -47,7 +47,7 @@ public class AdminPresentAnalysisController {
             DateTime startTime = DateUtil.beginOfDay(endTime);//今日0时开始
 
             //计算实时统计数据
-            AdminPresentDataVO vo = platformPresentDataUtil.calculatePresentData(startTime, endTime,webSite);
+            AdminPresentDataVO vo = platformPresentDataUtil.calculatePresentData(startTime, endTime, webSite);
 
             //缓存数据
             objectRedisTemplate.opsForHash().put(StatsConstant.ADMIN_PRESENT_REDIS_KEY + "_" + webSite, StatsConstant.ADMIN_PRESENT_REDIS_KEY + "_" + webSite, vo);
@@ -63,7 +63,7 @@ public class AdminPresentAnalysisController {
             DateTime startTime = DateUtil.beginOfDay(endTime);//今日0时开始
 
             //计算实时统计数据
-            AdminPresentDataVO vo = platformPresentDataUtil.calculatePresentData(startTime, endTime,webSite);
+            AdminPresentDataVO vo = platformPresentDataUtil.calculatePresentData(startTime, endTime, webSite);
 
             //缓存数据
             objectRedisTemplate.opsForHash().put(StatsConstant.ADMIN_PRESENT_REDIS_KEY + "_" + webSite, StatsConstant.ADMIN_PRESENT_REDIS_KEY + "_" + webSite, vo);

+ 24 - 7
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/admin/AdminStoreAnalysisController.java

@@ -10,11 +10,15 @@ import com.slodon.b2b2c.core.util.StringUtil;
 import com.slodon.b2b2c.core.util.WebUtil;
 import com.slodon.b2b2c.enums.ProvinceJson;
 import com.slodon.b2b2c.enums.StatsTimeType;
+import com.slodon.b2b2c.enums.WebSiteConstant;
 import com.slodon.b2b2c.model.seller.StoreModel;
+import com.slodon.b2b2c.model.seller.StoreSiteInfoModel;
 import com.slodon.b2b2c.model.statistics.StoreDayModel;
 import com.slodon.b2b2c.seller.dto.StoreStatisticsDTO;
 import com.slodon.b2b2c.seller.example.StoreExample;
+import com.slodon.b2b2c.seller.example.StoreSiteInfoExample;
 import com.slodon.b2b2c.seller.pojo.Store;
+import com.slodon.b2b2c.seller.pojo.StoreSiteInfo;
 import com.slodon.b2b2c.statistics.example.StoreDayExample;
 import com.slodon.b2b2c.statistics.pojo.base.PlatformBase;
 import com.slodon.b2b2c.statistics.pojo.base.StoreBase;
@@ -47,6 +51,8 @@ public class AdminStoreAnalysisController extends BaseController {
     private StatsModelUtil statsModelUtil;
     @Resource
     private StoreModel storeModel;
+    @Resource
+    private StoreSiteInfoModel storeSiteInfoModel;
 
     @ApiOperation("店铺总览(店铺总数)")
     @GetMapping("storeNum")
@@ -60,14 +66,15 @@ public class AdminStoreAnalysisController extends BaseController {
 
     @ApiOperation("店铺总览")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true)
     })
     @GetMapping("storeOverview")
-    public JsonResult<StoreOverviewVO> storeOverview(HttpServletRequest request, Date startTime, Date endTime) {
+    public JsonResult<StoreOverviewVO> storeOverview(HttpServletRequest request,String webSite, Date startTime, Date endTime) {
         StatsTimeType timeType = StatsTimeType.checkTimeType(startTime, endTime, false);
         StoreOverviewVO vo = new StoreOverviewVO();
-        List<? extends PlatformBase> list = statsModelUtil.getPlatformList(timeType, startTime, endTime);
+        List<? extends PlatformBase> list = statsModelUtil.getPlatformList(timeType, webSite, startTime, endTime);
         if (!CollectionUtils.isEmpty(list)) {
             PlatformBase platformBase = list.get(0);
             //上期数据
@@ -83,7 +90,7 @@ public class AdminStoreAnalysisController extends BaseController {
                 preEndTime = StatsTimeType.getEndTime(endTime, timeType);
             }
             if (preStartTime != null) {
-                List<? extends PlatformBase> previousList = statsModelUtil.getPlatformList(timeType, preStartTime, preEndTime);
+                List<? extends PlatformBase> previousList = statsModelUtil.getPlatformList(timeType, webSite, preStartTime, preEndTime);
                 if (!CollectionUtils.isEmpty(previousList)) {
                     previousData = previousList.get(0);
                 }
@@ -130,10 +137,10 @@ public class AdminStoreAnalysisController extends BaseController {
 
     @ApiOperation("店铺等级分布占比")
     @GetMapping("gradePercent")
-    public JsonResult<List<StoreGradePercentVO>> gradePercent(HttpServletRequest request) {
+    public JsonResult<List<StoreGradePercentVO>> gradePercent(HttpServletRequest request,String webSite) {
         StoreExample example = new StoreExample();
         List<Store> list = storeModel.getStoreList(example, null);
-        List<StoreGradePercentVO> vos = getStoreGradePercent(list);
+        List<StoreGradePercentVO> vos = getStoreGradePercent(list, webSite);
         return SldResponse.success(vos);
     }
 
@@ -246,7 +253,7 @@ public class AdminStoreAnalysisController extends BaseController {
      * @param list
      * @return
      */
-    public List<StoreGradePercentVO> getStoreGradePercent(List<Store> list) {
+    public List<StoreGradePercentVO> getStoreGradePercent(List<Store> list, String webSite) {
         List<StoreGradePercentVO> result = new ArrayList<>();
         if (CollectionUtils.isEmpty(list)) {
             return result;
@@ -256,13 +263,23 @@ public class AdminStoreAnalysisController extends BaseController {
         //key为等级名称,value为店铺数量
         Map<String, Integer> dataMap = new HashMap<>();
         for (Store store : list) {
-            String gradeName = StringUtil.isEmpty(store.getStoreGradeName()) ? ProvinceJson.defaultProvinceName : store.getStoreGradeName();
+            String gradeName;
+            if(WebSiteConstant.MEMBER_DISTRIBUTOR.equals(webSite)){
+                StoreSiteInfoExample example = new StoreSiteInfoExample();
+                example.setStoreId(store.getStoreId());
+                example.setWebSite(webSite);
+                StoreSiteInfo storeSiteInfo = storeSiteInfoModel.getStoreSiteInfo(example);
+                gradeName = null != storeSiteInfo ? storeSiteInfo.getStoreGradeName() : ProvinceJson.defaultProvinceName;
+            }else {
+               gradeName = StringUtil.isEmpty(store.getStoreGradeName()) ? ProvinceJson.defaultProvinceName : store.getStoreGradeName();
+            }
             if (dataMap.containsKey(gradeName)) {
                 dataMap.put(gradeName, dataMap.get(gradeName) + 1);
             } else {
                 //第一次进来默认1
                 dataMap.put(gradeName, 1);
             }
+
         }
         List<Map.Entry<String, Integer>> mapList = new ArrayList<>(dataMap.entrySet());
         //排序

+ 7 - 4
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/admin/AdminTradeAnalysisController.java

@@ -54,12 +54,13 @@ public class AdminTradeAnalysisController extends BaseController {
 
     @ApiOperation("交易总览")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "startTime", value = "开始时间", required = true),
             @ApiImplicitParam(name = "endTime", value = "结束时间", required = true),
             @ApiImplicitParam(name = "terminalType", value = "终端类型:Android,IOS,pc,H5,xcx 默认全部不传")
     })
     @GetMapping("tradeOverview")
-    public JsonResult<TradeOverviewVO> tradeOverview(HttpServletRequest request, Date startTime, Date endTime, String terminalType) {
+    public JsonResult<TradeOverviewVO> tradeOverview(HttpServletRequest request,String webSite, Date startTime, Date endTime, String terminalType) {
         StatsTimeType timeType = StatsTimeType.checkTimeType(startTime, endTime, false);
         //上期开始时间和结束时间
         Date preStartTime;
@@ -92,13 +93,13 @@ public class AdminTradeAnalysisController extends BaseController {
             }
         } else {
             //终端类型为空,查询平台数据
-            List<? extends PlatformBase> list = statsModelUtil.getPlatformList(timeType, startTime, endTime);
+            List<? extends PlatformBase> list = statsModelUtil.getPlatformList(timeType, webSite, startTime, endTime);
             if (!CollectionUtils.isEmpty(list)) {
                 PlatformBase platformBase = list.get(0);
                 //上期数据
                 PlatformBase previousData = null;
                 if (preStartTime != null) {
-                    List<? extends PlatformBase> previousList = statsModelUtil.getPlatformList(timeType, preStartTime, preEndTime);
+                    List<? extends PlatformBase> previousList = statsModelUtil.getPlatformList(timeType, webSite, preStartTime, preEndTime);
                     if (!CollectionUtils.isEmpty(previousList)) {
                         previousData = previousList.get(0);
                     }
@@ -113,10 +114,11 @@ public class AdminTradeAnalysisController extends BaseController {
 
     @ApiOperation("近30天变化趋势(与流量分析共用)")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "terminalTypes", value = "终端类型:android,ios,pc,h5,xcx 默认全部")
     })
     @GetMapping("changeTrend")
-    public JsonResult<List<ChangeTrendVO>> changeTrend(HttpServletRequest request, String terminalTypes) {
+    public JsonResult<List<ChangeTrendVO>> changeTrend(HttpServletRequest request, String webSite, String terminalTypes) {
         //获取当前时间30天之前的时间
         Calendar calendar = Calendar.getInstance();
         calendar.add(Calendar.DATE, -30);
@@ -127,6 +129,7 @@ public class AdminTradeAnalysisController extends BaseController {
             PlatformDayExample example = new PlatformDayExample();
             example.setStatsTimeAfter(startTime);
             example.setOrderBy("stats_time ASC");
+            example.setWebSite(webSite);
             List<PlatformDay> list = platformDayModel.getPlatformDayList(example, null);
             if (!CollectionUtils.isEmpty(list)) {
                 list.forEach(platformDay -> {

+ 16 - 10
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/system/admin/AdminNavigationController.java

@@ -34,17 +34,19 @@ public class AdminNavigationController extends BaseController {
 
     @ApiOperation("导航列表")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点", paramType = "query"),
             @ApiImplicitParam(name = "navName", value = "导航名称", paramType = "query"),
             @ApiImplicitParam(name = "pageSize", value = "分页大小", defaultValue = "20", paramType = "query"),
             @ApiImplicitParam(name = "current", value = "当前页面位置", defaultValue = "1", paramType = "query")
     })
     @GetMapping("list")
-    public JsonResult<PageVO<Navigation>> list(HttpServletRequest request, String navName) {
+    public JsonResult<PageVO<Navigation>> list(HttpServletRequest request, String webSite, String navName) {
         PagerInfo pager = WebUtil.handlerPagerInfo(request);
         NavigationExample example = new NavigationExample();
-        if(!StringUtil.isEmpty(navName)){
-            if(navName.contains("&amp;")){
-                navName = navName.replace("&amp;","&");
+        example.setWebSite(webSite);
+        if (!StringUtil.isEmpty(navName)) {
+            if (navName.contains("&amp;")) {
+                navName = navName.replace("&amp;", "&");
             }
         }
         example.setNavNameLike(navName);
@@ -54,6 +56,7 @@ public class AdminNavigationController extends BaseController {
 
     @ApiOperation("添加导航")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点", paramType = "query"),
             @ApiImplicitParam(name = "navName", value = "导航名称", required = true),
             @ApiImplicitParam(name = "sort", value = "排序", required = true),
             @ApiImplicitParam(name = "isShow", value = "是否显示,0:否;1:是"),
@@ -61,10 +64,11 @@ public class AdminNavigationController extends BaseController {
     })
     @OperationLogger(option = "添加导航")
     @PostMapping("add")
-    public JsonResult addNavigation(HttpServletRequest request, String navName, Integer sort, Integer isShow, String data) {
+    public JsonResult addNavigation(HttpServletRequest request, String webSite, String navName, Integer sort, Integer isShow, String data) {
         Navigation navigation = new Navigation();
-        if(navName.contains("&amp;")){
-            navName = navName.replace("&amp;","&");
+        navigation.setWebSite(webSite);
+        if (navName.contains("&amp;")) {
+            navName = navName.replace("&amp;", "&");
         }
         navigation.setNavName(navName);
         navigation.setSort(sort);
@@ -76,6 +80,7 @@ public class AdminNavigationController extends BaseController {
 
     @ApiOperation("修改导航")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点", paramType = "query"),
             @ApiImplicitParam(name = "navId", value = "导航id", required = true),
             @ApiImplicitParam(name = "navName", value = "导航名称", required = true),
             @ApiImplicitParam(name = "sort", value = "排序", required = true),
@@ -84,11 +89,12 @@ public class AdminNavigationController extends BaseController {
     })
     @OperationLogger(option = "修改导航")
     @PostMapping("update")
-    public JsonResult updateNavigation(HttpServletRequest request, Integer navId, String navName, Integer sort, Integer isShow, String data) {
+    public JsonResult updateNavigation(HttpServletRequest request, String webSite, Integer navId, String navName, Integer sort, Integer isShow, String data) {
         Navigation navigation = new Navigation();
         navigation.setNavId(navId);
-        if(navName.contains("&amp;")){
-            navName = navName.replace("&amp;","&");
+        navigation.setWebSite(webSite);
+        if (navName.contains("&amp;")) {
+            navName = navName.replace("&amp;", "&");
         }
         navigation.setNavName(navName);
         navigation.setSort(sort);

+ 14 - 6
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/system/admin/AdminPcDecoController.java

@@ -48,6 +48,7 @@ public class AdminPcDecoController extends BaseController {
 
     @ApiOperation("首页装修列表")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点", paramType = "query"),
             @ApiImplicitParam(name = "decoType", value = "装修页类型", paramType = "query"),
             @ApiImplicitParam(name = "decoName", value = "装修页名称", paramType = "query"),
             @ApiImplicitParam(name = "isEnable", value = "是否启用,0==不启用;1==启用", paramType = "query"),
@@ -56,11 +57,13 @@ public class AdminPcDecoController extends BaseController {
     })
     @GetMapping("list")
     public JsonResult<PageVO<TplPcMallDecoVO>> list(HttpServletRequest request,
+                                                    @RequestParam(value = "webSite", required = false)  String webSite,
                                                     @RequestParam(value = "decoType", required = false) String decoType,
                                                     @RequestParam(value = "decoName", required = false) String decoName,
                                                     @RequestParam(value = "isEnable", required = false) Integer isEnable) {
         PagerInfo pager = WebUtil.handlerPagerInfo(request);
         TplPcMallDecoExample example = new TplPcMallDecoExample();
+        example.setWebSite(webSite);
         example.setDecoType(decoType);
         example.setDecoNameLike(decoName);
         example.setIsEnable(isEnable);
@@ -89,15 +92,17 @@ public class AdminPcDecoController extends BaseController {
 
     @ApiOperation("添加装修页")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "decoType", value = "装修页类型", required = true),
             @ApiImplicitParam(name = "decoName", value = "装修页名称", required = true)
     })
     @OperationLogger(option = "添加装修页")
     @PostMapping("add")
-    public JsonResult add(HttpServletRequest request, String decoType, String decoName) {
+    public JsonResult add(HttpServletRequest request,String webSite, String decoType, String decoName) {
         Admin adminUser = UserUtil.getUser(request, Admin.class);
 
         TplPcMallDeco tplPcMallDeco = new TplPcMallDeco();
+        tplPcMallDeco.setWebSite(webSite);
         tplPcMallDeco.setDecoType(decoType);
         tplPcMallDeco.setDecoName(decoName);
         tplPcMallDeco.setIsEnable(TplPcConst.IS_ENABLE_NO);
@@ -130,6 +135,7 @@ public class AdminPcDecoController extends BaseController {
 
         TplPcMallDeco tplPcMallDeco = new TplPcMallDeco();
         tplPcMallDeco.setDecoId(decoId);
+        tplPcMallDeco.setWebSite(tplPcMallDecoDb.getWebSite());
         tplPcMallDeco.setDecoType(decoType);
         tplPcMallDeco.setDecoName(decoName);
         tplPcMallDeco.setData(data);
@@ -145,6 +151,7 @@ public class AdminPcDecoController extends BaseController {
             //关闭其他开启的装修页
             TplPcMallDecoExample example = new TplPcMallDecoExample();
             example.setDecoIdNotEquals(decoId);
+            example.setWebSite(tplPcMallDecoDb.getWebSite());
             example.setDecoType(tplPcMallDecoDb.getDecoType());
             example.setIsEnable(TplPcConst.IS_ENABLE_YES);
             example.setStoreId(0L);
@@ -157,10 +164,10 @@ public class AdminPcDecoController extends BaseController {
         if ("index".equals(tplPcMallDecoDb.getDecoType()) && !StringUtil.isNullOrZero(isEnable) && isEnable == TplPcConst.IS_ENABLE_YES) {
             if (!StringUtil.isEmpty(data)) {
                 //如果不为空则存入redis
-                stringRedisTemplate.opsForValue().set(RedisConst.PC_INDEX, data);
+                stringRedisTemplate.opsForValue().set(RedisConst.PC_INDEX + "_" + tplPcMallDecoDb.getWebSite(), data);
             } else {
                 //如果为空则删除redis
-                stringRedisTemplate.delete(RedisConst.PC_INDEX);
+                stringRedisTemplate.delete(RedisConst.PC_INDEX + "_" + tplPcMallDecoDb.getWebSite());
             }
         }
         return SldResponse.success("修改成功", "装修页ID:" + tplPcMallDeco.getDecoId());
@@ -191,6 +198,7 @@ public class AdminPcDecoController extends BaseController {
             if (tplPcMallDecoDb.getDecoType().contains("index")) {
                 //关闭其他开启的装修页
                 TplPcMallDecoExample example = new TplPcMallDecoExample();
+                example.setWebSite(tplPcMallDecoDb.getWebSite());
                 example.setDecoType(tplPcMallDecoDb.getDecoType());
                 example.setIsEnable(TplPcConst.IS_ENABLE_YES);
                 example.setStoreId(0L);
@@ -206,10 +214,10 @@ public class AdminPcDecoController extends BaseController {
                 String data = tplPcMallDecoDb.getData();
                 if (!StringUtil.isEmpty(data)) {
                     //如果不为空则存入redis
-                    stringRedisTemplate.opsForValue().set(RedisConst.PC_INDEX, data);
+                    stringRedisTemplate.opsForValue().set(RedisConst.PC_INDEX + "_" + tplPcMallDecoDb.getWebSite(), data);
                 } else {
                     //如果为空则删除redis
-                    stringRedisTemplate.delete(RedisConst.PC_INDEX);
+                    stringRedisTemplate.delete(RedisConst.PC_INDEX + "_" + tplPcMallDecoDb.getWebSite());
                 }
             }
 
@@ -220,7 +228,7 @@ public class AdminPcDecoController extends BaseController {
 
             //如果装修页类型是首页,删除redis缓存数据
             if ("index".equals(tplPcMallDecoDb.getDecoType())) {
-                stringRedisTemplate.delete(RedisConst.PC_INDEX);
+                stringRedisTemplate.delete(RedisConst.PC_INDEX + "_" + tplPcMallDecoDb.getWebSite());
             }
 
             return SldResponse.success("停用成功", "装修页ID:" + decoId);

+ 21 - 4
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/system/admin/AdminPcFirstAdvController.java

@@ -5,15 +5,18 @@ import com.slodon.b2b2c.core.response.SldResponse;
 import com.slodon.b2b2c.aop.OperationLogger;
 import com.slodon.b2b2c.core.util.AssertUtil;
 import com.slodon.b2b2c.model.system.PcFirstAdvModel;
+import com.slodon.b2b2c.system.example.PcFirstAdvExample;
 import com.slodon.b2b2c.system.pojo.PcFirstAdv;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 @Api(tags = "admin-首页首页广告设置设置(开屏图、顶部广告)")
 @RestController
@@ -26,19 +29,33 @@ public class AdminPcFirstAdvController {
     @ApiOperation("获取pc首页广告")
     @GetMapping("get")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "webSite", value = "站点",defaultValue = "1"),
             @ApiImplicitParam(name = "type", value = "广告类型,1-弹层广告,2-顶部广告", required = false,defaultValue = "1")
     })
-    public JsonResult<PcFirstAdv> get(@RequestParam(value = "type",required = false,defaultValue = "1") Integer type) {
+    public JsonResult<PcFirstAdv> get(@RequestParam(value = "webSite",required = false,defaultValue = "1") String webSite,@RequestParam(value = "type",required = false,defaultValue = "1") Integer type) {
         AssertUtil.isTrue(type != 1 && type != 2 ,"参数不对");
-        PcFirstAdv pcFirstAdv = pcFirstAdvModel.getPcFirstAdvByAdvId(type);
-        return SldResponse.success(pcFirstAdv);
+        PcFirstAdvExample example=new PcFirstAdvExample();
+        example.setAdvId(type);
+        example.setWebSite(webSite);
+        List<PcFirstAdv> pcFirstAdvListList = pcFirstAdvModel.getPcFirstAdvList(example, null);
+        if (CollectionUtils.isEmpty(pcFirstAdvListList)){
+            return SldResponse.success();
+        }
+        return SldResponse.success(pcFirstAdvListList.get(0));
     }
 
     @ApiOperation("更新pc首页弹层广告")
     @OperationLogger(option = "更新pc首页广告")
     @PostMapping("update")
     public JsonResult update(HttpServletRequest request, PcFirstAdv pcFirstAdv) {
-        pcFirstAdvModel.updatePcFirstAdv(pcFirstAdv);
+
+        PcFirstAdv record = new PcFirstAdv();
+        record.setData(pcFirstAdv.getData());
+
+        PcFirstAdvExample example=new PcFirstAdvExample();
+        example.setAdvId(pcFirstAdv.getAdvId());
+        example.setWebSite(pcFirstAdv.getWebSite());
+        pcFirstAdvModel.updateByExampleSelective(record,example);
         return SldResponse.success("更新成功");
     }
 }

+ 10 - 3
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/system/admin/AdminTplPcController.java

@@ -77,6 +77,7 @@ public class AdminTplPcController extends BaseController {
     @ApiOperation("实例化模板列表")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "tplId", value = "模板id", paramType = "query"),
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "tplType", value = "模板类型,banner_except==除了主轮播之外的模板类型", paramType = "query"),
             @ApiImplicitParam(name = "name", value = "实例化模板名称", paramType = "query"),
             @ApiImplicitParam(name = "isEnable", value = "是否启用,0==不启用;1==启用", paramType = "query"),
@@ -85,10 +86,11 @@ public class AdminTplPcController extends BaseController {
             @ApiImplicitParam(name = "current", value = "当前页面位置", defaultValue = "1", paramType = "query")
     })
     @GetMapping("data/list")
-    public JsonResult<PageVO<TplPcMallDataVO>> getTplData(HttpServletRequest request, Integer tplId, String tplType,
+    public JsonResult<PageVO<TplPcMallDataVO>> getTplData(HttpServletRequest request, Integer tplId,String webSite, String tplType,
                                                           String name, Integer isEnable, String tplName) {
         PagerInfo pager = WebUtil.handlerPagerInfo(request);
         TplPcMallDataExample example = new TplPcMallDataExample();
+        example.setWebSite(webSite);
         example.setStoreId(0L);
         example.setTplPcId(tplId);
         if (!StringUtil.isEmpty(tplType)) {
@@ -117,6 +119,7 @@ public class AdminTplPcController extends BaseController {
     @ApiOperation("添加实例化模板数据")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "tplPcId", value = "装修模板id", required = true),
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "name", value = "实例化模板名称"),
             @ApiImplicitParam(name = "html", value = "实例化装修模板(html片段)"),
             @ApiImplicitParam(name = "json", value = "装修模板数据(json)"),
@@ -125,11 +128,12 @@ public class AdminTplPcController extends BaseController {
     })
     @OperationLogger(option = "添加实例化模板数据")
     @PostMapping("data/add")
-    public JsonResult addTplData(HttpServletRequest request, Integer tplPcId, String name, String html, String json, Integer sort, Integer isEnable) {
+    public JsonResult addTplData(HttpServletRequest request, Integer tplPcId,String webSite, String name, String html, String json, Integer sort, Integer isEnable) {
         Admin adminUser = UserUtil.getUser(request, Admin.class);
 
         TplPcMallData tplPcMallData = new TplPcMallData();
         tplPcMallData.setTplPcId(tplPcId);
+        tplPcMallData.setWebSite(webSite);
         tplPcMallData.setName(name);
         tplPcMallData.setHtml(html);
         tplPcMallData.setJson(json);
@@ -145,6 +149,7 @@ public class AdminTplPcController extends BaseController {
     @ApiOperation("编辑实例化模板数据")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "dataId", value = "实例化模板id", required = true),
+            @ApiImplicitParam(name = "webSite", value = "站点"),
             @ApiImplicitParam(name = "name", value = "实例化模板名称"),
             @ApiImplicitParam(name = "html", value = "实例化装修模板(html片段)"),
             @ApiImplicitParam(name = "json", value = "装修模板数据(json)"),
@@ -152,11 +157,12 @@ public class AdminTplPcController extends BaseController {
     })
     @OperationLogger(option = "编辑实例化模板数据")
     @PostMapping("data/update")
-    public JsonResult updateTplData(HttpServletRequest request, Integer dataId, String name, String html, String json, Integer sort) {
+    public JsonResult updateTplData(HttpServletRequest request, Integer dataId,String  webSite, String name, String html, String json, Integer sort) {
         Admin adminUser = UserUtil.getUser(request, Admin.class);
 
         TplPcMallData tplPcMallData = new TplPcMallData();
         tplPcMallData.setDataId(dataId);
+        tplPcMallData.setWebSite(webSite);
         tplPcMallData.setName(name);
         tplPcMallData.setHtml(html);
         tplPcMallData.setJson(json);
@@ -211,6 +217,7 @@ public class AdminTplPcController extends BaseController {
 
         TplPcMallData tplPcMallData = new TplPcMallData();
         tplPcMallData.setTplPcId(tplPcMallDataDb.getTplPcId());
+        tplPcMallData.setWebSite(tplPcMallDataDb.getWebSite());
         tplPcMallData.setName("copy-" + tplPcMallDataDb.getName());
         tplPcMallData.setCreateTime(new Date());
         tplPcMallData.setCreateUserId(adminUser.getAdminId().longValue());

+ 58 - 30
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/job/SystemJob.java

@@ -15,10 +15,12 @@ import com.slodon.b2b2c.model.goods.GoodsModel;
 import com.slodon.b2b2c.model.goods.GoodsPromotionModel;
 import com.slodon.b2b2c.model.promotion.PromotionCommonModel;
 import com.slodon.b2b2c.model.system.BillModel;
+import com.slodon.b2b2c.model.system.SettingModel;
 import com.slodon.b2b2c.model.system.TplMobileDecoModel;
 import com.slodon.b2b2c.model.system.TplPcMallDecoModel;
 import com.slodon.b2b2c.system.example.TplMobileDecoExample;
 import com.slodon.b2b2c.system.example.TplPcMallDecoExample;
+import com.slodon.b2b2c.system.pojo.Setting;
 import com.slodon.b2b2c.system.pojo.TplMobileDeco;
 import com.slodon.b2b2c.system.pojo.TplPcMallDeco;
 import lombok.extern.slf4j.Slf4j;
@@ -69,6 +71,8 @@ public class SystemJob {
     private RedisTemplate<String, Object> objectRedisTemplate;
     @Resource
     private StringRedisTemplate stringRedisTemplate;
+    @Resource
+    private SettingModel settingModel;
 
     /**
      * 商家结算账单生成定时任务
@@ -207,35 +211,41 @@ public class SystemJob {
     @Scheduled(cron = "20 0/10 * * * ?")
     @SchedulerLock(name = "jobUpdatePcSalesVolume", lockAtMostFor = "600000", lockAtLeastFor = "540000")
     public void jobUpdatePcSalesVolume() {
-        log.info("jobUpdatePcSalesVolume() start");
-        try {
-            String data;
-            String pcIndex = stringRedisTemplate.opsForValue().get(RedisConst.PC_INDEX);
-            if (!StringUtils.isEmpty(pcIndex)) {
-                Object parse = JSON.parse(pcIndex);
-                this.dealGoodsSale(parse);
-                data = JSON.toJSONString(parse, WriteMapNullValue);
-            } else {
-                TplPcMallDeco deco = null;
-                TplPcMallDecoExample example = new TplPcMallDecoExample();
-                example.setIsEnable(TplPcConst.IS_ENABLE_YES);
-                example.setDecoType("index");
-                example.setStoreId(0L);
-                List<TplPcMallDeco> list = tplPcMallDecoModel.getTplPcMallDecoList(example, null);
-                if (!CollectionUtils.isEmpty(list)) {
-                    deco = list.get(0);
-                }
-                if (deco == null) {
-                    return;
+        List<Setting> settingList = settingModel.getSiteSetting();
+        if (!CollectionUtils.isEmpty(settingList)) {
+            settingList.forEach(setting -> {
+                log.info("jobUpdatePcSalesVolume() start");
+                try {
+                    String data;
+                    String pcIndex = stringRedisTemplate.opsForValue().get(RedisConst.PC_INDEX + "_" + setting.getValue());
+                    if (!StringUtils.isEmpty(pcIndex)) {
+                        Object parse = JSON.parse(pcIndex);
+                        this.dealGoodsSale(parse);
+                        data = JSON.toJSONString(parse, WriteMapNullValue);
+                    } else {
+                        TplPcMallDeco deco = null;
+                        TplPcMallDecoExample example = new TplPcMallDecoExample();
+                        example.setWebSite(setting.getValue());
+                        example.setIsEnable(TplPcConst.IS_ENABLE_YES);
+                        example.setDecoType("index");
+                        example.setStoreId(0L);
+                        List<TplPcMallDeco> list = tplPcMallDecoModel.getTplPcMallDecoList(example, null);
+                        if (!CollectionUtils.isEmpty(list)) {
+                            deco = list.get(0);
+                        }
+                        if (deco == null) {
+                            return;
+                        }
+                        data = deco.getData();
+                    }
+                    //存入redis
+                    stringRedisTemplate.opsForValue().set(RedisConst.PC_INDEX + "_" + setting.getValue(), data);
+                } catch (Exception e) {
+                    log.error("jobUpdatePcSalesVolume()", e);
                 }
-                data = deco.getData();
-            }
-            //存入redis
-            stringRedisTemplate.opsForValue().set(RedisConst.PC_INDEX, data);
-        } catch (Exception e) {
-            log.error("jobUpdatePcSalesVolume()", e);
+                log.info("jobUpdatePcSalesVolume() end");
+            });
         }
-        log.info("jobUpdatePcSalesVolume() end");
     }
 
     /**
@@ -250,7 +260,11 @@ public class SystemJob {
                 Long goodsId = jsonObject.getLong("goodsId");
                 //查询商品信息
                 Goods goods = goodsModel.getGoodsByGoodsId(goodsId);
-                if (goods != null) {
+                // 如果商品不存在或不是上架状态,则从JSON中移除该商品
+                if (goods == null || goods.getState() == null || goods.getState() != 3) {
+                    // 标记需要移除的商品,但不在遍历过程中直接移除
+                    return;
+                }
                     if (jsonObject.containsKey("actualSales")) {
                         //销量
                         int salesVolume = goods.getActualSales() + goods.getVirtualSales();
@@ -268,14 +282,28 @@ public class SystemJob {
                         //名称
                         jsonObject.put("goodsName", goods.getGoodsName());
                     }
-                }
+
             }
             jsonObject.values().forEach(this::dealGoodsSale);
             return;
         }
         if (object instanceof JSONArray) {
             JSONArray o = (JSONArray) object;
-            o.forEach(this::dealGoodsSale);
+            // 使用迭代器以便在遍历过程中安全地移除元素
+            o.removeIf(item -> {
+                if (item instanceof JSONObject) {
+                    JSONObject jsonObject = (JSONObject) item;
+                    if (jsonObject.containsKey("goodsId")) {
+                        Long goodsId = jsonObject.getLong("goodsId");
+                        Goods goods = goodsModel.getGoodsByGoodsId(goodsId);
+                        // 如果商品不存在或不是上架状态,则移除该商品
+                        return goods == null || goods.getState() == null || goods.getState() != 3;
+                    }
+                }
+                // 对于数组中的其他元素,递归处理
+                dealGoodsSale(item);
+                return false;
+            });
         }
     }
 

+ 3 - 0
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/cms/FriendLinkModel.java

@@ -54,6 +54,7 @@ public class FriendLinkModel {
         //根据链接名称查重
         FriendLinkExample friendLinkExample = new FriendLinkExample();
         friendLinkExample.setLinkName(friendLinkAddDTO.getLinkName());
+        friendLinkExample.setWebSite(friendLinkAddDTO.getWebSite());
         List<FriendLink> friendLinks = friendLinkReadMapper.listByExample(friendLinkExample);
         if (!CollectionUtils.isEmpty(friendLinks)) {
             throw new MallException("链接名称重复,请重新填写");
@@ -63,6 +64,7 @@ public class FriendLinkModel {
         if (!StringUtils.isEmpty(friendLinkAddDTO.getLinkImage())) {
             friendLinkInsert.setLinkImage(friendLinkAddDTO.getLinkImage());
         }
+        friendLinkInsert.setWebSite(friendLinkAddDTO.getWebSite());
         friendLinkInsert.setShowType(friendLinkAddDTO.getShowType());
         friendLinkInsert.setLinkUrl(friendLinkAddDTO.getLinkUrl());
         friendLinkInsert.setSort(friendLinkAddDTO.getSort());
@@ -140,6 +142,7 @@ public class FriendLinkModel {
     public Integer updateFriendLink(FriendLinkUpdateDTO friendLinkUpdateDTO, Admin admin) throws Exception {
         //链接名称查重
         FriendLinkExample friendLinkExample = new FriendLinkExample();
+        friendLinkExample.setWebSite(friendLinkUpdateDTO.getWebSite());
         friendLinkExample.setLinkName(friendLinkUpdateDTO.getLinkName());
         friendLinkExample.setLinkIdNotEquals(friendLinkUpdateDTO.getLinkId());
         List<FriendLink> friendLinks = friendLinkReadMapper.listByExample(friendLinkExample);

+ 5 - 2
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/seller/StoreModel.java

@@ -786,8 +786,11 @@ public class StoreModel {
                     //店铺等级id
                     storeSiteInfoUpdate.setStoreGradeId(storeBusinessVO.getStoreGradeId());
                     //根据storeGradeId获取等级名称
-                    StoreGrade storeGrade = storeGradeReadMapper.getByPrimaryKey(storeUpdateDTO.getStoreGradeId());
-                    storeSiteInfoUpdate.setStoreGradeName(storeGrade.getGradeName());
+                    if (storeBusinessVO.getStoreGradeId() != null) {
+                        StoreGrade storeGrade = storeGradeReadMapper.getByPrimaryKey(storeUpdateDTO.getStoreGradeId());
+                        storeSiteInfoUpdate.setStoreGradeName(storeGrade != null ? storeGrade.getGradeName() : null);
+                    }
+
 
 
                     //开店时长

+ 2 - 0
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/system/NavigationModel.java

@@ -34,6 +34,7 @@ public class NavigationModel {
         //根据导航名称查重
         NavigationExample example = new NavigationExample();
         example.setNavName(navigation.getNavName());
+        example.setWebSite(navigation.getWebSite());
         List<Navigation> list = navigationReadMapper.listByExample(example);
         if (!CollectionUtils.isEmpty(list)) {
             throw new MallException("导航名称重复,请重新填写");
@@ -77,6 +78,7 @@ public class NavigationModel {
             //根据导航名称查重
             NavigationExample example = new NavigationExample();
             example.setNavIdNotEquals(navigation.getNavId());
+            example.setWebSite(navigation.getWebSite());
             example.setNavName(navigation.getNavName());
             List<Navigation> list = navigationReadMapper.listByExample(example);
             if (!CollectionUtils.isEmpty(list)) {

+ 4 - 0
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/system/PcFirstAdvModel.java

@@ -99,4 +99,8 @@ public class PcFirstAdvModel {
         }
         return pcFirstAdvList;
     }
+
+    public void updateByExampleSelective(PcFirstAdv record, PcFirstAdvExample example) {
+        pcFirstAdvWriteMapper.updateByExampleSelective(record, example);
+    }
 }

+ 17 - 3
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/util/PlatformPresentDataUtil.java

@@ -59,10 +59,10 @@ public class PlatformPresentDataUtil {
         AdminPresentDataVO vo = new AdminPresentDataVO();
         vo.setStatsTime(endTime);
         //平台汇总
-        vo.setPlatformSummary(this.getPlatformSummary());
+        vo.setPlatformSummary(this.getPlatformSummary(webSite));
 
         //查询今日统计基础数据
-        StatsBasicDataBO basicDataBO = statsDataUtil.searchStatsBasicData(startTime, endTime,webSite);
+        StatsBasicDataBO basicDataBO = statsDataUtil.searchStatsBasicData(startTime, endTime, webSite);
 
         //今日实时
         vo.setPlatformTodaySummary(this.getPlatformTodaySummary(basicDataBO));
@@ -96,7 +96,7 @@ public class PlatformPresentDataUtil {
      *
      * @return
      */
-    private AdminPresentDataVO.PlatformSummary getPlatformSummary() {
+    private AdminPresentDataVO.PlatformSummary getPlatformSummary(String webSite) {
         //订单总额
         OrderExample orderExample = new OrderExample();
         orderExample.setOrderStateIn(OrderConst.ORDER_STATE_20 + "," + OrderConst.ORDER_STATE_30 + "," + OrderConst.ORDER_STATE_40);
@@ -105,6 +105,11 @@ public class PlatformPresentDataUtil {
         //会员总数
         Integer memberCount = memberModel.getMemberCount(new MemberExample());
 
+        //站点会员总数
+        MemberExample memberExample =new MemberExample();
+        memberExample.setWebSite(webSite);
+        Integer webSiteMemberCount =memberModel.getMemberCount(memberExample);
+
         //店铺总数
         StoreExample storeExample = new StoreExample();
         storeExample.setStateNotEquals(StoreConst.STORE_STATE_DELETE);
@@ -115,11 +120,20 @@ public class PlatformPresentDataUtil {
         goodsExample.setState(GoodsConst.GOODS_STATE_UPPER);
         Integer goodsCount = goodsModel.getGoodsCount(goodsExample);
 
+        //站点在售商品总数
+        goodsExample = new GoodsExample();
+        goodsExample.setWebSite(webSite);
+        goodsExample.setState(GoodsConst.GOODS_STATE_UPPER);
+        Integer webSiteGoodsCount = goodsModel.getGoodsCount(goodsExample);
+
         AdminPresentDataVO.PlatformSummary platformSummary = new AdminPresentDataVO.PlatformSummary();
         platformSummary.setOrderPayAmount(totalSaleAmount);
         platformSummary.setMemberNum(memberCount);
+        platformSummary.setWebSiteMemberNum(webSiteMemberCount);
         platformSummary.setStoreNum(storeCount);
+        platformSummary.setWebSiteStoreNum(storeCount);
         platformSummary.setSaleGoodsNum(goodsCount);
+        platformSummary.setWebSiteStoreNum(webSiteGoodsCount);
 
         //商品总数
         goodsExample.setState(null);

+ 13 - 2
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/util/StatsModelUtil.java

@@ -100,37 +100,42 @@ public class StatsModelUtil {
      * @param endTime
      * @return
      */
-    public List<? extends PlatformBase> getPlatformList(StatsTimeType timeType, Date startTime, Date endTime) {
+    public List<? extends PlatformBase> getPlatformList(StatsTimeType timeType, String webSite, Date startTime, Date endTime) {
         List<? extends PlatformBase> list = new ArrayList<>();
         switch (timeType) {
             case HOUR:
                 PlatformHourExample example = new PlatformHourExample();
                 example.setStatsTimeAfter(startTime);
                 example.setStatsTimeBefore(endTime);
+                example.setWebSite(webSite);
                 list = platformHourModel.getPlatformHourList(example, null);
                 break;
             case WEEK:
                 PlatformWeekExample weekExample = new PlatformWeekExample();
                 weekExample.setStatsTimeAfter(startTime);
                 weekExample.setStatsTimeBefore(endTime);
+                weekExample.setWebSite(webSite);
                 list = platformWeekModel.getPlatformWeekList(weekExample, null);
                 break;
             case MONTH:
                 PlatformMonthExample monthExample = new PlatformMonthExample();
                 monthExample.setStatsTimeAfter(startTime);
                 monthExample.setStatsTimeBefore(endTime);
+                monthExample.setWebSite(webSite);
                 list = platformMonthModel.getPlatformMonthList(monthExample, null);
                 break;
             case YEAR:
                 PlatformYearExample yearExample = new PlatformYearExample();
                 yearExample.setStatsTimeAfter(startTime);
                 yearExample.setStatsTimeBefore(endTime);
+                yearExample.setWebSite(webSite);
                 list = platformYearModel.getPlatformYearList(yearExample, null);
                 break;
             case DAY:
                 PlatformDayExample dayExample = new PlatformDayExample();
                 dayExample.setStatsTimeAfter(startTime);
                 dayExample.setStatsTimeBefore(endTime);
+                dayExample.setWebSite(webSite);
                 list = platformDayModel.getPlatformList(dayExample);
                 break;
         }
@@ -671,12 +676,13 @@ public class StatsModelUtil {
     /**
      * 返回对应的品牌列表数据
      *
+     * @param webSite
      * @param timeType
      * @param startTime
      * @param endTime
      * @return
      */
-    public List<? extends BrandBase> getBrandList(StatsTimeType timeType, Date startTime, Date endTime, Integer sort, PagerInfo pager) {
+    public List<? extends BrandBase> getBrandList(StatsTimeType timeType,String webSite, Date startTime, Date endTime, Integer sort, PagerInfo pager) {
         List<? extends BrandBase> list = new ArrayList<>();
         //排序规则
         String orderBy;
@@ -691,6 +697,7 @@ public class StatsModelUtil {
                 example.setStatsTimeAfter(startTime);
                 example.setStatsTimeBefore(endTime);
                 example.setOrderBy(orderBy);
+                example.setWebSite(webSite);
                 list = brandHourModel.getBrandHourList(example, pager);
                 break;
             case WEEK:
@@ -698,6 +705,7 @@ public class StatsModelUtil {
                 weekExample.setStatsTimeAfter(startTime);
                 weekExample.setStatsTimeBefore(endTime);
                 weekExample.setOrderBy(orderBy);
+                weekExample.setWebSite(webSite);
                 list = brandWeekModel.getBrandWeekList(weekExample, pager);
                 break;
             case MONTH:
@@ -705,6 +713,7 @@ public class StatsModelUtil {
                 monthExample.setStatsTimeAfter(startTime);
                 monthExample.setStatsTimeBefore(endTime);
                 monthExample.setOrderBy(orderBy);
+                monthExample.setWebSite(webSite);
                 list = brandMonthModel.getBrandMonthList(monthExample, pager);
                 break;
             case YEAR:
@@ -712,12 +721,14 @@ public class StatsModelUtil {
                 yearExample.setStatsTimeAfter(startTime);
                 yearExample.setStatsTimeBefore(endTime);
                 yearExample.setOrderBy(orderBy);
+                yearExample.setWebSite(webSite);
                 list = brandYearModel.getBrandYearList(yearExample, pager);
                 break;
             case DAY:
                 BrandDayExample dayExample = new BrandDayExample();
                 dayExample.setStatsTimeAfter(startTime);
                 dayExample.setStatsTimeBefore(endTime);
+                dayExample.setWebSite(webSite);
                 if (!StringUtil.isNullOrZero(sort) && sort == 2) {
                     dayExample.setOrderBy("saleNum DESC");
                 } else {

+ 3 - 0
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/vo/cms/FriendLinkVO.java

@@ -18,6 +18,9 @@ public class FriendLinkVO {
     @ApiModelProperty("链接id")
     private Integer linkId;
 
+    @ApiModelProperty("站点")
+    private String webSite;
+
     @ApiModelProperty("合作伙伴名称")
     private String linkName;
 

+ 9 - 0
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/vo/statistics/AdminPresentDataVO.java

@@ -74,12 +74,21 @@ public class AdminPresentDataVO {
         @ApiModelProperty("会员总数")
         private Integer memberNum;
 
+        @ApiModelProperty("站点会员总数")
+        private Integer webSiteMemberNum;
+
         @ApiModelProperty("店铺总数")
         private Integer storeNum;
 
+        @ApiModelProperty("站点店铺总数")
+        private Integer webSiteStoreNum;
+
         @ApiModelProperty("在售商品总数")
         private Integer saleGoodsNum;
 
+        @ApiModelProperty("站点在售商品总数")
+        private Integer webSiteSaleGoodsNum;
+
         @ApiModelProperty("商品总数")
         private Integer goodsTotalNum;
 

+ 4 - 0
xinkeaboard-server/b2b2c-web/src/main/resources/mapper/read/cms/FriendLinkReadMapper.xml

@@ -3,6 +3,7 @@
 <mapper namespace="com.slodon.b2b2c.dao.read.cms.FriendLinkReadMapper">
   <resultMap id="resultMap" type="com.slodon.b2b2c.cms.pojo.FriendLink">
     <id column="link_id" property="linkId" />
+    <result column="web_site" property="webSite" />
     <result column="link_name" property="linkName" />
     <result column="link_image" property="linkImage" />
     <result column="show_type" property="showType" />
@@ -30,6 +31,9 @@
         <if test="example.linkIdIn != null">
           AND `link_id` in (${example.linkIdIn})
         </if>
+        <if test="example.webSite != null">
+          AND `web_site` = #{example.webSite}
+        </if>
         <if test="example.linkName != null">
           AND `link_name` = #{example.linkName}
         </if>

+ 1 - 1
xinkeaboard-server/b2b2c-web/src/main/resources/mapper/read/seller/StoreReadMapper.xml

@@ -215,7 +215,7 @@
   </sql>
   <!--排序条件-->
   <sql id="orderBy">
-    ORDER BY `store_id` DESC
+    ORDER BY `create_time` DESC
   </sql>
   <sql id="orderByOther">
     order by ${example.orderBy}

+ 4 - 0
xinkeaboard-server/b2b2c-web/src/main/resources/mapper/read/system/NavigationReadMapper.xml

@@ -3,6 +3,7 @@
 <mapper namespace="com.slodon.b2b2c.dao.read.system.NavigationReadMapper">
   <resultMap id="resultMap" type="com.slodon.b2b2c.system.pojo.Navigation">
     <id column="nav_id" property="navId" />
+    <result column="web_site" property="webSite" />
     <result column="nav_name" property="navName" />
     <result column="sort" property="sort" />
     <result column="is_show" property="isShow" />
@@ -22,6 +23,9 @@
         <if test="example.navIdIn != null">
           AND `nav_id` in (${example.navIdIn})
         </if>
+        <if test="example.webSite != null">
+          AND `web_site` = #{example.webSite}
+        </if>
         <if test="example.navName != null">
           AND `nav_name` = #{example.navName}
         </if>

+ 11 - 3
xinkeaboard-server/b2b2c-web/src/main/resources/mapper/read/system/PcFirstAdvReadMapper.xml

@@ -2,17 +2,25 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.slodon.b2b2c.dao.read.system.PcFirstAdvReadMapper">
   <resultMap id="resultMap" type="com.slodon.b2b2c.system.pojo.PcFirstAdv">
-    <id column="adv_id" property="advId" />
+    <id column="id" property="id" />
+    <result column="web_site" property="webSite" />
+    <result column="adv_id" property="advId" />
     <result column="data" property="data" />
   </resultMap>
   <!--按照主键值进行操作-->
   <sql id="pkWhere">
-    WHERE `adv_id` = #{primaryKey}
+    WHERE `id` = #{primaryKey}
   </sql>
   <!--操作条件-->
   <sql id="whereCondition">
     <if test="example != null">
       <trim prefix="WHERE" prefixOverrides="AND|OR">
+        <if test="example.webSite != null">
+          AND `web_site` = #{example.webSite}
+        </if>
+        <if test="example.advId != null">
+          AND `adv_id` = #{example.advId}
+        </if>
         <if test="example.advIdNotEquals != null">
           AND `adv_id` != #{example.advIdNotEquals}
         </if>
@@ -27,7 +35,7 @@
   </sql>
   <!--排序条件-->
   <sql id="orderBy">
-    ORDER BY `adv_id` DESC
+    ORDER BY `id` DESC
   </sql>
   <sql id="orderByOther">
     order by ${example.orderBy}

+ 16 - 0
xinkeaboard-server/b2b2c-web/src/main/resources/mapper/write/cms/FriendLinkWriteMapper.xml

@@ -3,6 +3,7 @@
 <mapper namespace="com.slodon.b2b2c.dao.write.cms.FriendLinkWriteMapper">
   <resultMap id="resultMap" type="com.slodon.b2b2c.cms.pojo.FriendLink">
     <id column="link_id" property="linkId" />
+    <result column="web_site" property="webSite"/>
     <result column="link_name" property="linkName" />
     <result column="link_image" property="linkImage" />
     <result column="show_type" property="showType" />
@@ -19,6 +20,9 @@
   <!--除主键外的所有字段,用于插入操作-->
   <sql id="columns">
     <trim suffixOverrides=",">
+      <if test="webSite != null">
+        `web_site`,
+      </if>
       <if test="linkName != null">
         `link_name`,
       </if>
@@ -71,6 +75,9 @@
         <if test="example.linkIdIn != null">
           AND `link_id` in (${example.linkIdIn})
         </if>
+        <if test="example.webSite != null">
+          AND `web_site` = #{example.webSite}
+        </if>
         <if test="example.linkName != null">
           AND `link_name` = #{example.linkName}
         </if>
@@ -247,6 +254,9 @@
     )
     VALUES(
     <trim suffixOverrides=",">
+      <if test="webSite != null">
+        #{webSite},
+      </if>
       <if test="linkName != null">
         #{linkName},
       </if>
@@ -290,6 +300,9 @@
   <update id="updateByExampleSelective">
     UPDATE `cms_friend_link`
     <trim prefix="SET" suffixOverrides=",">
+      <if test="record.webSite != null">
+        `web_site` = #{record.webSite},
+      </if>
       <if test="record.linkName != null">
         `link_name` = #{record.linkName},
       </if>
@@ -333,6 +346,9 @@
   <update id="updateByPrimaryKeySelective">
     UPDATE `cms_friend_link`
     <trim prefix="SET" suffixOverrides=",">
+      <if test="webSite != null">
+        `web_site` = #{webSite},
+      </if>
       <if test="linkName != null">
         `link_name` = #{linkName},
       </if>

+ 1 - 1
xinkeaboard-server/b2b2c-web/src/main/resources/mapper/write/goods/GoodsLabelWriteMapper.xml

@@ -214,7 +214,7 @@
     VALUES(
     <trim suffixOverrides=",">
       <if test="webSite != null">
-        #{webSite}
+        #{webSite},
       </if>
       <if test="labelName != null">
         #{labelName},

+ 16 - 0
xinkeaboard-server/b2b2c-web/src/main/resources/mapper/write/system/NavigationWriteMapper.xml

@@ -3,6 +3,7 @@
 <mapper namespace="com.slodon.b2b2c.dao.write.system.NavigationWriteMapper">
   <resultMap id="resultMap" type="com.slodon.b2b2c.system.pojo.Navigation">
     <id column="nav_id" property="navId" />
+    <result column="web_site" property="webSite" />
     <result column="nav_name" property="navName" />
     <result column="sort" property="sort" />
     <result column="is_show" property="isShow" />
@@ -11,6 +12,9 @@
   <!--除主键外的所有字段,用于插入操作-->
   <sql id="columns">
     <trim suffixOverrides=",">
+      <if test="webSite != null">
+        `web_site`,
+      </if>
       <if test="navName != null">
         `nav_name`,
       </if>
@@ -39,6 +43,9 @@
         <if test="example.navIdIn != null">
           AND `nav_id` in (${example.navIdIn})
         </if>
+        <if test="example.webSite != null">
+          AND `web_site` = #{example.webSite}
+        </if>
         <if test="example.navName != null">
           AND `nav_name` = #{example.navName}
         </if>
@@ -179,6 +186,9 @@
     )
     VALUES(
     <trim suffixOverrides=",">
+      <if test="webSite != null">
+        #{webSite},
+      </if>
       <if test="navName != null">
         #{navName},
       </if>
@@ -198,6 +208,9 @@
   <update id="updateByExampleSelective">
     UPDATE `sys_pc_navigation`
     <trim prefix="SET" suffixOverrides=",">
+      <if test="record.webSite != null">
+        `web_site` = #{record.webSite},
+      </if>
       <if test="record.navName != null">
         `nav_name` = #{record.navName},
       </if>
@@ -217,6 +230,9 @@
   <update id="updateByPrimaryKeySelective">
     UPDATE `sys_pc_navigation`
     <trim prefix="SET" suffixOverrides=",">
+      <if test="webSite != null">
+        `web_site` = #{webSite},
+      </if>
       <if test="navName != null">
         `nav_name` = #{navName},
       </if>

+ 24 - 4
xinkeaboard-server/b2b2c-web/src/main/resources/mapper/write/system/PcFirstAdvWriteMapper.xml

@@ -2,12 +2,20 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.slodon.b2b2c.dao.write.system.PcFirstAdvWriteMapper">
   <resultMap id="resultMap" type="com.slodon.b2b2c.system.pojo.PcFirstAdv">
-    <id column="adv_id" property="advId" />
+    <id column="id" property="id" />
+    <result column="web_site" property="webSite" />
+    <result column="adv_id" property="advId" />
     <result column="data" property="data" />
   </resultMap>
   <!--除主键外的所有字段,用于插入操作-->
   <sql id="columns">
     <trim suffixOverrides=",">
+       <if test="webSite != null">
+         `web_site`,
+      </if>
+      <if test="advId != null">
+        `adv_id`,
+      </if>
       <if test="data != null">
         `data`,
       </if>
@@ -15,7 +23,7 @@
   </sql>
   <!--按照主键值进行操作-->
   <sql id="pkWhere">
-    WHERE `adv_id` = #{primaryKey}
+    WHERE `id` = #{primaryKey}
   </sql>
   <!--操作条件-->
   <sql id="whereCondition">
@@ -27,6 +35,12 @@
         <if test="example.advIdIn != null">
           AND `adv_id` in (${example.advIdIn})
         </if>
+        <if test="example.advId != null">
+          AND `adv_id` = #{example.advId}
+        </if>
+        <if test="example.webSite != null">
+          AND `web_site` = #{example.webSite}
+        </if>
         <if test="example.data != null">
           AND `data` = #{example.data}
         </if>
@@ -35,7 +49,7 @@
   </sql>
   <!--排序条件-->
   <sql id="orderBy">
-    ORDER BY `adv_id` DESC
+    ORDER BY `id` DESC
   </sql>
   <sql id="orderByOther">
     order by ${example.orderBy}
@@ -155,6 +169,12 @@
     )
     VALUES(
     <trim suffixOverrides=",">
+      <if test="webSite != null">
+        #{webSite},
+      </if>
+      <if test="advId != null">
+        #{advId},
+      </if>
       <if test="data != null">
         #{data},
       </if>
@@ -179,6 +199,6 @@
         `data` = #{data},
       </if>
     </trim>
-    WHERE `adv_id` = #{advId}
+    WHERE `id` = #{id}
   </update>
 </mapper>

+ 43 - 10
xinkeaboard-server/doc/DDL/update.sql

@@ -59,16 +59,16 @@ CREATE TABLE `store_site_info`
     `id`               bigint                                                  NOT NULL AUTO_INCREMENT COMMENT 'id',
     `web_site`         tinyint                                                 NOT NULL DEFAULT 1 COMMENT '站点',
     `store_id`         bigint                                                  NOT NULL COMMENT '店铺ID',
-    `store_logo`       varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '店铺logo',
-    `store_banner_pc`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'pc端店铺横幅',
-    `main_business`    varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '店铺主营商品名称',
-    `service_phone`    varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci  NOT NULL COMMENT '店铺客服电话',
-    `email`            varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '邮箱',
-    `address`          varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '店铺开店详细地址',
-    `store_map_info`   varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '店铺地图参数-经度',
-    `store_map_info_w` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '店铺地图参数-维度',
-    `create_id`        bigint                                                  NOT NULL COMMENT '创建人',
-    `create_time`      datetime                                                NOT NULL COMMENT '创建时间',
+    `store_logo`       varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '店铺logo',
+    `store_banner_pc`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 'pc端店铺横幅',
+    `main_business`    varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '店铺主营商品名称',
+    `service_phone`    varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci  DEFAULT NULL COMMENT '店铺客服电话',
+    `email`            varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '邮箱',
+    `address`          varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '店铺开店详细地址',
+    `store_map_info`   varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '店铺地图参数-经度',
+    `store_map_info_w` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '店铺地图参数-维度',
+    `create_id`        bigint                                                  DEFAULT NULL COMMENT '创建人',
+    `create_time`      datetime                                                DEFAULT NULL COMMENT '创建时间',
 
     `update_id`        bigint                                                           DEFAULT NULL COMMENT '更新人',
     `update_time`      datetime                                                         DEFAULT NULL COMMENT '更新时间',
@@ -268,6 +268,39 @@ VALUES(null, "国外站门户", 4, 1, 1, now(), now(), null),(null, "国内站
 UPDATE store_cms_article_category SET is_show = 0 WHERE category_name='PC商城';
 
 
+DROP TABLE IF EXISTS `sys_pc_first_adv`;
+CREATE TABLE `sys_pc_first_adv`
+(
+    `id`       int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `web_site` tinyint(4) NOT NULL DEFAULT 1 COMMENT '站点',
+    `adv_id`   int(11) NULL DEFAULT NULL COMMENT '广告id',
+    `data`     text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '弹层广告数据',
+    PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'pc首页弹层广告表' ROW_FORMAT = Dynamic;
+
+
+INSERT INTO `sys_pc_first_adv`
+VALUES (1, 1, 1,
+        '{\"imgUrl\":\"https://xinke-xinke-s3-test.s3.ap-east-1.amazonaws.com//images/admin/deco/m0wFu9pSgRMIUy9OEQB.jpg\",\"imgPath\":\"/images/admin/deco/m0wFu9pSgRMIUy9OEQB.jpg\",\"show_switch\":true,\"show_radio_sele\":\"more\",\"link_type\":\"url\",\"link_value\":\"http://pcnuxt.b2b.test.advichcloud.com/store/list\",\"info\":{}}');
+INSERT INTO `sys_pc_first_adv`
+VALUES (2, 1, 2,
+        '{\"imgUrl\":\"https://www.b2btopsite.com/images/admin/deco/mqPMTwJkfzreN1QKul3.jpg\",\"imgPath\":\"/images/admin/deco/mqPMTwJkfzreN1QKul3.jpg\",\"show_switch\":true,\"link_type\":\"url\",\"link_value\":\"https://www.b2btopsite.com/goods/Category\",\"info\":{}}');
+
+INSERT INTO `sys_pc_first_adv`
+VALUES (3, 2, 1,
+        '{\"imgUrl\":\"https://xinke-xinke-s3-test.s3.ap-east-1.amazonaws.com//images/admin/deco/m0wFu9pSgRMIUy9OEQB.jpg\",\"imgPath\":\"/images/admin/deco/m0wFu9pSgRMIUy9OEQB.jpg\",\"show_switch\":true,\"show_radio_sele\":\"more\",\"link_type\":\"url\",\"link_value\":\"http://pcnuxt.b2b.test.advichcloud.com/store/list\",\"info\":{}}');
+INSERT INTO `sys_pc_first_adv`
+VALUES (4, 2, 2,
+        '{\"imgUrl\":\"https://www.b2btopsite.com/images/admin/deco/mqPMTwJkfzreN1QKul3.jpg\",\"imgPath\":\"/images/admin/deco/mqPMTwJkfzreN1QKul3.jpg\",\"show_switch\":true,\"link_type\":\"url\",\"link_value\":\"https://www.b2btopsite.com/goods/Category\",\"info\":{}}');
+
+
+ALTER TABLE sys_pc_navigation ADD COLUMN web_site TINYINT NOT NULL DEFAULT 1 COMMENT '站点 1:海外门户 2:国内分销门户' AFTER nav_id;
+
+ALTER TABLE cms_friend_link ADD COLUMN web_site TINYINT NOT NULL DEFAULT 1 COMMENT '站点 1:海外门户 2:国内分销门户' AFTER link_id;
+
+
+
+