ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java
@@ -136,6 +136,16 @@ public R<List<MgtUserTaskMsgVo>> getTaskMsgList() { return R.fail("获取任务通知列表失败:" + throwable.getMessage()); } @Override public R<List<Shop>> listShopByCityCode(List<String> cityCodes) { return R.fail("获取商户列表失败:" + throwable.getMessage()); } @Override public R<List<Shop>> listShopByIds(List<String> ids) { return R.fail("获取商户列表失败:" + throwable.getMessage()); } }; } } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java
@@ -180,4 +180,22 @@ */ @PostMapping("/shop/getTaskMsgList") R<List<MgtUserTaskMsgVo>> getTaskMsgList(); /** * 根据城市code获取店铺 * @param cityCodes * @return */ @PostMapping("/shop/listShopByCityCode") R<List<Shop>> listShopByCityCode(@RequestBody List<String> cityCodes); /** * 根据ids获取店铺 * @param ids * @return */ @PostMapping("/shop/listShopByIds") R<List<Shop>> listShopByIds(@RequestBody List<String> ids); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java
@@ -129,7 +129,7 @@ page.setCurrent(1); List<MgtActivityOrderPageVo> mgtActivityOrderPageVos = orderService.pageMgtActivityOrder(page,mgtShopOrderPageDto); ExcelUtil<MgtActivityOrderPageVo> util = new ExcelUtil<MgtActivityOrderPageVo>(MgtActivityOrderPageVo.class); util.exportExcel(response, mgtActivityOrderPageVos, "秒杀订单列表"); util.exportExcel(response, mgtActivityOrderPageVos, "秒杀订单列表", "秒杀订单列表"); } @RequestMapping(value = "/pageMgtShopOrder", method = RequestMethod.POST) @@ -154,7 +154,7 @@ page.setCurrent(1); List<MgtShopOrderPageVo> shopOrderPageVoList = orderService.pageMgtShopOrder(page,mgtShopOrderPageDto); ExcelUtil<MgtShopOrderPageVo> util = new ExcelUtil<MgtShopOrderPageVo>(MgtShopOrderPageVo.class); util.exportExcel(response, shopOrderPageVoList, "门店订单列表"); util.exportExcel(response, shopOrderPageVoList, "门店订单列表", "门店订单列表"); } @RequestMapping(value = "/getMgtOrderDetail", method = RequestMethod.POST) ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderPageVo.java
@@ -46,6 +46,9 @@ @ApiModelProperty(value="商品数量") private Integer goodsNum; @ApiModelProperty(value="核销商户类型(0=全部店铺,1=部分商户,2=单个商户)") private Integer shopNumber; @ApiModelProperty(value="商户id") private Long shopId; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageVo.java
@@ -39,43 +39,43 @@ @ApiModelProperty(value = "用户姓名") private String userName; @Excel(name = "用户手机", width = 30) @Excel(name = "用户手机", width = 30, sort = 4) @ApiModelProperty(value = "用户手机") private String userMobile; @ApiModelProperty(value="订单商品列表") private List<MgtOrderGoodsPageVo> mgtOrderGoodsPageVoList; @Excel(name = "商品信息", width = 30, sort = 4) @Excel(name = "商品信息", width = 30, sort = 5) @ApiModelProperty(value="商品信息") private String goodsInfo; @Excel(name = "订单金额", width = 30, sort = 5) @Excel(name = "订单金额", width = 30, sort = 6) @ApiModelProperty(value="订单金额") @JsonSerialize(using = ToStringSerializer.class) private BigDecimal orderMoney; @Excel(name = "订单提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 8) @Excel(name = "订单提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 9) @ApiModelProperty(value="创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; @Excel(name = "优惠金额", width = 30, sort = 6) @Excel(name = "优惠金额", width = 30, sort = 7) @ApiModelProperty(value="优惠金额") @JsonSerialize(using = ToStringSerializer.class) private BigDecimal discountMoney; @Excel(name = "应付金额", width = 30, sort = 7) @Excel(name = "应付金额", width = 30, sort = 8) @ApiModelProperty(value="应付金额") @JsonSerialize(using = ToStringSerializer.class) private BigDecimal receivableMoney; @Excel(name = "订单已付金额", width = 30, sort = 9) @Excel(name = "订单已付金额", width = 30, sort = 10) @ApiModelProperty(value="订单实际支付金额") @JsonSerialize(using = ToStringSerializer.class) private BigDecimal payMoney; @Excel(name = "剩余金额", width = 30, sort = 10) @Excel(name = "剩余金额", width = 30, sort = 12) @ApiModelProperty(value="订单未支付金额") @JsonSerialize(using = ToStringSerializer.class) private BigDecimal unPaidMoney; @@ -87,11 +87,11 @@ @ApiModelProperty(value="核销店铺id") private Long shopId; @Excel(name = "核销店铺", width = 30, sort = 12) @Excel(name = "核销店铺", width = 30, sort = 13) @ApiModelProperty(value="核销店铺") private String shopName; @Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 13) @Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 14) @ApiModelProperty(value="核销时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date verifyTime; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -47,6 +47,7 @@ import com.ruoyi.system.api.constant.DelayTaskEnum; import com.ruoyi.system.api.constant.SecurityConstant; import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.system.api.domain.poji.activity.Activity; import com.ruoyi.system.api.domain.poji.activity.ActivityRecord; import com.ruoyi.system.api.domain.poji.config.DelayTask; import com.ruoyi.system.api.domain.poji.goods.Goods; @@ -1354,11 +1355,104 @@ //处理订单回显 for (AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList) { if(member.getBindingFlag()==0&&appUserOrderPageVo.getOrderFrom()==2){ appUserOrderPageVo.setShopName("全部店铺"); //查询秒杀活动的参与店铺 R<Activity> activity = remoteActivityService.getActivity(appUserOrderPageVo.getActivityId()); if(activity.getCode() != 200){ throw new RuntimeException(activity.getMsg()); } Activity data = activity.getData(); if(data.getAreaFlag() == 1){ appUserOrderPageVo.setShopNumber(0); appUserOrderPageVo.setShopName("全部店铺"); } if(data.getAreaFlag() == 2 && data.getShopFlag() == 1){ String designatedArea = data.getDesignatedArea(); String[] split = designatedArea.split(","); List<String> list = Arrays.asList(split); R<List<Shop>> listR = remoteShopService.listShopByCityCode(list); if(listR.getCode() != 200){ throw new RuntimeException(listR.getMsg()); } List<Shop> data1 = listR.getData(); appUserOrderPageVo.setShopNumber(1); appUserOrderPageVo.setShopName(JSON.toJSONString(data1)); } if(data.getShopFlag() == 2){ String applicableShop = data.getApplicableShop(); String[] split = applicableShop.split(","); List<String> list = Arrays.asList(split); R<List<Shop>> listR = remoteShopService.listShopByIds(list); if(listR.getCode() != 200){ throw new RuntimeException(listR.getMsg()); } List<Shop> data1 = listR.getData(); appUserOrderPageVo.setShopNumber(1); appUserOrderPageVo.setShopName(JSON.toJSONString(data1)); } }else if(member.getBindingFlag()==1&&appUserOrderPageVo.getOrderFrom()==2){ Long relationShopId = member.getRelationShopId(); R<Shop> shop = remoteShopService.getShop(relationShopId); if(shop.getCode() != 200){ throw new RuntimeException(shop.getMsg()); } Shop data1 = shop.getData(); //查询秒杀活动的参与店铺 R<Activity> activity = remoteActivityService.getActivity(appUserOrderPageVo.getActivityId()); if(activity.getCode() != 200){ throw new RuntimeException(activity.getMsg()); } Activity data = activity.getData(); if(data.getAreaFlag() == 1){ appUserOrderPageVo.setShopNumber(2); appUserOrderPageVo.setShopName(data1.getShopName()); appUserOrderPageVo.setShopServicePhone(data1.getShopServicePhone()); } if(data.getAreaFlag() == 2 && data.getShopFlag() == 1){ String designatedArea = data.getDesignatedArea(); String[] split = designatedArea.split(","); List<String> list = Arrays.asList(split); R<List<Shop>> listR = remoteShopService.listShopByCityCode(list); if(listR.getCode() != 200){ throw new RuntimeException(listR.getMsg()); } List<Shop> data2 = listR.getData(); List<Long> collect = data2.stream().map(Shop::getShopId).collect(Collectors.toList()); if(collect.contains(relationShopId)){ appUserOrderPageVo.setShopNumber(2); appUserOrderPageVo.setShopName(data1.getShopName()); appUserOrderPageVo.setShopServicePhone(data1.getShopServicePhone()); }else{ appUserOrderPageVo.setShopNumber(1); appUserOrderPageVo.setShopName(JSON.toJSONString(data2)); } } if(data.getShopFlag() == 2){ String applicableShop = data.getApplicableShop(); String[] split = applicableShop.split(","); List<String> list = Arrays.asList(split); R<List<Shop>> listR = remoteShopService.listShopByIds(list); if(listR.getCode() != 200){ throw new RuntimeException(listR.getMsg()); } List<Shop> data2 = listR.getData(); List<Long> collect = data2.stream().map(Shop::getShopId).collect(Collectors.toList()); if(collect.contains(relationShopId)){ appUserOrderPageVo.setShopNumber(2); appUserOrderPageVo.setShopName(data1.getShopName()); appUserOrderPageVo.setShopServicePhone(data1.getShopServicePhone()); }else{ appUserOrderPageVo.setShopNumber(1); appUserOrderPageVo.setShopName(JSON.toJSONString(data2)); } } }else{ simpleShopVo = shopMap.get(appUserOrderPageVo.getShopId()); appUserOrderPageVo.setShopName(simpleShopVo.getShopName()); appUserOrderPageVo.setShopServicePhone(simpleShopVo.getShopServicePhone()); appUserOrderPageVo.setShopNumber(2); if (appUserOrderPageVo.getShopId().equals(appUserOrderPageDto.getShopId())) { appUserOrderPageVo.setSameShop(1); } else { ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -524,6 +524,7 @@ toc.discount_money discountMoney, toc.receivable_money receivableMoney, toc.create_time createTime, tog.goods_price activityPrice, toc.pay_money payMoney, CASE WHEN toc.unbinding_flag = 0 THEN toc.shop_id WHEN toc.unbinding_flag = 1 AND toc.order_from = 1 THEN toc.shop_id WHEN toc.order_status = 3 THEN toc.shop_id ELSE NULL END shopId, toc.use_time verifyTime @@ -709,6 +710,7 @@ SELECT toc.order_id orderId, toc.order_no orderNo, toc.out_trade_no as outTradeNo, toc.user_id userId, toc.order_money orderMoney, toc.discount_money discountMoney, ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
@@ -390,4 +390,31 @@ return R.ok(userTaskMsgVoList); } /** * @description * @author jqs * @date 2023/8/10 23:01 * @param cityCodes * @return R<List<Long>> */ @PostMapping("/listShopByCityCode") public R<List<Shop>> listShopByCityCode(@RequestBody List<String> cityCodes){ List<Shop> shopIdList = shopService.listShopByCityCode(cityCodes); return R.ok(shopIdList); } /** * @description * @author jqs * @date 2023/8/10 23:01 * @return R<List<Long>> */ @PostMapping("/listShopByIds") public R<List<Shop>> listShopByIds(@RequestBody List<String> ids){ List<Shop> shopIdList = shopService.listByIds(ids); return R.ok(shopIdList); } } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopPageDto.java
@@ -41,6 +41,9 @@ @ApiModelProperty(value = "签约市code") private String signCityCode; @ApiModelProperty(value = "签约区code") private String signAreaCode; @ApiModelProperty(value = "扶持能力1.有2.没有") private Integer supportingCapacityFlag; ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
@@ -277,4 +277,17 @@ * @return List<MgtUserTaskMsgVo> */ List<MgtUserTaskMsgVo> getTaskMsgList(); /** * @description * @author jqs * @date 2023/8/10 22:54 * @param cityCodes * @return List<Long> */ List<Shop> listShopByCityCode(@Param("cityCodes")List<String> cityCodes); } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -1900,4 +1900,18 @@ Integer pageSize = merchantBasicdataSettlementDto.getPageSize(); return HuiFuTianXiaUtil.getMerchantBasicdataSettlement(IdUtils.simpleUUID(), huifuId, startTime, endTime, pageNum.toString(), pageSize.toString()); } /** * @description * @author jqs * @date 2023/8/10 22:53 * @param cityCodes * @return List<Long> */ @Override public List<Shop> listShopByCityCode(List<String> cityCodes){ return shopMapper.listShopByCityCode(cityCodes); } } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
@@ -441,4 +441,14 @@ * @return */ R<List<MerchantBasicdataSettlementVo>> getMerchantBasicDataSettlement(MerchantBasicdataSettlementDto merchantBasicdataSettlementDto); /** * @description * @author jqs * @date 2023/8/10 22:54 * @param cityCodes * @return List<Long> */ List<Shop> listShopByCityCode(List<String> cityCodes); } ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
@@ -893,6 +893,9 @@ <if test="param.signCityCode!=null and param.signCityCode!=''"> AND ts.sign_city_code = #{param.signCityCode} </if> <if test="param.signAreaCode!=null and param.signAreaCode!=''"> AND ts.sign_area_code = #{param.signAreaCode} </if> <if test="param.recommendPerson!=null and param.recommendPerson!=''"> AND ts.recommend_person = #{param.recommendPerson} </if> @@ -990,6 +993,18 @@ </foreach> </select> <select id="listShopByCityCode" resultMap="ShopResult"> <include refid="selectShopVo"/> WHERE del_flag = 0 and shop_status = 1 AND shop_city_code IN <foreach item="id" collection="cityCodes" open="(" separator="," close=")"> #{id} </foreach> </select> <select id="getTaskMsgList" resultType="com.ruoyi.system.api.domain.vo.MgtUserTaskMsgVo"> SELECT ts.belong_user_id userId, ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
@@ -347,7 +347,6 @@ /** * 获取部门树列表 */ @RequiresPermissions("system:user:list") @GetMapping("/deptTree") public AjaxResult deptTree(SysDept dept) { ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java
@@ -51,6 +51,7 @@ List<RegionVo> regionVoList = regionMapper.listRegionVo(); List<RegionVo> regionVoList1 = new ArrayList<>(); List<RegionVo> regionVoList2 = new ArrayList<>(); List<RegionVo> regionVoList3 = new ArrayList<>(); // 将地区按照级别分别存放到不同的列表中 for (RegionVo regionVo : regionVoList) { if (regionVo.getLevel() == 1) { @@ -59,9 +60,27 @@ if (regionVo.getLevel() == 2) { regionVoList2.add(regionVo); } if (regionVo.getLevel() == 3) { regionVoList3.add(regionVo); } } RegionVo children; Iterator<RegionVo> regionVoIterator2; for (RegionVo regionVo : regionVoList2) { if (null == regionVo.getChildren()) { regionVo.setChildren(new ArrayList<>()); } regionVoIterator2 = regionVoList3.iterator(); while (regionVoIterator2.hasNext()) { children = regionVoIterator2.next(); if (regionVo.getId().equals(children.getParentId())) { regionVo.getChildren().add(children); regionVoIterator2.remove(); } } } // 将第二级地区挂到第一级地区下面 for (RegionVo regionVo : regionVoList1) { if (null == regionVo.getChildren()) {