ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
@@ -3,6 +3,7 @@ import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.model.TAppCoupon; import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.account.api.model.TAppUserAddress; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.dto.PointChangeDto; import org.slf4j.Logger; @@ -61,6 +62,11 @@ public R<List<TAppUser>> getUserByIds(List<Long> appUserIds) { return R.fail("根据用户id查询用户信息失败:"+throwable.getMessage()); } @Override public R<TAppUserAddress> getAddressById(Long id) { return R.fail("通过地址id `查询用户地址失败:"+throwable.getMessage()); } }; } } ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
@@ -2,6 +2,7 @@ import com.ruoyi.account.api.model.TAppCoupon; import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.account.api.model.TAppUserAddress; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.account.api.factory.AppUserFallbackFactory; import com.ruoyi.common.core.domain.R; @@ -29,6 +30,13 @@ */ @PostMapping(value = "/t-app-user/user/getUserByIds") public R<List<TAppUser>> getUserByIds(@RequestBody List<Long> appUserIds); /** * 远程调用 通过地址id 查询地址信息 * @param id * @return */ @GetMapping(value = "/t-app-user-address/getAddressById/{id}") public R<TAppUserAddress> getAddressById(@PathVariable("id") Long id); /** ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserIntegralChange.java
@@ -32,6 +32,8 @@ @ApiModelProperty(value = "主键") @TableId("id") private Long id; @TableField(exist = false) private String uid; @ApiModelProperty(value = "流水号") @TableField("code") ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
@@ -57,7 +57,7 @@ @Override public R callBack(String code, String outTradeNo) { return R.fail("支付回调" + cause.getMessage()); return R.fail("支付回调:" + cause.getMessage()); } ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TExchangeOrder.java
@@ -81,7 +81,7 @@ @ApiModelProperty(value = "发货人id") @TableField("consigner_id") private Integer consignerId; private Long consignerId; @ApiModelProperty(value = "发货时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @@ -100,6 +100,19 @@ @ApiModelProperty(value = "取消人id") @TableField("cancellation_id") private Integer cancellationId; private Long cancellationId; @ApiModelProperty(value = "收货人") @TableField(exist = false) private String receivingName; @ApiModelProperty(value = "收货地址") @TableField(exist = false) private String receivingAddress; @ApiModelProperty(value = "发货人") @TableField(exist = false) private String consignerName; @ApiModelProperty(value = "取消人") @TableField(exist = false) private String cancellationName; } ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrder.java
@@ -116,7 +116,7 @@ @ApiModelProperty(value = "发货人id") @TableField("consigner_id") private Integer consignerId; private Long consignerId; @ApiModelProperty(value = "发货时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @@ -135,7 +135,7 @@ @ApiModelProperty(value = "取消人id") @TableField("cancellation_id") private Integer cancellationId; private Long cancellationId; @ApiModelProperty(value = "退款流水号") @TableField("refund_code") @@ -158,4 +158,17 @@ @TableField("refund_time") private LocalDateTime refundTime; @ApiModelProperty(value = "收货人") @TableField(exist = false) private String receivingName; @ApiModelProperty(value = "收货地址") @TableField(exist = false) private String receivingAddress; @ApiModelProperty(value = "发货人") @TableField(exist = false) private String consignerName; @ApiModelProperty(value = "取消人") @TableField(exist = false) private String cancellationName; } ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrder.java
@@ -64,7 +64,7 @@ @TableField("discount_amount") private BigDecimal discountAmount; @ApiModelProperty(value = "支付金额") @ApiModelProperty(value = "实付支付金额") @TableField("payment_amount") private BigDecimal paymentAmount; ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/ShoppingOrderQuery.java
New file @@ -0,0 +1,29 @@ package com.ruoyi.order.api.query; import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel(value = "ShoppingOrderQuery对象",description = "管理后台购物订单查询对象") public class ShoppingOrderQuery extends BasePage { @ApiModelProperty(value = "订单编号") private String code; @ApiModelProperty(value = "手机号") private String phone; @ApiModelProperty(value = "状态(1=待发货,2=待收货,3=已完成,4=已取消)") private Integer status; @ApiModelProperty(value = "商品名称") private String name; @ApiModelProperty(value = "创建时间2020-01-01 00:00:00 - 2021-01-01 23:59:59") private String startTime; @ApiModelProperty(value = "用户ids 前端忽略") private List<Long> userIds; @ApiModelProperty(value = "商品ids 前端忽略") private List<Integer> goodsIds; @ApiModelProperty(value = "优惠券ids 前端忽略") private List<Integer> couponIds; } ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/VipShoppingOrderQuery.java
New file @@ -0,0 +1,27 @@ package com.ruoyi.order.api.query; import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel(value = "ChargingOrderQuery对象",description = "管理后台充电订单查询对象") public class VipShoppingOrderQuery extends BasePage { @ApiModelProperty(value = "手机号") private String phone; @ApiModelProperty(value = "会员时长(1=月卡,2=季卡,3=年卡)") private Integer vipType; @ApiModelProperty(value = "会员类型id") private Integer vipId; @ApiModelProperty(value = "时间范围2020-01-01 00:00:00 - 2021-01-01 23:59:59") private String startTime; @ApiModelProperty(value = "用户ids 前端忽略") private List<Long> userIds; @ApiModelProperty(value = "商品ids 前端忽略") private List<Integer> goodsIds; @ApiModelProperty(value = "优惠券ids 前端忽略") private List<Integer> couponIds; } ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/CouponFallbackFactory.java
@@ -10,6 +10,8 @@ import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import java.util.List; /** * @author zhibing.pu * @Date 2024/8/16 13:48 @@ -28,6 +30,11 @@ public R<TCoupon> getCouponById1(Integer id) { return R.fail("根据id获取优惠券信息失败:" + throwable.getMessage()); } @Override public R<List<Integer>> getCouponIdsByName(String name) { return R.fail("根据名称查询优惠券ids:" + throwable.getMessage()); } }; } ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsFallbackFactory.java
@@ -8,6 +8,8 @@ import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import java.util.List; /** * @author zhibing.pu * @Date 2024/8/16 13:48 @@ -26,6 +28,11 @@ public R<TGoods> getGoodsById(Integer id) { return R.fail("根据id获取商品信息失败:" + throwable.getMessage()); } @Override public R<List<Integer>> getGoodsIdsByName(String name) { return R.fail("根据商品名称获取商品ids失败:" + throwable.getMessage()); } }; } ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/CouponClient.java
@@ -9,6 +9,8 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import java.util.List; /** * @author zhibing.pu * @Date 2024/8/16 14:00 @@ -24,4 +26,6 @@ */ @PostMapping("/t-coupon/getCouponById1/{id}") R<TCoupon> getCouponById1(@PathVariable("id") Integer id); @PostMapping("/t-coupon/getCouponIdsByName/{name}") R<List<Integer>> getCouponIdsByName(@PathVariable("name")String name); } ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java
@@ -9,6 +9,8 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import java.util.List; /** * @author zhibing.pu * @Date 2024/8/16 13:47 @@ -23,4 +25,11 @@ */ @PostMapping("/t-goods/getGoodsById/{id}") R<TGoods> getGoodsById(@PathVariable("id") Integer id); /** * 远程调用 根据商品名称查询商品ids * @param name * @return */ @PostMapping("/t-goods/getGoodsIdsByName/{name}") public R<List<Integer>> getGoodsIdsByName(@PathVariable("name")String name); } ruoyi-service/ruoyi-account/pom.xml
@@ -15,7 +15,6 @@ </description> <dependencies> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-api-order</artifactId> ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserAddressController.java
@@ -35,6 +35,17 @@ } /** * 远程调用 通过地址id 查询地址信息 * @param id * @return */ @GetMapping(value = "/getAddressById/{id}") public R<TAppUserAddress> getAddressById(@PathVariable("id") Long id) { TAppUserAddress byId = appUserAddressService.getById(id); return R.ok(byId); } /** * 查询用户地址列表 */ @ApiOperation(tags = {"小程序-用户地址"},value = "查询用户地址列表") ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -424,6 +424,7 @@ for (TAppUserIntegralChange record : page.getRecords()) { record.setDateTime(record.getCreateTime()); record.setUid(record.getId().toString()); if (record.getChangeType()==2){ R<TChargingOrder> tChargingOrderR = chargingOrderClient.orderDetail(Long.valueOf(record.getExtension())); if (tChargingOrderR.getData()!=null) { @@ -440,6 +441,13 @@ return R.ok(page); } @ApiOperation(value = "积分详情", tags = {"小程序-个人中心"}) @GetMapping(value = "/user/points/detail") public R<TAppUserIntegralChange> pointsDetail(String id) { TAppUserIntegralChange byId = integralChangeService.getById(id); return R.ok(byId); } @ApiOperation(value = "冻结解冻用户", tags = {"后台-用户管理-用户列表"}) @@ -809,6 +817,12 @@ return R.ok(); } @ApiOperation(value = "添加编辑车辆", tags = {"小程序-个人中心-车辆"}) @DeleteMapping(value = "/user/car/delete") public R carDelete(String id) { boolean b = appUserCarService.removeById(id); return R.ok(); } @ApiOperation(value = "车辆详情", tags = {"小程序-个人中心-车辆"}) @GetMapping(value = "/user/car/detail") public R<TAppUserCar> carDetail(String id) { ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
@@ -5,13 +5,18 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.model.TAppUserAddress; import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient; import com.ruoyi.chargingPile.api.model.TChargingPile; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.api.model.TExchangeOrder; import com.ruoyi.order.api.model.TShoppingOrder; import com.ruoyi.order.api.query.ShoppingOrderQuery; import com.ruoyi.order.api.query.TActivityStatisticsQuery; import com.ruoyi.order.api.vo.TActivityStatisticslVO; import com.ruoyi.order.api.vo.TActivityVO; import com.ruoyi.order.dto.ExchangeOrderGoodsInfo; import com.ruoyi.order.dto.GetMyExchangeOrder; @@ -20,13 +25,19 @@ import com.ruoyi.order.service.TShoppingOrderService; import com.ruoyi.common.core.dto.ExchangeDto; import com.ruoyi.common.core.utils.OrderCodeUtil; import com.ruoyi.other.api.feignClient.CouponClient; import com.ruoyi.other.api.feignClient.GoodsClient; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -52,6 +63,92 @@ private AppUserClient appUserClient; @Resource private ChargingPileClient chargingPileClient; @Resource private GoodsClient goodsClient; @Resource private CouponClient couponClient; @PostMapping("/getExchangeOrderList") @ApiOperation(value = "列表查询", tags = {"管理后台-兑换订单"}) public AjaxResult<PageInfo<TExchangeOrder>> getExchangeOrderList(@RequestBody ShoppingOrderQuery query) { if (StringUtils.hasLength(query.getPhone())) { List<Long> data = appUserClient.getUserIdsByPhone(query.getPhone()).getData(); if (data.isEmpty()){ return AjaxResult.success(new PageInfo<TShoppingOrder>()); } query.setUserIds(data); } if (StringUtils.hasLength(query.getName())) { List<Integer> data = goodsClient.getGoodsIdsByName(query.getName()).getData(); query.setGoodsIds(data); List<Integer> data1 = couponClient.getCouponIdsByName(query.getName()).getData(); query.setCouponIds(data1); if (data.isEmpty() && data1.isEmpty()){ return AjaxResult.success(new PageInfo<TShoppingOrder>()); } } PageInfo<TExchangeOrder> res = exchangeOrderService.pageList(query); return AjaxResult.success(res); } @Resource private SysUserClient sysUserClient; @PostMapping("/getShoppingOrderInfoById") @ApiOperation(value = "根据订单id查看订单详情", tags = {"管理后台-兑换订单"}) public AjaxResult<TExchangeOrder> getShoppingOrderList(String id) { TExchangeOrder byId = exchangeOrderService.getById(id); if (byId.getConsignerId()!=null){ SysUser data = sysUserClient.getSysUser(byId.getConsignerId()).getData(); if (data!=null){ byId.setConsignerName(data.getUserName()); } } if (byId.getCancellationId()!=null){ SysUser data = sysUserClient.getSysUser(byId.getCancellationId()).getData(); if (data!=null){ byId.setCancellationName(data.getUserName()); } } if (byId.getAppUserAddressId()!=null){ TAppUserAddress data = appUserClient.getAddressById(byId.getAppUserAddressId()).getData(); if (data!=null){ byId.setReceivingName(data.getName()+"-"+data.getPhone()); byId.setReceivingAddress(data.getAddress()); } } return AjaxResult.success(byId); } @Resource private TokenService tokenService; @GetMapping("/deleteShoppingOrder") @ApiOperation(value = "批量删除订单", tags = {"管理后台-兑换订单"}) public AjaxResult<TExchangeOrder> deleteShoppingOrder(String ids) { exchangeOrderService.removeBatchByIds(Arrays.asList(ids.split(","))); return AjaxResult.success(); } @GetMapping("/cancelShoppingOrder") @ApiOperation(value = "取消订单", tags = {"管理后台-兑换订单"}) public AjaxResult cancelShoppingOrder(String id) { TExchangeOrder byId = exchangeOrderService.getById(id); Long userid = tokenService.getLoginUser().getUserid(); // todo 根据支付方式 取消订单 byId.setCancellationId(userid); byId.setCancellationTime(LocalDateTime.now()); byId.setStatus(4); exchangeOrderService.updateById(byId); return AjaxResult.success(); } @GetMapping("/consignerShoppingOrder") @ApiOperation(value = "发货", tags = {"管理后台-兑换订单"}) public AjaxResult consignerShoppingOrder(String id) { TExchangeOrder byId = exchangeOrderService.getById(id); Long userid = tokenService.getLoginUser().getUserid(); byId.setConsignerId(userid); byId.setConsignerTime(LocalDateTime.now()); byId.setStatus(2); exchangeOrderService.updateById(byId); return AjaxResult.success(); } /** * 管理后台 活动费用统计 * @param @@ -62,6 +159,11 @@ if (StringUtils.hasLength(dto.getPhone())){ // 远程调用查询出符合条件的用户ids List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData(); if (data.isEmpty()){ TActivityVO res = new TActivityVO(); res.setList(new PageInfo<TActivityStatisticslVO>()); return R.ok(res); } dto.setUserIds(data); } if (dto.getSiteId()!=null){ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
@@ -3,19 +3,32 @@ import java.time.LocalDateTime; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.model.TAppUserAddress; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.dto.ExchangeDto; import com.ruoyi.common.core.utils.OrderCodeUtil; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.api.model.TExchangeOrder; import com.ruoyi.order.api.model.TShoppingOrder; import com.ruoyi.order.api.query.ShoppingOrderQuery; import com.ruoyi.order.dto.*; import com.ruoyi.order.service.TShoppingOrderService; import com.ruoyi.other.api.feignClient.CouponClient; import com.ruoyi.other.api.feignClient.GoodsClient; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.Arrays; import java.util.Date; import java.util.List; /** @@ -33,8 +46,102 @@ @Resource private TShoppingOrderService shoppingOrderService; @Resource private AppUserClient appUserClient; @Resource private GoodsClient goodsClient; @Resource private CouponClient couponClient; @PostMapping("/getShoppingOrderList") @ApiOperation(value = "列表查询", tags = {"管理后台-购物订单"}) public AjaxResult<PageInfo<TShoppingOrder>> getShoppingOrderList(@RequestBody ShoppingOrderQuery query) { if (StringUtils.hasLength(query.getPhone())) { List<Long> data = appUserClient.getUserIdsByPhone(query.getPhone()).getData(); if (data.isEmpty()){ return AjaxResult.success(new PageInfo<TShoppingOrder>()); } query.setUserIds(data); } if (StringUtils.hasLength(query.getName())) { List<Integer> data = goodsClient.getGoodsIdsByName(query.getName()).getData(); query.setGoodsIds(data); List<Integer> data1 = couponClient.getCouponIdsByName(query.getName()).getData(); query.setCouponIds(data1); if (data.isEmpty() && data1.isEmpty()){ return AjaxResult.success(new PageInfo<TShoppingOrder>()); } } PageInfo<TShoppingOrder> res = shoppingOrderService.pageList(query); return AjaxResult.success(res); } @Resource private SysUserClient sysUserClient; @PostMapping("/getShoppingOrderInfoById") @ApiOperation(value = "根据订单id查看订单详情", tags = {"管理后台-购物订单"}) public AjaxResult<TShoppingOrder> getShoppingOrderList(String id) { TShoppingOrder byId = shoppingOrderService.getById(id); if (byId.getConsignerId()!=null){ SysUser data = sysUserClient.getSysUser(byId.getConsignerId()).getData(); if (data!=null){ byId.setConsignerName(data.getUserName()); } } if (byId.getCancellationId()!=null){ SysUser data = sysUserClient.getSysUser(byId.getCancellationId()).getData(); if (data!=null){ byId.setCancellationName(data.getUserName()); } } if (byId.getAppUserAddressId()!=null){ TAppUserAddress data = appUserClient.getAddressById(byId.getAppUserAddressId()).getData(); if (data!=null){ byId.setReceivingName(data.getName()+"-"+data.getPhone()); byId.setReceivingAddress(data.getAddress()); } } return AjaxResult.success(byId); } @GetMapping("/deleteShoppingOrder") @ApiOperation(value = "批量删除订单", tags = {"管理后台-购物订单"}) public AjaxResult<TShoppingOrder> deleteShoppingOrder(String ids) { shoppingOrderService.removeBatchByIds(Arrays.asList(ids.split(","))); return AjaxResult.success(); } @Resource private TokenService tokenService; @GetMapping("/cancelShoppingOrder") @ApiOperation(value = "取消订单", tags = {"管理后台-购物订单"}) public AjaxResult cancelShoppingOrder(String id) { TShoppingOrder byId = shoppingOrderService.getById(id); Long userid = tokenService.getLoginUser().getUserid(); // todo 根据支付方式 取消订单 byId.setCancellationId(userid); byId.setCancellationTime(LocalDateTime.now()); byId.setStatus(4); switch (byId.getPaymentType()){ case 1: // 微信 break; case 2: // 支付宝 break; } shoppingOrderService.updateById(byId); return AjaxResult.success(); } @GetMapping("/consignerShoppingOrder") @ApiOperation(value = "发货", tags = {"管理后台-购物订单"}) public AjaxResult consignerShoppingOrder(String id) { TShoppingOrder byId = shoppingOrderService.getById(id); Long userid = tokenService.getLoginUser().getUserid(); byId.setConsignerId(userid); byId.setConsignerTime(LocalDateTime.now()); byId.setStatus(2); shoppingOrderService.updateById(byId); return AjaxResult.success(); } @GetMapping("/getMyShoppingOrderList") @ApiOperation(value = "获取购买订单列表", tags = {"小程序-商城购买订单"}) public AjaxResult<List<MyShoppingOrderList>> getMyShoppingOrderList(GetMyShoppingOrderList query){ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TVipOrderController.java
@@ -1,9 +1,24 @@ package com.ruoyi.order.controller; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TExchangeOrder; import com.ruoyi.order.api.model.TShoppingOrder; import com.ruoyi.order.api.model.TVipOrder; import com.ruoyi.order.api.query.ShoppingOrderQuery; import com.ruoyi.order.api.query.VipShoppingOrderQuery; import com.ruoyi.order.service.TVipOrderService; import io.swagger.annotations.Api; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import io.swagger.annotations.ApiOperation; import org.omg.CORBA.PRIVATE_MEMBER; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.Arrays; import java.util.List; /** * <p> @@ -18,5 +33,33 @@ @RequestMapping("/t-vip-order") public class TVipOrderController { @Resource private TVipOrderService vipOrderService; @Resource private AppUserClient appUserClient; @PostMapping("/getVipOrderList") @ApiOperation(value = "列表查询", tags = {"管理后台-会员订单"}) public AjaxResult<PageInfo<TVipOrder>> getVipOrderList(@RequestBody VipShoppingOrderQuery query) { if (StringUtils.hasLength(query.getPhone())){ List<Long> data = appUserClient.getUserIdsByPhone(query.getPhone()).getData(); if (data.isEmpty()){ return AjaxResult.success(new PageInfo<TVipOrder>()); } } PageInfo<TVipOrder> res = vipOrderService.pageList(query); return AjaxResult.success(res); } @PostMapping("/addVipOrder") @ApiOperation(value = "添加会员订单", tags = {"管理后台-会员订单"}) public AjaxResult addVipOrder(@RequestBody TVipOrder dto) { vipOrderService.save(dto); return AjaxResult.success(); } @GetMapping("/deleteVipOrder") @ApiOperation(value = "批量删除会员订单", tags = {"管理后台-会员订单"}) public AjaxResult deleteVipOrder(String id) { vipOrderService.removeBatchByIds(Arrays.asList(id.split(","))); return AjaxResult.success(); } } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TExchangeOrderMapper.java
@@ -1,8 +1,14 @@ package com.ruoyi.order.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TExchangeOrder; import com.ruoyi.order.api.model.TShoppingOrder; import com.ruoyi.order.api.query.ShoppingOrderQuery; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -15,4 +21,7 @@ @Mapper public interface TExchangeOrderMapper extends BaseMapper<TExchangeOrder> { List<TExchangeOrder> pageList(@Param("pageInfo")PageInfo<TExchangeOrder> pageInfo, @Param("req")ShoppingOrderQuery query, @Param("startTime1")String startTime1, @Param("startTime2")String startTime2); } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TShoppingOrderMapper.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TShoppingOrder; import com.ruoyi.order.api.query.ShoppingOrderQuery; import com.ruoyi.order.api.query.TActivityStatisticsQuery; import com.ruoyi.order.api.vo.TActivityStatisticslVO; import org.apache.ibatis.annotations.Mapper; @@ -34,4 +35,7 @@ */ List<TShoppingOrder> getNoInvoicedOrder(@Param("appUserId") Long appUserId, @Param("month") String month, @Param("pageCurr") Integer pageCurr, @Param("pageSize") Integer pageSize); List<TShoppingOrder> pageList(@Param("pageInfo")PageInfo<TShoppingOrder> pageInfo, @Param("req")ShoppingOrderQuery query, @Param("startTime1")String startTime1, @Param("startTime2")String startTime2); } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TVipOrderMapper.java
@@ -1,8 +1,15 @@ package com.ruoyi.order.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TShoppingOrder; import com.ruoyi.order.api.model.TVipOrder; import com.ruoyi.order.api.query.ShoppingOrderQuery; import com.ruoyi.order.api.query.VipShoppingOrderQuery; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -15,4 +22,7 @@ @Mapper public interface TVipOrderMapper extends BaseMapper<TVipOrder> { List<TVipOrder> pageList(@Param("pageInfo")PageInfo<TVipOrder> pageInfo, @Param("req") VipShoppingOrderQuery query, @Param("startTime1")String startTime1, @Param("startTime2")String startTime2); } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TExchangeOrderService.java
@@ -1,7 +1,9 @@ package com.ruoyi.order.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TExchangeOrder; import com.ruoyi.order.api.query.ShoppingOrderQuery; import com.ruoyi.order.dto.ExchangeOrderGoodsInfo; import com.ruoyi.order.dto.GetMyExchangeOrder; import com.ruoyi.order.dto.MyExchangeOrderList; @@ -33,4 +35,6 @@ * @return */ ExchangeOrderGoodsInfo getGoodsExchangeOrder(String id); PageInfo<TExchangeOrder> pageList(ShoppingOrderQuery query); } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java
@@ -4,6 +4,7 @@ import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TShoppingOrder; import com.ruoyi.order.api.query.ShoppingOrderQuery; import com.ruoyi.order.api.query.TActivityStatisticsQuery; import com.ruoyi.order.api.vo.TActivityStatisticslVO; import com.ruoyi.order.api.vo.TActivityVO; @@ -61,4 +62,7 @@ List<MyShoppingOrderList> getNoInvoicedOrder(GetNoInvoicedOrder query); void callBack(String code,String outTradeNo); PageInfo<TShoppingOrder> pageList(ShoppingOrderQuery query); } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TVipOrderService.java
@@ -1,7 +1,9 @@ package com.ruoyi.order.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TVipOrder; import com.ruoyi.order.api.query.VipShoppingOrderQuery; /** * <p> @@ -13,4 +15,5 @@ */ public interface TVipOrderService extends IService<TVipOrder> { PageInfo<TVipOrder> pageList(VipShoppingOrderQuery query); } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -445,14 +445,16 @@ endTime1 = split[0]; endTime2 = split[1]; } PageInfo<ChargingOrderVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize()); if (StringUtils.hasLength(dto.getPhone())){ List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData(); if (data.isEmpty()){ data.add(0L); tCharingOrderVO.setList(pageInfo); return tCharingOrderVO; } dto.setUserIds(data); } PageInfo<ChargingOrderVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize()); List<ChargingOrderVO> list = this.baseMapper.chargingOrder(pageInfo,dto,startTime1,startTime2,endTime1,endTime2); BigDecimal total = new BigDecimal("0"); long time = 0L; ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TExchangeOrderServiceImpl.java
@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.feignClient.AppUserAddressClient; import com.ruoyi.account.api.model.TAppUserAddress; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.api.model.TExchangeOrder; import com.ruoyi.order.api.model.TShoppingOrder; import com.ruoyi.order.api.query.ShoppingOrderQuery; import com.ruoyi.order.dto.ExchangeOrderGoodsInfo; import com.ruoyi.order.dto.GetMyExchangeOrder; import com.ruoyi.order.dto.MyExchangeOrderList; @@ -17,6 +20,7 @@ import com.ruoyi.other.api.feignClient.GoodsClient; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.time.format.DateTimeFormatter; @@ -137,4 +141,22 @@ info.setFinishTime(exchangeOrder.getReceivingTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); return info; } @Override public PageInfo<TExchangeOrder> pageList(ShoppingOrderQuery query) { String startTime1 = null; String startTime2 = null; if (StringUtils.hasLength(query.getStartTime())){ String[] split = query.getStartTime().split(" - "); startTime1 = split[0]; startTime2 = split[1]; } PageInfo<TExchangeOrder> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize()); List<TExchangeOrder> list = this.baseMapper.pageList(pageInfo,query,startTime1,startTime2); pageInfo.setRecords(list); return pageInfo; } } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
@@ -12,7 +12,9 @@ import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.api.model.TExchangeOrder; import com.ruoyi.order.api.model.TShoppingOrder; import com.ruoyi.order.api.query.ShoppingOrderQuery; import com.ruoyi.order.api.query.TActivityStatisticsQuery; import com.ruoyi.order.api.vo.ChargingOrderVO; import com.ruoyi.order.api.vo.TActivityStatisticslVO; import com.ruoyi.order.api.vo.TActivityVO; import com.ruoyi.order.dto.*; @@ -23,6 +25,7 @@ import com.ruoyi.other.api.feignClient.CouponClient; import com.ruoyi.other.api.feignClient.GoodsClient; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.math.BigDecimal; @@ -334,4 +337,22 @@ appCouponClient.grantCoupon(grantCouponDto); } } @Override public PageInfo<TShoppingOrder> pageList(ShoppingOrderQuery query) { String startTime1 = null; String startTime2 = null; if (StringUtils.hasLength(query.getStartTime())){ String[] split = query.getStartTime().split(" - "); startTime1 = split[0]; startTime2 = split[1]; } PageInfo<TShoppingOrder> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize()); List<TShoppingOrder> list = this.baseMapper.pageList(pageInfo,query,startTime1,startTime2); pageInfo.setRecords(list); return pageInfo; } } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVipOrderServiceImpl.java
@@ -1,10 +1,16 @@ package com.ruoyi.order.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TShoppingOrder; import com.ruoyi.order.api.model.TVipOrder; import com.ruoyi.order.api.query.VipShoppingOrderQuery; import com.ruoyi.order.mapper.TVipOrderMapper; import com.ruoyi.order.service.TVipOrderService; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.List; /** * <p> @@ -17,4 +23,21 @@ @Service public class TVipOrderServiceImpl extends ServiceImpl<TVipOrderMapper, TVipOrder> implements TVipOrderService { @Override public PageInfo<TVipOrder> pageList(VipShoppingOrderQuery query) { String startTime1 = null; String startTime2 = null; if (StringUtils.hasLength(query.getStartTime())){ String[] split = query.getStartTime().split(" - "); startTime1 = split[0]; startTime2 = split[1]; } PageInfo<TVipOrder> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize()); List<TVipOrder> list = this.baseMapper.pageList(pageInfo,query,startTime1,startTime2); pageInfo.setRecords(list); return pageInfo; } } ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TExchangeOrderMapper.xml
@@ -30,5 +30,35 @@ <sql id="Base_Column_List"> id, code, app_user_id, order_type, goods_id, coupon_id, purchase_quantity, app_user_address_id, points, remark, status, express_company, express_number, consigner_id, consigner_time, receiving_time, cancellation_time, cancellation_id, create_time, del_flag </sql> <select id="pageList" resultType="com.ruoyi.order.api.model.TExchangeOrder"> select t1.* from t_exchange_order t1 where 1=1 <if test="null != req.code and req.code!=''"> and t1.code LIKE CONCAT('%',#{req.code},'%') </if> <if test="null != req.userIds and req.userIds.size()>0" > and t1.app_user_id in <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> </if> <if test="null != req.couponIds and req.couponIds.size()>0 or null != req.couponIds and req.couponIds.size()>0" > and (t1.goods_id in <foreach collection="req.goodsIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> or and t1.coupon_id in <foreach collection="req.couponIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> ) </if> <if test="startTime1 != null and startTime1!=''"> and (t1.create_time between #{startTime1} and #{startTime2} </if> AND t1.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </select> </mapper> ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml
@@ -80,6 +80,7 @@ </if> and t1.recharge_payment_status =2 and t1.refund_status !=2 AND t1.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </if> </if> <if test="req.orderType == null or req.orderType == 2"> @@ -116,6 +117,7 @@ </if> and t2.refund_status !=2 and t2.payment_status =2 AND t2.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </if> </if> <if test="req.orderType == null or req.orderType == 3"> @@ -146,6 +148,7 @@ AND (t3.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) </if> and t3.payment_status =2 AND t3.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </if> </if> <if test="req.orderType == null or req.orderType == 4"> @@ -176,6 +179,7 @@ AND (t4.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) </if> and t4.payment_status =2 AND t4.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </if> </if> <if test="req.orderType == null or req.orderType == 4"> @@ -201,6 +205,8 @@ <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''"> AND (t5.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) </if> AND t5.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </if> </if> </select> @@ -218,4 +224,36 @@ limit #{pageCurr}, #{pageSize} </if> </select> <select id="pageList" resultType="com.ruoyi.order.api.model.TShoppingOrder"> select t1.* from t_shopping_order t1 where 1=1 <if test="null != req.code and req.code!=''"> and t1.code LIKE CONCAT('%',#{req.code},'%') </if> <if test="null != req.userIds and req.userIds.size()>0" > and t1.app_user_id in <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> </if> <if test="null != req.couponIds and req.couponIds.size()>0 or null != req.couponIds and req.couponIds.size()>0" > and (t1.goods_id in <foreach collection="req.goodsIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> or and t1.coupon_id in <foreach collection="req.couponIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> ) </if> <if test="startTime1 != null and startTime1!=''"> and (t1.create_time between #{startTime1} and #{startTime2} </if> and t1.payment_status = 2 AND t1.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </select> </mapper> ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
@@ -25,5 +25,26 @@ <sql id="Base_Column_List"> id, code, app_user_id, `type`, vip_id, vip_type, order_amount, discount, discount_amount, payment_amount, payment_status, payment_type, serial_number, create_time, del_flag </sql> <select id="pageList" resultType="com.ruoyi.order.api.model.TVipOrder"> select t1.* from t_vip_order t1 where 1=1 <if test="null != req.userIds and req.userIds.size()>0" > and t1.app_user_id in <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> </if> <if test="req.vipType != null "> and t1.vip_type = #{req.vipType} </if> <if test="req.vipId != null "> and t1.vip_id = #{req.vipId} </if> <if test="startTime1 != null and startTime1!=''"> and (t1.create_time between #{startTime1} and #{startTime2} </if> AND t1.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </select> </mapper> ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java
@@ -54,7 +54,16 @@ @Autowired private AppCouponClient appCouponClient; /** * 远程调用 根据名称 查询优惠券ids * @return */ @PostMapping("/getCouponIdsByName/{name}") public R<List<Integer>> getCouponIdsByName(@PathVariable("name")String name) { List<Integer> collect = tCouponService.list(new QueryWrapper<TCoupon>() .eq("name", name)).stream().map(TCoupon::getId).collect(Collectors.toList()); return R.ok(collect); } @PostMapping("/saveGoods") @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券添加") public AjaxResult saveActivity(@RequestBody TCoupon dto) { ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.account.api.dto.GrantCouponDto; import com.ruoyi.account.api.feignClient.AppCouponClient; import com.ruoyi.account.api.feignClient.AppUserClient; @@ -35,7 +36,9 @@ import javax.annotation.Resource; import javax.swing.*; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * <p> @@ -67,8 +70,17 @@ private WxPaymentClient wxPaymentClient; /** * 远程调用 根据商品名称查询商品ids * @param name * @return */ @PostMapping("/getGoodsIdsByName/{name}") public R<List<Integer>> getGoodsIdsByName(@PathVariable("name")String name) { List<Integer> collect = goodsService.list(new QueryWrapper<TGoods>() .like("name", name)).stream().map(TGoods::getId).collect(Collectors.toList()); return R.ok(collect); } @PostMapping("/saveGoods") @ApiOperation(tags = {"管理后台-商品管理"},value = "商品添加") ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/THtmlController.java
@@ -1,6 +1,7 @@ package com.ruoyi.other.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.other.api.domain.THtml; import com.ruoyi.other.api.domain.TNotice; @@ -29,7 +30,13 @@ @ApiOperation(tags = {"后台-内容设置-协议服务"},value = "新增修改") @PostMapping(value = "/saveOrUpdate") public AjaxResult saveOrUpdate(@RequestBody THtml tHtml) { htmlService.saveOrUpdate(tHtml); THtml one = htmlService.lambdaQuery().eq(THtml::getType, tHtml.getType()).one(); if(one!=null){ one.setContent(tHtml.getContent()); htmlService.updateById(one); }else { htmlService.save(tHtml); } return AjaxResult.success(); }