Pārlūkot izejas kodu

Merge branch 'dev' of http://git.zonelife.cn:3000/fubojin/smqjh into dev

zhangxin 1 nedēļu atpakaļ
vecāks
revīzija
6cadaae524

+ 27 - 7
yami-shop-platform/src/main/java/com/yami/shop/platform/controller/SkuController.java

@@ -45,13 +45,16 @@ public class SkuController {
     @GetMapping("/skuStatisticsList")
     @ApiOperation(value = "对账单汇总表(商品)-列表")
     public R<IPage<SkuStatisticsVo>> skuStatisticsList(PageParam<SkuStatisticsPo> page, SkuStatisticsPo po) {
-//        if (po.getChannelIds().contains(0L)){
-//            List<IdNameVo> idNameVos = channelService.queryMyChannel(SecurityUtils.getSysUser().getUserId());
-//            if (!idNameVos.isEmpty()){
-//                List<Long> ids = idNameVos.stream().map(IdNameVo::getId).collect(Collectors.toList());
-//                po.setChannelIds(ids);
-//            }
-//        }
+        if (po.getChannelIds().contains(0L)){
+            List<IdNameVo> idNameVos = channelService.queryMyChannel(SecurityUtils.getSysUser().getUserId());
+            if (!idNameVos.isEmpty()){
+                List<Long> ids = idNameVos.stream().map(IdNameVo::getId).collect(Collectors.toList());
+                po.setChannelIds(ids);
+            }
+        }
+        if (po.getUserAttrType()==null){
+            po.setUserAttrType("1");
+        }
         return R.SUCCESS(skuService.skuStatisticsList(page,po));
     }
 
@@ -65,6 +68,9 @@ public class SkuController {
                 po.setChannelIds(ids);
             }
         }
+        if (po.getUserAttrType()==null){
+            po.setUserAttrType("1");
+        }
         skuService.skuStatisticsExcel(response,po);
     }
 
@@ -78,6 +84,9 @@ public class SkuController {
                 po.setChannelIds(ids);
             }
         }
+        if (po.getUserAttrType()==null){
+            po.setUserAttrType("1");
+        }
         return R.SUCCESS(skuService.freightStatisticsList(page,po));
     }
 
@@ -91,7 +100,18 @@ public class SkuController {
                 po.setChannelIds(ids);
             }
         }
+        if (po.getUserAttrType()==null){
+            po.setUserAttrType("1");
+        }
         skuService.freightStatisticsExcel(response,po);
         return R.SUCCESS();
     }
+
+    @GetMapping("/test")
+    @ApiOperation("导出测试")
+    public R<Void> test(HttpServletResponse response) {
+        skuService.test(response);
+        return R.SUCCESS();
+    }
+
 }

+ 2 - 0
yami-shop-service/src/main/java/com/yami/shop/service/SkuService.java

@@ -79,4 +79,6 @@ public interface SkuService extends IService<Sku> {
     void freightStatisticsExcel(HttpServletResponse response, FreightStatisticsPo po);
 
     IPage<FreightStatisticsVo> freightStatisticsList(PageParam<FreightStatisticsPo> page, FreightStatisticsPo po);
+
+    void test(HttpServletResponse response);
 }

+ 61 - 0
yami-shop-service/src/main/java/com/yami/shop/service/impl/SkuServiceImpl.java

@@ -17,9 +17,12 @@ import com.alibaba.excel.write.metadata.style.WriteCellStyle;
 import com.alibaba.excel.write.metadata.style.WriteFont;
 import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Lists;
 import com.yami.shop.bean.model.Sku;
+import com.yami.shop.bean.model.User;
 import com.yami.shop.bean.po.FreightStatisticsPo;
 import com.yami.shop.bean.po.SkuStatisticsPo;
 import com.yami.shop.bean.vo.FreightStatisticsVo;
@@ -29,6 +32,7 @@ import com.yami.shop.common.exception.GlobalException;
 import com.yami.shop.common.util.PageParam;
 import com.yami.shop.dao.SkuMapper;
 import com.yami.shop.service.SkuService;
+import com.yami.shop.service.UserService;
 import lombok.SneakyThrows;
 import org.apache.poi.ss.usermodel.HorizontalAlignment;
 import org.apache.poi.ss.usermodel.IndexedColors;
