From 19df67e19f23cd2a04d1c7f355e1e656f4140af4 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期四, 17 四月 2025 20:04:14 +0800
Subject: [PATCH] 后台:首页统计、系统管理、广告管理、用户管理、商品分类管理

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java |  112 +++++++++++++++++++++++++++++++++----------------------
 1 files changed, 67 insertions(+), 45 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
index 944466b..0c8d8c1 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
@@ -2,14 +2,18 @@
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 
 import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.feignClient.AppUserShopClient;
 import com.ruoyi.account.api.model.AppUser;
+import com.ruoyi.account.api.model.AppUserShop;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.bean.BeanUtils;
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.security.service.TokenService;
@@ -19,6 +23,7 @@
 import com.ruoyi.order.vo.OrderSaleNum;
 import com.ruoyi.order.vo.VerifiableShopVo;
 import com.ruoyi.other.api.domain.*;
+import com.ruoyi.other.api.dto.ShopAnalysisDTO;
 import com.ruoyi.other.dto.AddGoodsDTO;
 import com.ruoyi.other.enums.PhoneType;
 import com.ruoyi.other.mapper.ShopMapper;
@@ -80,7 +85,7 @@
     @Resource
     private ShopScoreMapper shopScoreMapper;
     @Resource
-    private UserShopClient userShopClient;
+    private AppUserShopClient appUserShopClient;
     @Resource
     private GoodsService goodsService;
     @Resource
@@ -153,12 +158,12 @@
     @ApiOperation(value = "新增门店", tags = {"管理后台-门店管理"})
     @Transactional(rollbackFor = Exception.class)
     public R<Void> add(@RequestBody Shop shop){
-        String phone = shop.getPhone();
+        /*String phone = shop.getPhone();
         AppUser appUser = appUserClient.getAppUserByPhone1(phone).getData();
         if (appUser == null){
             return R.fail("该手机号未注册");
         }
-     /*   shop.setShopAllPoint(0);
+     *//*   shop.setShopAllPoint(0);
         shop.setLowerLevelSharePoint(0);
         shop.setSharePoint(0);
         shop.setServerPoint(0);
@@ -166,20 +171,20 @@
         shop.setGiveawayAllMoney(BigDecimal.ZERO);
         shop.setGiveawayMoney(BigDecimal.ZERO);
         shop.setLowerLevelGiveawayMoney(BigDecimal.ZERO);
-        shop.setServerGiveawayMoney(BigDecimal.ZERO);*/
+        shop.setServerGiveawayMoney(BigDecimal.ZERO);*//*
         shop.setCanWithdrawMoney(BigDecimal.ZERO);
         shop.setWithdrawMoney(BigDecimal.ZERO);
         shop.setOrderNumber(0);
-      /*  shop.setServerOrderNumber(0);
-        shop.setCustomOrderNumber(0);*/
+      *//*  shop.setServerOrderNumber(0);
+        shop.setCustomOrderNumber(0);*//*
         shop.setAppUserId(appUser.getId());
         String city = TencentMapUtil.inverseGeographicalAnalysis(shop.getLongitude(), shop.getLatitude(), false);
         if(!StringUtils.hasLength(city)){
             city = "510100";
         }
-        shop.setProvinceCode(city.substring(0, 2) + "0000");
+        *//*shop.setProvinceCode(city.substring(0, 2) + "0000");
         shop.setCityCode(city.substring(0, 4) + "00");
-        shop.setDistrictCode(city);
+        shop.setDistrictCode(city);*//*
         shopService.save(shop);
 
         Integer shopId = shop.getId();
@@ -249,7 +254,7 @@
         R<List<AppUser>> lowerShopR = appUserClient.setLowerUserShop(appUser.getId(), shopId);
         if (R.isError(lowerShopR)){
             throw new RuntimeException("更换下级会员绑定门店失败");
-        }
+        }*/
         return R.ok();
     }
 
@@ -258,9 +263,7 @@
     @ApiOperation(value = "门店详情", tags = {"管理后台-门店管理"})
     public R<Shop> getDetailById(@RequestParam("id") Integer id){
         Shop shop = shopService.getById(id);
-        if (null != shop.getPid() && shop.getPid()==0){
-            shop.setPid(null);
-        }
+
         return R.ok(shop);
     }
 
