From d6b1551aaf82b4f2521113fefe3f60881bbd6e3c Mon Sep 17 00:00:00 2001 From: xinsin <2890826955@qq.com> Date: Mon, 24 Apr 2023 23:25:16 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9E=95=20Feat:=20=E5=AE=8C=E5=96=84=E7=AC=AC?= =?UTF-8?q?=E4=B8=80=E6=9C=9F=E4=BB=A3=E7=A0=81=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CommissionController.java | 26 +++++++- .../xinsin/controller/StoreController.java | 2 + .../java/top/xinsin/mapper/OrderMapper.java | 5 ++ src/main/java/top/xinsin/pojo/Commission.java | 5 +- src/main/java/top/xinsin/pojo/Order.java | 2 + src/main/java/top/xinsin/pojo/vo/OrderVO.java | 45 +++++++++++++ .../top/xinsin/service/CommissionService.java | 65 +++++++++++++++++++ .../java/top/xinsin/service/OrderService.java | 27 ++++++++ .../java/top/xinsin/service/StoreService.java | 13 ++++ .../resources/mapper/CommissionMapper.xml | 18 +++++ src/main/resources/mapper/StoreMapper.xml | 15 +++++ 11 files changed, 219 insertions(+), 4 deletions(-) create mode 100644 src/main/java/top/xinsin/pojo/vo/OrderVO.java create mode 100644 src/main/resources/mapper/CommissionMapper.xml create mode 100644 src/main/resources/mapper/StoreMapper.xml diff --git a/src/main/java/top/xinsin/controller/CommissionController.java b/src/main/java/top/xinsin/controller/CommissionController.java index 179496a..d3dc3d1 100644 --- a/src/main/java/top/xinsin/controller/CommissionController.java +++ b/src/main/java/top/xinsin/controller/CommissionController.java @@ -1,9 +1,16 @@ package top.xinsin.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import com.alibaba.fastjson2.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.web.bind.annotation.RestController; +import top.xinsin.pojo.Commission; +import top.xinsin.pojo.Store; +import top.xinsin.service.CommissionService; +import top.xinsin.util.R; + +import java.util.List; /** *

@@ -17,4 +24,19 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/commission") public class CommissionController { + @Autowired + private CommissionService commissionService; + + @RequestMapping(path = "/addCommission",method = RequestMethod.POST) + public R addCommission(@RequestBody Commission commission){return commissionService.addCommission(commission);} + @RequestMapping(path = "/changeCommission",method = RequestMethod.POST) + public R changeCommission(@RequestBody Commission commission){return commissionService.changeCommission(commission);} + @RequestMapping(path = "/delCommission",method = RequestMethod.GET) + public R delCommission(@RequestParam("id")Integer id){return commissionService.delCommission(id);} + @RequestMapping(path = "/getCommission",method = RequestMethod.GET) + public R getCommission(@RequestParam("page")Integer page, @RequestParam("num")Integer num){return commissionService.getCommission(page,num);} + @RequestMapping(path = "/getCommissionByPrice",method = RequestMethod.GET) + public R getCommissionByPrice(@RequestParam("shopId")Integer shopId,@RequestParam("range")Double range){return commissionService.getCommissionByPrice(shopId,range);} + @RequestMapping(path = "/changeCommissionStatus", method = RequestMethod.GET) + public R changeCommissionStatus(@RequestParam("commissionId") Integer commissionId, @RequestParam("status") Boolean status) {return commissionService.changeCommissionStatus(commissionId, status);} } diff --git a/src/main/java/top/xinsin/controller/StoreController.java b/src/main/java/top/xinsin/controller/StoreController.java index 407292e..3ca5301 100644 --- a/src/main/java/top/xinsin/controller/StoreController.java +++ b/src/main/java/top/xinsin/controller/StoreController.java @@ -36,4 +36,6 @@ public class StoreController { public R getStore(@RequestParam("page")Integer page, @RequestParam("num")Integer num){return storeService.getStore(page,num);} @RequestMapping(path = "/getAllStore",method = RequestMethod.GET) public R> getAllStore(){return storeService.getAllStore();} + @RequestMapping(path = "/changeStoreStatus", method = RequestMethod.GET) + public R changeStoreStatus(@RequestParam("storeId") Integer storeId, @RequestParam("status") Boolean status) {return storeService.changeStoreStatus(storeId, status);} } diff --git a/src/main/java/top/xinsin/mapper/OrderMapper.java b/src/main/java/top/xinsin/mapper/OrderMapper.java index 94e376b..85a4bff 100644 --- a/src/main/java/top/xinsin/mapper/OrderMapper.java +++ b/src/main/java/top/xinsin/mapper/OrderMapper.java @@ -3,6 +3,9 @@ package top.xinsin.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import top.xinsin.pojo.Order; +import top.xinsin.pojo.vo.OrderVO; + +import java.util.List; /** * @author xinsin @@ -11,4 +14,6 @@ import top.xinsin.pojo.Order; */ @Mapper public interface OrderMapper extends BaseMapper { + +// public List selectAllByStoreName(Integer page,Integer num); } \ No newline at end of file diff --git a/src/main/java/top/xinsin/pojo/Commission.java b/src/main/java/top/xinsin/pojo/Commission.java index 447c921..db0471c 100644 --- a/src/main/java/top/xinsin/pojo/Commission.java +++ b/src/main/java/top/xinsin/pojo/Commission.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.*; import java.io.Serial; import java.io.Serializable; import java.sql.Blob; +import java.util.Date; import java.time.LocalDateTime; import com.fasterxml.jackson.annotation.JsonFormat; @@ -37,11 +38,11 @@ public class Commission implements Serializable { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField("create_time") - private LocalDateTime createTime; + private Date createTime; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField("update_time") - private LocalDateTime updateTime; + private java.util.Date updateTime; @TableField("del") @TableLogic private Integer del; diff --git a/src/main/java/top/xinsin/pojo/Order.java b/src/main/java/top/xinsin/pojo/Order.java index 2243d59..90b1e72 100644 --- a/src/main/java/top/xinsin/pojo/Order.java +++ b/src/main/java/top/xinsin/pojo/Order.java @@ -94,4 +94,6 @@ public class Order implements Serializable { @ExcelProperty({"sku"}) @TableField("sku") private String sku; + @TableField(exist = false) + private String storeName; } diff --git a/src/main/java/top/xinsin/pojo/vo/OrderVO.java b/src/main/java/top/xinsin/pojo/vo/OrderVO.java new file mode 100644 index 0000000..0639cf5 --- /dev/null +++ b/src/main/java/top/xinsin/pojo/vo/OrderVO.java @@ -0,0 +1,45 @@ +package top.xinsin.pojo.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @author xinsin + * Created On 2023/4/24 22:21 + * @version 1.0 + */ +@Data +public class OrderVO { + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + private String orderNo; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date orderTime; + private String orderStatus; + private String wangNo; + private String wechatNo; + private String alipayNo; + private Double payAmt; + private Double commission; + private String alipayName; + private String rpName; + private String rpWechatName; + private String remark; + private String phoneNumber; + private String cardNo; + private Integer flag; + private String flagRemark; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date payTime; + private String address; + private Integer shopId; + private String sku; + private String storeName; +} diff --git a/src/main/java/top/xinsin/service/CommissionService.java b/src/main/java/top/xinsin/service/CommissionService.java index 8f299fa..ef0b971 100644 --- a/src/main/java/top/xinsin/service/CommissionService.java +++ b/src/main/java/top/xinsin/service/CommissionService.java @@ -1,8 +1,19 @@ package top.xinsin.service; +import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import top.xinsin.mapper.CommissionMapper; +import top.xinsin.pojo.Account; import top.xinsin.pojo.Commission; import com.baomidou.mybatisplus.extension.service.IService; +import top.xinsin.pojo.Store; +import top.xinsin.util.HttpCodes; +import top.xinsin.util.R; + +import java.util.Date; /** *

@@ -15,4 +26,58 @@ import com.baomidou.mybatisplus.extension.service.IService; @Service public class CommissionService { + @Autowired + private CommissionMapper commissionMapper; + + public R addCommission(Commission commission) { + commission.setCreateTime(new Date()); + int insert = commissionMapper.insert(commission); + return insert != 0 ? R.success(true) : R.failed(HttpCodes.HTTP_CODES555,false); + } + + public R changeCommission(Commission commission) { + commission.setUpdateTime(new Date()); + int update = commissionMapper.updateById(commission); + return update != 0 ? R.success(true) : R.failed(HttpCodes.HTTP_CODES555,false); + } + + public R delCommission(Integer id) { + int delete = commissionMapper.deleteById(id); + return delete != 0 ? R.success(true) : R.failed(HttpCodes.HTTP_CODES555,false); + } + + public R getCommission(Integer page, Integer num) { + JSONObject jsonObject = new JSONObject(); + Page commissionPage = new Page<>(page,num); + Page commissionPage1 = commissionMapper.selectPage(commissionPage, null); + jsonObject.fluentPut("info",commissionPage1.getRecords()).fluentPut("total",commissionPage1.getTotal()); + return R.success(jsonObject); + + } + + public R getCommissionByPrice(Integer shopId, Double range) { + LambdaQueryWrapper commissionLambdaQueryWrapper = new LambdaQueryWrapper<>(); + commissionLambdaQueryWrapper + .le(Commission::getPriceMax,range) + .ge(Commission::getPriceMin,range) + .eq(Commission::getStoreId,shopId); + Commission commission = commissionMapper.selectOne(commissionLambdaQueryWrapper); + if (commission != null){ + return R.success(commission.getCommission()); + }else{ + return R.failed(HttpCodes.HTTP_CODES555,0.0); + } + } + + public R changeCommissionStatus(Integer commissionId, Boolean status) { + Commission commission = new Commission(); + commission.setId(commissionId); + commission.setStatus(status); + int i = commissionMapper.updateById(commission); + if (i == 1) { + return status ? R.success("启用该佣金项成功") : R.success("禁用该佣金项成功"); + } else { + return R.failed(HttpCodes.HTTP_CODES555, "修改佣金状态失败"); + } + } } diff --git a/src/main/java/top/xinsin/service/OrderService.java b/src/main/java/top/xinsin/service/OrderService.java index 0c6c266..3c3d2d1 100644 --- a/src/main/java/top/xinsin/service/OrderService.java +++ b/src/main/java/top/xinsin/service/OrderService.java @@ -15,8 +15,13 @@ import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import top.xinsin.enums.OrderStatus; import top.xinsin.enums.SearchType; +import top.xinsin.mapper.CommissionMapper; import top.xinsin.mapper.OrderMapper; +import top.xinsin.mapper.StoreMapper; +import top.xinsin.pojo.Commission; import top.xinsin.pojo.Order; +import top.xinsin.pojo.Store; +import top.xinsin.pojo.vo.OrderVO; import top.xinsin.util.ExcelParserUtil; import top.xinsin.util.HttpCodes; import top.xinsin.util.R; @@ -38,6 +43,10 @@ import java.util.List; public class OrderService { @Autowired private OrderMapper orderMapper; + @Autowired + private StoreMapper storeMapper; + @Autowired + private CommissionMapper commissionMapper; public R addOrder(Order order) { order.setOrderTime(new Date()); @@ -48,6 +57,24 @@ public class OrderService { public R getOrder(Integer page, Integer num) { Page orderPage = new Page<>((long)page, (long)num); Page orderPage1 = this.orderMapper.selectPage(orderPage, null); + orderPage1.getRecords().forEach(e -> { + LambdaQueryWrapper orderVOLambdaQueryWrapper = new LambdaQueryWrapper<>(); + orderVOLambdaQueryWrapper.eq(Store::getId,e.getStoreId()); + Store store = storeMapper.selectOne(orderVOLambdaQueryWrapper); + e.setStoreName(store.getName()); + + LambdaQueryWrapper commissionLambdaQueryWrapper = new LambdaQueryWrapper<>(); + commissionLambdaQueryWrapper + .eq(Commission::getStoreId,e.getStoreId()) + .le(Commission::getPriceMax,e.getCommission()) + .ge(Commission::getPriceMin,e.getCommission()); + Commission commission = commissionMapper.selectOne(commissionLambdaQueryWrapper); + if (commission != null){ + e.setCommission(commission.getCommission()); + }else{ + e.setCommission(0.0); + } + }); JSONObject jsonObject = new JSONObject(); jsonObject.fluentPut("info", orderPage1.getRecords()).fluentPut("total", orderPage1.getTotal()); return R.success(jsonObject); diff --git a/src/main/java/top/xinsin/service/StoreService.java b/src/main/java/top/xinsin/service/StoreService.java index 9f6bdbf..d5fdbef 100644 --- a/src/main/java/top/xinsin/service/StoreService.java +++ b/src/main/java/top/xinsin/service/StoreService.java @@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import top.xinsin.mapper.StoreMapper; +import top.xinsin.pojo.Commission; import top.xinsin.pojo.Store; import com.baomidou.mybatisplus.extension.service.IService; import top.xinsin.util.HttpCodes; @@ -56,4 +57,16 @@ public class StoreService { public R> getAllStore() { return R.success(storeMapper.selectList(null)); } + + public R changeStoreStatus(Integer storeId, Boolean status) { + Store store = new Store(); + store.setId(storeId); + store.setStatus(status); + int i = storeMapper.updateById(store); + if (i == 1) { + return status ? R.success("启用该商铺成功") : R.success("禁用该商铺成功"); + } else { + return R.failed(HttpCodes.HTTP_CODES555, "修改商铺状态失败"); + } + } } diff --git a/src/main/resources/mapper/CommissionMapper.xml b/src/main/resources/mapper/CommissionMapper.xml new file mode 100644 index 0000000..ef2255e --- /dev/null +++ b/src/main/resources/mapper/CommissionMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/mapper/StoreMapper.xml b/src/main/resources/mapper/StoreMapper.xml new file mode 100644 index 0000000..3ddf903 --- /dev/null +++ b/src/main/resources/mapper/StoreMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + +