Merge remote-tracking branch 'origin/master'

dev2
WeiRan 2024-08-25 21:55:27 +08:00
commit e27db94c4d
25 changed files with 991 additions and 0 deletions

View File

@ -0,0 +1,90 @@
package com.muyu.cloud.market.domin;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.math.BigDecimal;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
@EqualsAndHashCode(callSuper = true)
@TableName(value = "orders",autoResultMap = true)
public class Orders extends BaseEntity {
/**
* ID
*/
private Long ordersId;
/**
*
*/
private String ordersNum;
/**
*
*/
private Integer ordersProduct;
/**
* user
*/
private Integer ordersUser;
/**
*
*/
private BigDecimal ordersPrice;
/**
*
*/
private String ordersSpecification;
/**
* 120
*/
private Integer ordersState;
/**
*
*/
private Date ordersLaunchdate;
/**
*
*/
private Integer exist;
/**
* ()
*/
private Long productId;
/**
*
*/
private String productName;
//用户模块(要使用外键)
/**
* ()
*/
private Long userId;
/**
*
*/
private String userName;
}

View File

@ -0,0 +1,94 @@
package com.muyu.cloud.market.domin.req;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
@Tag(name = "订单信息列表请求对象",description = "根据入参进行服务的添加")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class OrdersAddReq {
/**
*
*/
@NotEmpty(message = "订单编号不可为空")
@Schema(
title = "订单服务编号",
description = "订单编码和订单id主键不同由产品类别批次系统构建",
type = "String",
defaultValue = "订单服务",
requiredProperties = {"ordersNum"}
)
private String ordersNum;
/**
*
*/
@Schema(title = "订单产品(产品外键)",
type = "Integer")
@NotEmpty(message = "订单产品不可为空")
private Integer ordersProduct;
/**
* user
*/
@Schema(title = "订单所属人(用户外键)",
type = "Integer")
@NotEmpty(message = "订单所属人不可为空")
private Integer ordersUser;
/**
*
*/
@NotBlank(message = "订单金额不可为空")
@Schema(
title = "订单金额",
description = "订单金额方向需使用特殊操作处理",
type = "BigDecimal"
)
private BigDecimal ordersPrice;
/**
*
*/
@Schema(
description = "订单规格",
type = "String"
)
private String ordersSpecification;
/**
*
*/
@Schema(
title = "订单状态",
description = "订单状态:0-待支付 1-已付款 2-已取消",
type = "Interger"
)
@NotEmpty(message = "客户使用状态不能为空")
private Integer ordersState;
/**
*
*/
@Schema(
description = "订单日期",
type = "Date"
)
private Date ordersLaunchdate;
}

View File

@ -0,0 +1,69 @@
package com.muyu.cloud.market.domin.req;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Tag(name = "订单列表请求对象")
public class OrdersListReq {
/**
*
*/
@Schema(
description = "订单编号",
type = "String"
)
private String ordersNum;
/**
*
*/
@Schema(
description = "订单状态:0-待支付 1-已支付 2-已取消",
type = "Integer"
)
private Integer ordersState;
/**
*
*/
@Schema(
description = "订单日期起始日期",
type = "Date"
)
private Date startDate;
/**
*
*/
@Schema(
description = "订单日期结束日期",
type = "Date"
)
private Date endDate;
/**
*
*/
@Schema(
description = "逻辑删除字段",
type = "Interger")
private Integer exist;
private Integer pageNum=1;
private Integer pageSize=5;
}

View File