@@ -301,23 +304,17 @@
     @PutMapping("/editShop")
     @ApiOperation(value = "门店管理-编辑门店", tags = {"管理后台-门店管理"})
     public R<Void> editShop(@RequestBody Shop shop){
-        String phone = shop.getPhone();
+        /*String phone = shop.getPhone();
         if (!shopService.cheUserByPhone(phone)) {
             return R.fail("该手机号未注册");
-        }
-        if (shop.getPid() != null && shop.getPid() != 0){
-            Shop shopP = shopService.getById(shop.getPid());
-            if (shopP.getPid()!=null&&shopP.getPid()!=0&& shopP.getPid().equals(shop.getId())){
-                return R.fail("门店之间不能互相作为上级门店");
-            }
         }
         String city = TencentMapUtil.inverseGeographicalAnalysis(shop.getLongitude(), shop.getLatitude(), false);
         if(!StringUtils.hasLength(city)){
             city = "510100";
         }
-        shop.setProvinceCode(city.substring(0, 2) + "0000");
+        *//*shop.setProvinceCode(city.substring(0, 2) + "0000");
         shop.setCityCode(city.substring(0, 4) + "00");
-        shop.setDistrictCode(city);
+        shop.setDistrictCode(city);*//*
         Shop old_shop = shopService.getById(shop.getId());
         shopService.updateById(shop);
         //修改管理员
@@ -397,7 +394,7 @@
                 userShop.setCreateTime(LocalDateTime.now());
                 userShopClient.saveUserShop(userShop);
             }
-        }
+        }*/
         return R.ok();
     }
 
@@ -409,7 +406,7 @@
     @PutMapping("/freezingOrThawing")
     @ApiOperation(value = "门店管理-冻结/解冻门店", tags = {"管理后台-门店管理"})
     public R freezingOrThawing(@RequestParam("id") Integer id, @RequestParam("status") Integer status){
-        Shop shop = shopService.getById(id);
+       /* Shop shop = shopService.getById(id);
         if(shop.getStatus().equals(status)){
             return R.fail("不能重复操作");
         }
@@ -460,7 +457,7 @@
                     }
                 }
             }
-        }
+        }*/
         
         return R.ok();
     }
@@ -493,7 +490,7 @@
     @GetMapping ("/resetPassword")
     @ApiOperation(value = "重置密码", tags = {"管理后台-门店管理"})
     public R<Void> resetPassword(@RequestParam(value = "ids") String ids) {
-        String[] idsArr = ids.split(",");
+       /* String[] idsArr = ids.split(",");
         for (String id : idsArr) {
             Shop shop = shopService.getById(Integer.valueOf(id));
             UserShop userShop = new UserShop();
@@ -504,7 +501,7 @@
             String s = MD5Generator.generateMD5(userData.getPhonenumber().substring(5));
             userData.setPassword(s);
             sysUserClient.resetPassword(userData);
-        }
+        }*/
         return R.ok();
     }
 
@@ -601,11 +598,7 @@
         return R.ok(one);
     }
 
