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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+