@ -0,0 +1,110 @@
package com.muyu.cloud.market.domin.resp;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.cloud.market.domin.Orders;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.function.Supplier;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Tag(name = "订单信息响应对象",description = "负责订单信息查询的响应结果")
public class OrdersResp {
/**
* ID
*/
@Schema(description = "订单表ID",
defaultValue = "1",
type = "Long")
private Long ordersId;
/**
*
*/
@Schema(description = "订单编号",
type = "String")
private String ordersNum;
/**
*
*/
@Schema(description = "订单产品(产品外键)",
type = "Integer")
private Integer ordersProduct;
/**
* user
*/
@Schema(description = "订单所属人user外键",
type = "Integer")
private Integer ordersUser;
/**
*
*/
@Schema(description = "订单金额",
type = "BigDecimal")
private BigDecimal ordersPrice;
/**
*
*/
@Schema(description = "订单规格",
type = "String")
private String ordersSpecification;
/**
*
*/
@Schema(description = "订单状态(已付款,未付款,待支付)",
type = "Integer")
private Integer ordersState;
/**
*
*/
@Schema(description = "订单日期",
type = "Date")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date ordersLaunchdate;
/**
*
*/
@Schema(description = "逻辑删除字段",
type = "Interger")
private Integer exist;
public static OrdersResp ordersresp(Orders orders, Supplier<List<OrdersResp>> function){
return OrdersResp.builder()
.ordersId(orders.getOrdersId())
.ordersNum(orders.getOrdersNum())
.ordersProduct(orders.getOrdersProduct())
.ordersUser(orders.getOrdersUser())
.ordersPrice(orders.getOrdersPrice())
.ordersSpecification(orders.getOrdersSpecification())
.ordersState(orders.getOrdersState())
.ordersLaunchdate(orders.getOrdersLaunchdate())
.build();
}
}

View File

@ -0,0 +1,13 @@
package com.muyu.cloud.market.controller;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.log4j.Log4j2;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Log4j2
@RestController
@RequestMapping("/orders")
@Tag(name = "运营商控制层", description = "进行订单支付所用运营商管理")
public class OperatorsController {
}

View File

@ -0,0 +1,118 @@
package com.muyu.cloud.market.controller;
import com.dtflys.forest.springboot.annotation.ForestScannerRegister;
import com.github.pagehelper.PageInfo;
import com.muyu.cloud.market.domin.Orders;
import com.muyu.cloud.market.domin.req.OrdersAddReq;
import com.muyu.cloud.market.domin.req.OrdersListReq;
import com.muyu.cloud.market.service.OrderShowService;
import com.muyu.common.core.domain.Result;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.log4j.Log4j2;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@Log4j2
@RestController
@RequestMapping("/orders")
@Tag(name = "订单控制层", description = "进行订单管理查询操作")
public class OrdersController {
public OrdersController() {
log.info("forest{}扫描路径", ForestScannerRegister.getBasePackages());
}
@Resource
private OrderShowService orderShowService;
/**
*
* @param
* @return
*/
@PostMapping("/list")
@Operation(summary = "查看订单", description = "根据订单名称 编号 状态 查询")
public List<Orders> selectList(@Validated @RequestBody OrdersListReq req){
List<Orders> info = orderShowService.selectList(req);
return info;
}
/**
*
* @param ordersAddReq
* @return
*/
@PostMapping("/addOrdeds")
@Operation(summary = "添加订单", description = "根据ordersAddReq对象添加订单")
Result addOrdeds(@Validated @RequestBody OrdersAddReq ordersAddReq){
return orderShowService.addOrdeds(ordersAddReq);
}
/**
*
* @param orders
* @return
*/
@PutMapping("/updateOrders")
@Operation(summary = "修改订单", description = "根据ordersid查找订单进行修改")
Result updateOrders(@Validated @RequestBody Orders orders){
return orderShowService.updateOrders(orders);
}
/**
* ->orderidexist 1->0
*
* @param ordersId
* @return
*/
@PutMapping("/updateByeExist/{ordersId}")
@Operation(summary = "逻辑删除订单", description = "根据orderid修改exist字段 1->0/(类似回收站)")
Result updateByeExist (@Validated @PathVariable("ordersId") Integer ordersId){
return orderShowService.updateByeExist(ordersId);
}
/**
* ->orderidexist 1->0
*
* @param ordersId
* @return
*/
@PutMapping("/updateByExist/{ordersId}")
@Operation(summary = "逻辑复原订单", description = "根据orderid修改exist字段 0->1")
Result updateByExist(@Validated @PathVariable("ordersId") Integer ordersId){
return orderShowService.updateByExist(ordersId);
}
/**
* (orderid)
* @return
*/
@DeleteMapping("/delByOrderId/{ordersId}")
@Operation(summary = "彻底删除订单", description = "根据根据orderid删除数据库字段")
Result delByOrderId(@Validated @PathVariable("ordersId") Integer ordersId){
return orderShowService.delByOrderId(ordersId);
}
/**
*
* id
* @param ordersId
* @return
*/
@PostMapping("/findAllById/{ordersId}")
@Operation(summary = "回显", description = "根据ordersId进行查询信息")
Orders findAllById (@Validated @PathVariable("ordersId") Integer ordersId){
return orderShowService.findAllById(ordersId);
}
}

