➕ Feat: 完善第一期代码工程
This commit is contained in:
parent
b724e1cdec
commit
d6b1551aaf
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@ -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<Boolean> addCommission(@RequestBody Commission commission){return commissionService.addCommission(commission);}
|
||||
@RequestMapping(path = "/changeCommission",method = RequestMethod.POST)
|
||||
public R<Boolean> changeCommission(@RequestBody Commission commission){return commissionService.changeCommission(commission);}
|
||||
@RequestMapping(path = "/delCommission",method = RequestMethod.GET)
|
||||
public R<Boolean> delCommission(@RequestParam("id")Integer id){return commissionService.delCommission(id);}
|
||||
@RequestMapping(path = "/getCommission",method = RequestMethod.GET)
|
||||
public R<JSONObject> getCommission(@RequestParam("page")Integer page, @RequestParam("num")Integer num){return commissionService.getCommission(page,num);}
|
||||
@RequestMapping(path = "/getCommissionByPrice",method = RequestMethod.GET)
|
||||
public R<Double> getCommissionByPrice(@RequestParam("shopId")Integer shopId,@RequestParam("range")Double range){return commissionService.getCommissionByPrice(shopId,range);}
|
||||
@RequestMapping(path = "/changeCommissionStatus", method = RequestMethod.GET)
|
||||
public R<String> changeCommissionStatus(@RequestParam("commissionId") Integer commissionId, @RequestParam("status") Boolean status) {return commissionService.changeCommissionStatus(commissionId, status);}
|
||||
}
|
||||
|
@ -36,4 +36,6 @@ public class StoreController {
|
||||
public R<JSONObject> getStore(@RequestParam("page")Integer page, @RequestParam("num")Integer num){return storeService.getStore(page,num);}
|
||||
@RequestMapping(path = "/getAllStore",method = RequestMethod.GET)
|
||||
public R<List<Store>> getAllStore(){return storeService.getAllStore();}
|
||||
@RequestMapping(path = "/changeStoreStatus", method = RequestMethod.GET)
|
||||
public R<String> changeStoreStatus(@RequestParam("storeId") Integer storeId, @RequestParam("status") Boolean status) {return storeService.changeStoreStatus(storeId, status);}
|
||||
}
|
||||
|
@ -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<Order> {
|
||||
|
||||
// public List<OrderVO> selectAllByStoreName(Integer page,Integer num);
|
||||
}
|
@ -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;
|
||||
|
@ -94,4 +94,6 @@ public class Order implements Serializable {
|
||||
@ExcelProperty({"sku"})
|
||||
@TableField("sku")
|
||||
private String sku;
|
||||
@TableField(exist = false)
|
||||
private String storeName;
|
||||
}
|
||||
|
45
src/main/java/top/xinsin/pojo/vo/OrderVO.java
Normal file
45
src/main/java/top/xinsin/pojo/vo/OrderVO.java
Normal file
@ -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;
|
||||
}
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@ -15,4 +26,58 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
@Service
|
||||
public class CommissionService {
|
||||
|
||||
@Autowired
|
||||
private CommissionMapper commissionMapper;
|
||||
|
||||
public R<Boolean> 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<Boolean> 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<Boolean> delCommission(Integer id) {
|
||||
int delete = commissionMapper.deleteById(id);
|
||||
return delete != 0 ? R.success(true) : R.failed(HttpCodes.HTTP_CODES555,false);
|
||||
}
|
||||
|
||||
public R<JSONObject> getCommission(Integer page, Integer num) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
Page<Commission> commissionPage = new Page<>(page,num);
|
||||
Page<Commission> commissionPage1 = commissionMapper.selectPage(commissionPage, null);
|
||||
jsonObject.fluentPut("info",commissionPage1.getRecords()).fluentPut("total",commissionPage1.getTotal());
|
||||
return R.success(jsonObject);
|
||||
|
||||
}
|
||||
|
||||
public R<Double> getCommissionByPrice(Integer shopId, Double range) {
|
||||
LambdaQueryWrapper<Commission> 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<String> 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, "修改佣金状态失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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<String> addOrder(Order order) {
|
||||
order.setOrderTime(new Date());
|
||||
@ -48,6 +57,24 @@ public class OrderService {
|
||||
public R<JSONObject> getOrder(Integer page, Integer num) {
|
||||
Page<Order> orderPage = new Page<>((long)page, (long)num);
|
||||
Page<Order> orderPage1 = this.orderMapper.selectPage(orderPage, null);
|
||||
orderPage1.getRecords().forEach(e -> {
|
||||
LambdaQueryWrapper<Store> orderVOLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
orderVOLambdaQueryWrapper.eq(Store::getId,e.getStoreId());
|
||||
Store store = storeMapper.selectOne(orderVOLambdaQueryWrapper);
|
||||
e.setStoreName(store.getName());
|
||||
|
||||
LambdaQueryWrapper<Commission> 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);
|
||||
|
@ -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<List<Store>> getAllStore() {
|
||||
return R.success(storeMapper.selectList(null));
|
||||
}
|
||||
|
||||
public R<String> 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, "修改商铺状态失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
18
src/main/resources/mapper/CommissionMapper.xml
Normal file
18
src/main/resources/mapper/CommissionMapper.xml
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="top.xinsin.mapper.CommissionMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="top.xinsin.pojo.Commission">
|
||||
<id column="id" property="id" />
|
||||
<result column="price_min" property="priceMin" />
|
||||
<result column="price_max" property="priceMax" />
|
||||
<result column="commission" property="commission" />
|
||||
<result column="store_id" property="storeId" />
|
||||
<result column="cteate_time" property="cteateTime" />
|
||||
<result column="update_time" property="updateTime" />
|
||||
<result column="del" property="del" />
|
||||
<result column="status" property="status" />
|
||||
</resultMap>
|
||||
|
||||
</mapper>
|
15
src/main/resources/mapper/StoreMapper.xml
Normal file
15
src/main/resources/mapper/StoreMapper.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="top.xinsin.mapper.StoreMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="top.xinsin.pojo.Store">
|
||||
<id column="id" property="id" />
|
||||
<result column="name" property="name" />
|
||||
<result column="create_time" property="createTime" />
|
||||
<result column="update_time" property="updateTime" />
|
||||
<result column="del" property="del" />
|
||||
<result column="status" property="status" />
|
||||
</resultMap>
|
||||
|
||||
</mapper>
|
Loading…
x
Reference in New Issue
Block a user