-/*    @PostMapping("/getShopByUserIds")
-    public R<List<Shop>> getShopByUserIds(@RequestBody List<Long> userIds){
-        List<Shop> list = shopService.list(new LambdaQueryWrapper<Shop>().in(Shop::getAppUserId, userIds));
-        return R.ok(list);
-    }*/
+
 
     /**
      * 根据名称查询门店id
@@ -667,28 +660,27 @@
     @ApiOperation(value = "获取可切换的门店列表", tags = {"门店后台-首页"})
     public R<List<VerifiableShopVo>> getSysUserShop(@ApiParam("经度") @RequestParam(required = false) BigDecimal longitude,
                                                     @ApiParam("纬度") @RequestParam(required = false) BigDecimal latitude){
-        Long userid = tokenService.getLoginUser().getUserid();
-        UserShop userShop = new UserShop();
-        userShop.setUserId(userid);
-        List<UserShop> data = userShopClient.getUserShop(userShop).getData();
+        Long userid = tokenService.getLoginUserApplet().getUserid();
+
+        List<AppUserShop> data = appUserShopClient.getUserShopListByUserId(userid).getData();
         if (null == data || data.isEmpty()) {
-            return R.ok();
+            return R.fail("暂无其他门店可切换");
         }
-        List<Integer> collect = data.stream().map(UserShop::getShopId).collect(Collectors.toList());
+        List<Integer> collect = data.stream().map(AppUserShop::getShopId).collect(Collectors.toList());
         List<Shop> shops = shopService.list(new LambdaQueryWrapper<Shop>()
                 .in(!CollectionUtils.isEmpty(collect),Shop::getId, collect)
                 .eq(Shop::getDelFlag, 0).eq(Shop::getStatus, 1));
         if (shops == null || shops.isEmpty()) {
-            return  R.ok();
+            return  R.fail("暂无其他门店可切换");
         }
         List<VerifiableShopVo> list = new ArrayList<>();
         for (Shop shop : shops) {
             VerifiableShopVo vo = new VerifiableShopVo();
+            BeanUtils.copyProperties(shop, vo);
             vo.setId(shop.getId());
             vo.setName(shop.getName());
+
             vo.setHomePicture(shop.getHomePicture());
-            String address = shop.getProvince() + shop.getCity() + shop.getDistrict()+ shop.getAddress();
-            vo.setAddress(address);
             if (null != latitude && null != longitude) {
                 Double wgs84 = GeodesyUtil.getDistance(longitude + "," + latitude, shop.getLongitude() + "," + shop.getLatitude()).get("WGS84");
                 vo.setDistance(wgs84.longValue());
@@ -756,7 +748,9 @@
     @ResponseBody
     @GetMapping("/getGoodsListByShopId")
     @ApiOperation(value = "获取门店内商品列表", tags = {"门店后台-首页"})
-    public R<PageInfo<GoodsVO>> getGoodsListByShopId(@ApiParam("门店id") Integer shopId, Integer pageCurr, Integer pageSize) {
+    public R<PageInfo<GoodsVO>> getGoodsListByShopId(@ApiParam("门店id")@RequestParam("shopId") Integer shopId,
+                                                     @ApiParam("门店id")@RequestParam("pageCurr") Integer pageCurr,
+                                                     @ApiParam("门店id")@RequestParam("pageSize") Integer pageSize) {
         PageInfo<GoodsVO> pageInfo = new PageInfo<>(pageCurr, pageSize);
         List<GoodsVO> goodsList = shopService.getGoodsListByShopId(pageInfo, shopId);
         return R.ok(pageInfo.setRecords(goodsList));
@@ -779,6 +773,16 @@
     public R<Integer> addGoods(@RequestBody AddGoodsDTO addGoodsDTO) {
         return R.ok( shopService.addGoodsByShop(addGoodsDTO));
     }
+
+    /**
+     * 编辑商品
+     */
+    @PostMapping("/editGoods")
+    @ApiOperation(value = "编辑商品", tags = {"门店后台-商品管理"})
+    public R<Integer> editGoods(@RequestBody AddGoodsDTO addGoodsDTO) {
+        return R.ok( shopService.editGoodsByShop(addGoodsDTO));
+    }
+
 
     /**
      * 上、下架商品
@@ -815,11 +819,10 @@
 
     /**
      * 获取所有门店
-     * @return
      */
     @PostMapping("/getAllShop")
     public R<List<Shop>> getAllShop(){
-        List<Shop> list = shopService.list(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getStatus, 1));
+        List<Shop> list = shopService.list(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0));
         return R.ok(list);
     }
 
@@ -863,6 +866,7 @@
     }
 
 
+/*
     @GetMapping("/getShopStatistics")
     public R<Map<String, BigDecimal> > getShopStatistics(@RequestParam("shopId") Integer shopId){
         LambdaQueryWrapper<Shop> queryWrapper = new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getStatus, 1);
@@ -872,16 +876,34 @@
         List<Shop> shopList = shopService.list(queryWrapper);
         BigDecimal serverGiveawayMoney = BigDecimal.ZERO;
         BigDecimal giveawayMoney = BigDecimal.ZERO;
-       /* for (Shop shop : shopList) {
+       */
+/* for (Shop shop : shopList) {
             serverGiveawayMoney = serverGiveawayMoney.add(shop.getServerGiveawayMoney());
             giveawayMoney = giveawayMoney.add(shop.getGiveawayMoney().add(shop.getLowerLevelGiveawayMoney()));
-        }*/
+        }*//*
+
         Map<String, BigDecimal> map = new HashMap<>();
         map.put("serverGiveawayMoney", serverGiveawayMoney);
         map.put("giveawayMoney", giveawayMoney);
         return R.ok(map);
     }
+*/
 
+    /**
+     * 获取店铺收益 后天-工作台-收益分析
+     */
+    @PostMapping("/getIncomeAnalysis")
+    R<Map<String, Object>> getIncomeAnalysis(@RequestBody ShopAnalysisDTO shopAnalysisDTO){
+        QueryWrapper<Shop> queryWrapper=new QueryWrapper<>();
+        //余额  已提现 提现中 可提现
+        queryWrapper.select("sum(balance) as balance","sum(withdraw_money) as withdrawMoney"
+                ,"sum(withdraw_audit_money) as withdrawAuditMoney","sum(can_withdraw_money) as canWithdrawMoney");
+        queryWrapper.eq("del_flag",0);
+        if (shopAnalysisDTO.getShopId() != null) {
+            queryWrapper.eq("id", shopAnalysisDTO.getShopId());
+        }
+        return R.ok(shopService.getMap(queryWrapper));
+    }
 
 
 }

--
Gitblit v1.7.1