View File

@ -0,0 +1,13 @@
package com.muyu.cloud.market.controller;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.log4j.Log4j2;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Log4j2
@RestController
@RequestMapping("/orders")
@Tag(name = "支付接口控制层", description = "进行订单支付管理")
public class PayController {
}

View File

@ -0,0 +1,16 @@
package com.muyu.cloud.market.controller;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.log4j.Log4j2;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Log4j2
@RestController
@RequestMapping("/orders")
@Tag(name = "账户充值控制层", description = "进行账户充值管理")
public class RechargeController {
}

View File

@ -0,0 +1,14 @@
package com.muyu.cloud.market.controller;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.log4j.Log4j2;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Log4j2
@RestController
@RequestMapping("/orders")
@Tag(name = "购买记录控制层", description = "进行订单购买日志管理")
public class SalelogController {
}

View File

@ -0,0 +1,7 @@
package com.muyu.cloud.market.mapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface OperatorsMapper {
}

View File

@ -0,0 +1,80 @@
package com.muyu.cloud.market.mapper;
import com.muyu.cloud.market.domin.Orders;
import com.muyu.cloud.market.domin.req.OrdersAddReq;
import com.muyu.cloud.market.domin.req.OrdersListReq;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface OrderShowMapper {
/**
*
* (ordersNum ordersState startdate enddate)
* @param req
* @return
*/
List<Orders> selectList(OrdersListReq req);
/**
*
* @param ordersAddReq
* @return
*/
Integer addOrdeds(OrdersAddReq ordersAddReq);
/**
*
* @param orders
* @return
*/
Integer updateOrders(Orders orders);
/**
* ->orderidexist 1->0
*
* @param ordersId
* @return
*/
Integer updateByeExist(Integer ordersId);
/**
* ->orderidexist 0->1
*
* @param ordersId
* @return
*/
Integer updateByExist(Integer ordersId);
/**
* (orderid)
* @return
*/
Integer delByOrderId(Integer ordersId);
/**
*
* id
* @param ordersId
* @return
*/
Orders findAllById (Integer ordersId);
/**
* (),
* ,
*/
/**
* ,
*/
}

View File

@ -0,0 +1,7 @@
package com.muyu.cloud.market.mapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface OrdersPayMapper {
}

View File

@ -0,0 +1,7 @@
package com.muyu.cloud.market.mapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface RechargeMapper {
}

View File

@ -0,0 +1,7 @@
package com.muyu.cloud.market.mapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SalelogMapper {
}

View File

@ -0,0 +1,4 @@
package com.muyu.cloud.market.service;
public interface OperatorsService {
}

View File

@ -0,0 +1,72 @@
package com.muyu.cloud.market.service;
import com.github.pagehelper.PageInfo;
import com.muyu.cloud.market.domin.Orders;
import com.muyu.cloud.market.domin.req.OrdersAddReq;
import com.muyu.cloud.market.domin.req.OrdersListReq;
import com.muyu.common.core.domain.Result;
import java.util.List;
public interface OrderShowService {
/**
*
* (ordersNum ordersState startdate enddate)
* @param req
* @return
*/
List<Orders> selectList(OrdersListReq req);
/**
*
* @param ordersAddReq
* @return
*/
Result addOrdeds(OrdersAddReq ordersAddReq);
/**
*
* @param orders
* @return
*/
Result updateOrders(Orders orders);
/**
* ->orderidexist 1->0
*
* @param ordersId
* @return
*/
Result updateByeExist(Integer ordersId);
/**
* ->orderidexist 0->1
*
* @param ordersId
* @return
*/
Result updateByExist(Integer ordersId);
/**
* (orderid)
* @return
*/
Result delByOrderId(Integer ordersId);
/**
*
* id
* @param ordersId
* @return
*/
Orders findAllById (Integer ordersId);
}