@@ -56,6 +60,8 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements SkuSe
 
     @Autowired
     private SkuMapper skuMapper;
+    @Autowired
+    private UserService userService;
 
     @Override
     public List<Sku> listByProdId(Long prodId) {
@@ -229,4 +235,59 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements SkuSe
         return skuMapper.freightStatisticsList(page,po);
     }
 
+    @Override
+    @SneakyThrows
+    public void test(HttpServletResponse response) {
+        String head = "用户信息表";
+        List<String> heads = Lists.newArrayList();
+        heads.add("手机号");
+        heads.add("积分");
+
+        //deal_num=分销的 deal_money=自己买的 remark=分销的商品 sales_nick_name=自己买的商品 sales_status=总计
+
+        List<List<String>> hs = Lists.newArrayList();
+        heads.forEach(c -> hs.add(Arrays.asList(head, c)));
+        List<List<Object>> data = Lists.newArrayList();
+        List<User> userList = userService.list(new LambdaQueryWrapper<User>().eq(User::getChannelId,1L));
+
+        for (User user : userList) {
+            List<Object> list = Lists.newArrayList();
+            list.add(user.getUserMobile());
+            list.add(userService.test(user.getUserId()));
+            data.add(list);
+        }
+
+        WriteCellStyle headWriteCellStyle = new WriteCellStyle();
+        //设置背景颜色
+        headWriteCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
+        //设置头字体
+        WriteFont headWriteFont = new WriteFont();
+        //字体大小
+        headWriteFont.setFontHeightInPoints((short) 15);
+        //使用微软粗体
+        headWriteFont.setBold(true);
+        //塞入条件
+        headWriteCellStyle.setWriteFont(headWriteFont);
+        //设置头居中
+        headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);
+
+        //内容策略
+        WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
+        //设置 水平居中
+        contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);
+
+        HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
+
+        String fileName = URLEncoder.encode("用户信息表", "UTF-8").replaceAll("\\+", "%20");
+        response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
+        EasyExcel.write(response.getOutputStream())
+                .head(hs)
+                .useDefaultStyle(true)
+                .sheet(head)
+                .registerWriteHandler(horizontalCellStyleStrategy)
+                //自适应宽度
+                //.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+                .doWrite(data);
+    }
+
 }

+ 3 - 10
yami-shop-service/src/main/resources/mapper/UserMapper.xml

@@ -254,12 +254,9 @@
 
     <select id="test" resultType="double">
         SELECT (SELECT SUM(IFNULL(offset_points,0)) FROM tz_order
-        WHERE create_time&gt;= '2025-11-01 00:00:00' and create_time&lt;='2025-11-29 23:59:59' and is_payed=1 and user_id=#{userId}
-
+        WHERE create_time&gt;= '2025-11-01 00:00:00' and create_time&lt;='2025-12-08 23:59:59' and is_payed=1 and user_id=#{userId}
         ) -
-
         (
-
         SELECT  IFNULL(SUM(IFNULL(total_offset_points,0)),0) FROM (SELECT
         CASE
         WHEN refund_type=1 THEN total_offset_points
@@ -268,15 +265,11 @@
         FROM tz_order_refund a
         LEFT JOIN (SELECT SUM(offset_points) total_offset_points ,order_number
         FROM tz_order_refund
-        WHERE apply_time&gt;='2025-11-01 00:00:00' and apply_time&lt;='2025-11-29 23:59:59' and return_money_sts=70 and user_id=#{userId}
+        WHERE apply_time&gt;='2025-11-01 00:00:00' and apply_time&lt;='2025-12-08 23:59:59' and return_money_sts=70 and user_id=#{userId}
         GROUP BY order_number) b on a.order_number=b.order_number
-        WHERE apply_time&gt;='2025-11-01 00:00:00' and apply_time&lt;='2025-11-29 23:59:59' and return_money_sts=70 and user_id=#{userId}
+        WHERE apply_time&gt;='2025-11-01 00:00:00' and apply_time&lt;='2025-12-08 23:59:59' and return_money_sts=70 and user_id=#{userId}
         GROUP BY a.order_number) a
-
-
         )
-
-
     </select>
 
 </mapper>