View File

@ -0,0 +1,4 @@
package com.muyu.cloud.market.service;
public interface OrdersPayService {
}

View File

@ -0,0 +1,4 @@
package com.muyu.cloud.market.service;
public interface RechargeService {
}

View File

@ -0,0 +1,4 @@
package com.muyu.cloud.market.service;
public interface SalelogService {
}

View File

@ -0,0 +1,10 @@
package com.muyu.cloud.market.service.impl;
import com.muyu.cloud.market.service.OperatorsService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
@Service
@Log4j2
public class OperatorsServiceImpl implements OperatorsService {
}

View File

@ -0,0 +1,126 @@
package com.muyu.cloud.market.service.impl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.muyu.cloud.market.domin.Orders;
import com.muyu.cloud.market.domin.req.OrdersAddReq;
import com.muyu.cloud.market.domin.req.OrdersListReq;
import com.muyu.cloud.market.mapper.OrderShowMapper;
import com.muyu.cloud.market.service.OrderShowService;
import com.muyu.common.core.domain.Result;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
@Log4j2
public class OrderShowServiceImpl implements OrderShowService {
@Resource
private OrderShowMapper orderShowMapper;
/**
*
* (ordersNum ordersState startdate enddate)
* @param req
* @return
*/
@Override
public List<Orders> selectList(OrdersListReq req) {
// PageHelper.startPage(req.getPageNum(),req.getPageSize());
List<Orders> ordersList = orderShowMapper.selectList(req);
// PageInfo<Orders> info = new PageInfo<>(ordersList);
// return info;
return ordersList;
}
/**
*
* @param ordersAddReq
* @return
*/
@Override
public Result addOrdeds(OrdersAddReq ordersAddReq) {
Integer addorders = orderShowMapper.addOrdeds(ordersAddReq);
if(addorders > 0){
return Result.success(ordersAddReq,"添加订单成功");
}
return Result.error(402,"添加订单失败");
}
/**
*
* @param orders
* @return
*/
@Override
public Result updateOrders(Orders orders) {
Integer updateorders = orderShowMapper.updateOrders(orders);
if(updateorders > 0){
return Result.success(orders,"删除订单成功(逻辑)");
}
return Result.error(402,"删除订单失败(逻辑)");
}
/**
* ->orderidexist 1->0
*
* @param ordersId
* @return
*/
@Override
public Result updateByeExist(Integer ordersId) {
Integer updatebyexist = orderShowMapper.updateByeExist(ordersId);
if(updatebyexist > 0){
return Result.success(ordersId,"删除订单成功(逻辑)");
}
return Result.error(402,"删除订单失败(逻辑)");
}
/**
* ->orderidexist 0->1
*
* @param ordersId
* @return
*/
@Override
public Result updateByExist(Integer ordersId) {
Integer updatebyexist = orderShowMapper.updateByeExist(ordersId);
if(updatebyexist > 0){
return Result.success(ordersId,"复原订单成功(逻辑)");
}
return Result.error(402,"复原订单失败(逻辑)");
}
/**
* (orderid)
* @return
*/
@Override
public Result delByOrderId(Integer ordersId) {
Integer delbyorderId = orderShowMapper.delByOrderId(ordersId);
if(delbyorderId > 0){
return Result.success(ordersId,"删除订单成功");
}
return Result.error(402,"删除订单失败");
}
/**
*
* id
* @param ordersId
* @return
*/
@Override
public Orders findAllById(Integer ordersId) {
return orderShowMapper.findAllById(ordersId);
}
}

View File

@ -0,0 +1,8 @@
package com.muyu.cloud.market.service.impl;
import com.muyu.cloud.market.service.OrdersPayService;
import org.springframework.stereotype.Service;
@Service
public class OrdersPayServiceImpl implements OrdersPayService {
}

View File

@ -0,0 +1,10 @@
package com.muyu.cloud.market.service.impl;
import com.muyu.cloud.market.service.RechargeService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
@Service
@Log4j2
public class RechargeServiceImpl implements RechargeService {
}

View File

@ -0,0 +1,10 @@
package com.muyu.cloud.market.service.impl;
import com.muyu.cloud.market.service.SalelogService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
@Service
@Log4j2
public class SalelogServiceImpl implements SalelogService {
}

View File

@ -0,0 +1,94 @@
<?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">
<!-- 1.在mybats的开发中namespace有特殊的意思一定要是对应接口的全限定名通过namespace可以简历mapper.xml和接口之间的关系(名字不重要,位置不重要)-->
<mapper namespace="com.muyu.cloud.market.mapper.OrderShowMapper">
<resultMap id="goodsResult" type="com.muyu.cloud.market.domin.Orders">
<result column="orders_id" property="ordersId"/>
<result column="orders_num" property="ordersNum"/>
<result column="orders_product" property="ordersProduct"/>
<result column="orders_user" property="ordersUser"/>
<result column="orders_price" property="ordersPrice"/>
<result column="orders_specification" property="ordersSpecification"/>
<result column="orders_state" property="ordersState"/>
<result column="orders_launchdate" property="ordersLaunchdate"/>
<result column="exist" property="exist"/>
</resultMap>
<sql id="ordersSql">
SELECT
orders_id,
orders_num,
orders_product,
orders_user,
orders_price,
orders_specification,
orders_state,
orders_launchdate
FROM `orders`
where exist = 1
</sql>
<!--com.muyu.common.system.domain.SysUser-->
<!-- 查询订单(精确查ordersNum 精确查ordersState 日期范围 startdate enddate) -->
<!-- 多表联查 -> 产品表外键,用户外键 -->
<select id="selectList" resultType="com.muyu.cloud.market.domin.Orders">
SELECT orders_id, orders_num, orders_product, orders_user, orders_price, orders_specification, orders_state, orders_launchdate,
product_id,product_name,
user_id,user_name
FROM `orders`
LEFT JOIN `product` ON `orders`.orders_product = `product`.product_id
LEFT JOIN `sys_user` ON `orders`.orders_user = `sys_user`.user_id
<where>
<if test=" ordersNum != null and ordersNum !='' "> AND orders_num = #{ordersNum} </if>
<if test=" ordersState != null "> AND orders_state = #{ordersState} </if>
<if test="startDate!=null and startDate!=''"> AND orders_launchdate &gt;=#{startDate} </if>
<if test="endDate!=null and endDate!=''"> AND orders_launchdate &lt;=#{endDate} </if>
AND exist = 1
</where>
ORDER BY orders_launchdate DESC
</select>
<!--根据ordersId回显数据-->
<select id="findAllById" resultMap="goodsResult">
<include refid="ordersSql"/> WHERE orders_id = #{ordersId}
</select>
<!--添加订单到-->
<insert id="addOrdeds">
INSERT INTO `orders`
(`orders_num`, `orders_product`, `orders_user`, `orders_price`, `orders_specification`, `orders_state`, `orders_launchdate`)
VALUES
(#{ordersNum}, #{ordersProduct}, #{ordersUser}, #{ordersPrice}, #{ordersSpecification}, 0, NOW());
</insert>
<update id="updateOrders">
UPDATE `orders` SET
`orders_product` = #{ordersProduct},
`orders_user` = #{ordersUser},
`orders_price` = #{ordersPrice},
`orders_specification` = #{ordersSpecification},
`orders_state` = 0
WHERE `orders_id` IS #{ordersId};
</update>
<!-- 逻辑删除 改变字段状态 -->
<update id="updateByeExist">
UPDATE `orders` SET `exist` = 0 WHERE `orders_id` IS #{ordersId}
</update>
<!-- 逻辑字段 修改字段状态 -->
<update id="updateByExist">
UPDATE `orders` SET `exist` = 1 WHERE `orders_id` IS #{ordersId}
</update>
<!--订单回显-->
<delete id="delByOrderId">
DELETE FROM `orders` WHERE `orders_id` IS #{ordersId}
</delete>
</mapper>