Commit 28fe1080 by wanglei

订单发布,取消,修改,查询

parent 0424e141
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
......@@ -38,6 +39,7 @@ public class BaseEntity implements Serializable {
/**
* 创建时间
*/
@Schema(name = "创建时间")
@TableField(fill = FieldFill.INSERT)
private Date createTime;
......@@ -50,6 +52,7 @@ public class BaseEntity implements Serializable {
/**
* 更新时间
*/
@Schema(name = "更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
......
......@@ -2,12 +2,18 @@ package com.yongqi.xinrenli.admin.controller;
import com.ruoyi.common.core.domain.R;
import com.yongqi.xinrenli.domain.Order;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.yongqi.xinrenli.domain.bo.OrderBo;
import com.yongqi.xinrenli.domain.vo.OrderVo;
import com.yongqi.xinrenli.service.IOrderService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 订单表 前端控制器
......@@ -16,6 +22,7 @@ import org.springframework.web.bind.annotation.*;
* @author wanglei
* @since 2023-03-02
*/
@Slf4j
@RestController
@RequestMapping("/order")
public class OrderController {
......@@ -25,22 +32,84 @@ public class OrderController {
/**
* 用户发布需求订单
* @param order
* @param orderBo
* @return
*/
@ResponseBody
@PostMapping("/{order}")
public R publishOrder(@PathVariable Order order){
if(iOrderService.isParamEmpty(order)){
return R.fail("信息未填完整");
}
if(iOrderService.isAllEmpty(order)){
@PostMapping("/publishOrder")
public R publishOrder(@RequestBody @Validated(AddGroup.class) OrderBo orderBo){
log.info("wanglei-orderBo:{}",orderBo);
if(iOrderService.isAllEmpty(orderBo)){
return R.fail("图片,视频,语音必传一项");
}
boolean flag = iOrderService.save(order);
boolean flag = iOrderService.addOrder(orderBo);
if (!flag) {
return R.fail("发布失败,请稍后重试");
}
return R.ok("发布成功");
}
/**
* 查看订单详情 根据id查询
* @param id
* @return
*/
@ResponseBody
@GetMapping("/getOrderDetailById/{id}")
public R<OrderVo> getOrderDetailById(@PathVariable Long id){
if(id==null){
return R.ok("查询失败,id为空");
}
OrderVo orderVo = iOrderService.getOrderById(id);
if(orderVo==null){
return R.ok("查询失败,请稍后重试");
}
return R.ok("查询成功",orderVo);
}
/**
* 修改订单
* @param orderBo
* @return
*/
@ResponseBody
@PutMapping("/updateOrder")
public R updateOrder(@RequestBody @Validated(EditGroup.class) OrderBo orderBo){
if(iOrderService.isAllEmpty(orderBo)){
return R.fail("图片,视频,语音必传一项");
}
boolean flag = iOrderService.updateOrder(orderBo);
if (!flag) {
return R.fail("修改失败,请稍后重试");
}
return R.ok("修改成功");
}
/**
* 取消订单
* @param id
* @return
*/
@ResponseBody
@DeleteMapping("/cancelOrderById/{id}")
public R cancelOrderById(@PathVariable Long id){
if(id==null){
return R.ok("取消失败,id为空");
}
boolean flag = iOrderService.cancelOrderById(id);
if(!flag){
return R.ok("取消订单失败,请稍后重试");
}
return R.ok("取消订单成功");
}
/**
* 测试连通用
* @return
*/
@ResponseBody
@GetMapping("/test")
public String test(){
return "test_success";
}
}
......@@ -2,13 +2,15 @@ package com.yongqi.xinrenli.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
* <p>
......@@ -53,7 +55,7 @@ public class Article implements Serializable {
@Schema(name = "创建时间")
@TableField("create_time")
private LocalDateTime createTime;
private Date createTime;
@Schema(name = "修改人")
@TableField("update_user")
......@@ -61,7 +63,7 @@ public class Article implements Serializable {
@Schema(name = "修改时间")
@TableField("update_time")
private LocalDateTime updateTime;
private Date updateTime;
@Schema(name = "删除状态")
@TableField("delete_status")
......
......@@ -2,13 +2,14 @@ package com.yongqi.xinrenli.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
* <p>
......@@ -32,6 +33,7 @@ public class Coupon implements Serializable {
private Long id;
@TableField("user_id")
@Schema(name = "用户id")
private Integer userId;
@Schema(name = "券类型")
......@@ -48,11 +50,11 @@ public class Coupon implements Serializable {
@Schema(name = "生效时间")
@TableField("effective_time")
private LocalDateTime effectiveTime;
private Date effectiveTime;
@Schema(name = "失效时间")
@TableField("failure_time")
private LocalDateTime failureTime;
private Date failureTime;
@Schema(name = "创建人")
@TableField("create_user")
......@@ -60,7 +62,7 @@ public class Coupon implements Serializable {
@Schema(name = "创建时间")
@TableField("create_time")
private LocalDateTime createTime;
private Date createTime;
@Schema(name = "修改人")
@TableField("update_user")
......@@ -68,7 +70,7 @@ public class Coupon implements Serializable {
@Schema(name = "修改时间")
@TableField("update_time")
private LocalDateTime updateTime;
private Date updateTime;
@Schema(name = "删除状态")
@TableField("delete_status")
......
......@@ -2,14 +2,17 @@ package com.yongqi.xinrenli.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.ibatis.annotations.Delete;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
/**
* <p>
......@@ -50,7 +53,8 @@ public class Order implements Serializable {
@Schema(name = "维修时间")
@TableField("repair_time")
private LocalDateTime repairTime;
@JsonFormat(pattern = "yyyy/MM/dd")
private Date repairTime;
@Schema(name = "维修地址")
@TableField("repair_address")
......@@ -86,7 +90,7 @@ public class Order implements Serializable {
@Schema(name = "创建时间")
@TableField("create_time")
private LocalDateTime createTime;
private Date createTime;
@Schema(name = "修改人")
@TableField("update_user")
......@@ -94,7 +98,7 @@ public class Order implements Serializable {
@Schema(name = "修改时间")
@TableField("update_time")
private LocalDateTime updateTime;
private Date updateTime;
@Schema(name = "删除状态")
@TableField("delete_status")
......
......@@ -2,13 +2,15 @@ package com.yongqi.xinrenli.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
* <p>
......@@ -49,7 +51,7 @@ public class UserComment implements Serializable {
@Schema(name = "创建时间")
@TableField("create_time")
private LocalDateTime createTime;
private Date createTime;
@Schema(name = "修改人")
@TableField("update_user")
......@@ -57,7 +59,7 @@ public class UserComment implements Serializable {
@Schema(name = "修改时间")
@TableField("update_time")
private LocalDateTime updateTime;
private Date updateTime;
@Schema(name = "删除状态")
@TableField("delete_status")
......
......@@ -2,13 +2,15 @@ package com.yongqi.xinrenli.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
* <p>
......@@ -49,7 +51,7 @@ public class UserFeedback implements Serializable {
@Schema(name = "创建时间")
@TableField("create_time")
private LocalDateTime createTime;
private Date createTime;
@Schema(name = "修改人")
@TableField("update_user")
......@@ -57,7 +59,7 @@ public class UserFeedback implements Serializable {
@Schema(name = "修改时间")
@TableField("update_time")
private LocalDateTime updateTime;
private Date updateTime;
@Schema(name = "删除状态")
@TableField("delete_status")
......
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -12,7 +13,8 @@ import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
/**
* <p>
......@@ -112,11 +114,11 @@ public class WxUser implements Serializable {
@Schema(name = "最近消费时间")
@TableField("last_consumption_time")
private LocalDateTime lastConsumptionTime;
private Date lastConsumptionTime;
@Schema(name = "创建时间")
@TableField("create_time")
private LocalDateTime createTime;
private Date createTime;
@Schema(name = "创建者")
@TableField("create_by")
......@@ -128,7 +130,7 @@ public class WxUser implements Serializable {
@Schema(name = "更新时间")
@TableField("modify_time")
private LocalDateTime modifyTime;
private Date modifyTime;
@Schema(name = "更新者")
@TableField("modify_by")
......
package com.yongqi.xinrenli.domain.bo;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* <p>
* 文章表
* </p>
*
* @author wanglei
* @since 2023-03-02
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Schema(name="Article对象", description="文章表")
public class ArticleBo extends BaseEntity {
private static final long serialVersionUID = 1L;
@Schema(name = "自增id")
private Long id;
@Schema(name = "用户id")
private String userId;
@Schema(name = "动态标题")
@NotNull(message = "动态标题不能为空")
@NotBlank(message = "动态标题不能为空")
private String title;
@Schema(name = "动态内容")
@NotNull(message = "动态内容不能为空")
@NotBlank(message = "动态内容不能为空")
private String content;
@Schema(name = "添加图片地址")
private String imageSrc;
@Schema(name = "创建人")
private String createUser;
@Schema(name = "修改人")
private String updateUser;
@Schema(name = "删除状态")
private Integer delStatus;
}
package com.yongqi.xinrenli.domain.bo;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* <p>
* 优惠卷表
* </p>
*
* @author wanglei
* @since 2023-03-02
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Schema(name="Coupon对象", description="优惠卷表")
public class CouponBo extends BaseEntity {
private static final long serialVersionUID = 1L;
@Schema(name = "自增id")
private Long id;
@Schema(name = "用户id")
private Integer userId;
@Schema(name = "券类型")
@NotNull(message = "券类型不能为空")
private Integer couponType;
@Schema(name = "优惠内容:满减")
@NotNull(message = "优惠内容不能为空")
private Integer fullSubtraction;
@Schema(name = "使用门槛: 最低消费")
@NotNull(message = "使用门槛不能为空")
private Integer minUsed;
@Schema(name = "生效时间")
@NotNull(message = "生效时间不能为空")
private Date effectiveTime;
@Schema(name = "失效时间")
private Date failureTime;
@Schema(name = "创建人")
private String createUser;
@Schema(name = "修改人")
private String updateUser;
@Schema(name = "删除状态")
private Integer delStatus;
}
package com.yongqi.xinrenli.domain.bo;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.yongqi.xinrenli.admin.controller.OrderController;
import io.swagger.v3.oas.annotations.media.Schema;
import javafx.beans.binding.MapExpression;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
/**
* <p>
* 订单表
* </p>
*
* @author wanglei
* @since 2023-03-02
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Schema(name="Order对象", description="订单表")
public class OrderBo extends BaseEntity {
private static final long serialVersionUID = 1L;
@Schema(name = "自增id")
private Long id;
@Schema(name = "用户id")
@NotNull(message = "用户id不能为空")
private Long userId;
@Schema(name = "标题")
@NotNull(message = "标题不能为空")
@NotBlank(message = "标题不能为空", groups = {AddGroup.class, EditGroup.class})
private String title;
@Schema(name = "联系人")
@NotNull(message = "联系人不能为空")
@NotBlank(message = "联系人不能为空")
private String linkman;
@Schema(name = "联系电话")
@NotNull(message = "联系电话不能为空")
@NotBlank(message = "联系电话不能为空")
private String phone;
@Schema(name = "维修时间")
@NotNull(message = "维修时间不能为空")
@JsonFormat(pattern = "yyyy/MM/dd")
private Date repairTime;
@Schema(name = "维修地址")
@NotNull(message = "维修地址不能为空")
@NotBlank(message = "维修地址不能为空")
private String repairAddress;
@Schema(name = "预算金额")
@NotNull(message = "预算金额不能为空")
private Double budget;
@Schema(name = "图片地址")
private List<String> imageSrc;
@Schema(name = "视频地址")
private String videoSrc;
@Schema(name = "语音地址")
private String audioSrc;
@Schema(name = "备注说明")
private String remark;
@Schema(name = "订单状态:0 已发布;1 已驳回;2 待支付;3 已接单;4 已完成;5 退款中;6 已退款")
private Integer status;
@Schema(name = "创建人")
private String createUser;
@Schema(name = "修改人")
private String updateUser;
@Schema(name = "删除状态")
private Integer delStatus;
}
package com.yongqi.xinrenli.domain.bo;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* <p>
* 用户评论表
* </p>
*
* @author wanglei
* @since 2023-03-02
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Schema(name="UserComment对象", description="用户评论表")
public class UserCommentBo extends BaseEntity {
private static final long serialVersionUID = 1L;
@Schema(name = "id自增")
private Long id;
@Schema(name = "文章id")
private Integer articleId;
@Schema(name = "用户id")
@NotNull(message = "用户id不能为空")
private Long userId;
@Schema(name = "用户评论内容")
@NotNull(message = "评论内容不能为空")
@NotBlank(message = "评论内容不能为空")
private String content;
@Schema(name = "创建人")
private String createUser;
@Schema(name = "修改人")
private String updateUser;
@Schema(name = "删除状态")
private Integer delStatus;
}
package com.yongqi.xinrenli.domain.bo;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* <p>
* 用户反馈表
* </p>
*
* @author wanglei
* @since 2023-03-02
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Schema(name="UserFeedback对象", description="用户反馈表")
public class UserFeedbackBo extends BaseEntity {
private static final long serialVersionUID = 1L;
@Schema(name = "自增id")
private Long id;
@Schema(name = "用户id")
@NotNull(message = "用户id不能为空")
private Long userId;
@Schema(name = "反馈标题")
@NotNull(message = "反馈标题不能为空")
@NotBlank(message = "反馈标题不能为空")
private String title;
@Schema(name = "反馈内容")
@NotNull(message = "反馈标题不能为空")
@NotBlank(message = "反馈标题不能为空")
private String content;
@Schema(name = "创建人")
private String createUser;
@Schema(name = "修改人")
private String updateUser;
@Schema(name = "删除状态")
private Integer delStatus;
}
package com.yongqi.xinrenli.domain.bo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 微信用户
* </p>
*
* @author wanglei
* @since 2023-03-02
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Schema(name="WxUser对象", description="微信用户")
public class WxUserBo extends BaseEntity {
private static final long serialVersionUID = 1L;
@Schema(name = "主键标识")
private Long id;
@Schema(name = "微信用户的唯一标识")
private String openId;
@Schema(name = "是否是团长:1:是,2:否")
private Boolean headOrNot;
@Schema(name = "用户昵称")
private String nickname;
@Schema(name = "用户的性别,值为1时是男性,值为2时是女性,值为0时是未知")
private Integer sex;
@Schema(name = "用户个人资料填写的省份")
private String province;
@Schema(name = "普通用户个人资料填写的城市")
private String city;
@Schema(name = "国家,如中国为CN")
private String country;
@Schema(name = "用户头像")
private String headImgUrl;
@Schema(name = "只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。")
private String unionId;
@Schema(name = "手机号")
private String mobile;
@Schema(name = "授权手机号")
private String authMobile;
@Schema(name = "商场编码")
private String mallCode;
@Schema(name = "会员卡号")
private String userCode;
@Schema(name = "session_key")
private String sessionKey;
@Schema(name = "是否关注微信(1:关注,0:取消关注)")
private Integer wechatSubscribe;
@Schema(name = "是否取消关注(关注后又取消,和oauth取得的会员区别)(1:取消,0:未取消)")
private Integer cancelSubscribe;
@Schema(name = "微信原始ID")
private String wechatOriginalId;
@Schema(name = "下单次数")
private Integer orderNum;
@Schema(name = "累计消费")
private BigDecimal cumulativeConsumption;
@Schema(name = "最近消费时间")
private Date lastConsumptionTime;
@Schema(name = "创建人Code")
private String createCode;
@Schema(name = "更新时间")
private Date modifyTime;
@Schema(name = "更新者")
private String modifyBy;
@Schema(name = "更新者code")
private String modifyCode;
@Schema(name = "删除状态 0:未删除 1:删除")
private Boolean deleteFlag;
}
package com.yongqi.xinrenli.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 文章表
* </p>
*
* @author wanglei
* @since 2023-03-02
*/
@Data
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Schema(name="Article对象", description="文章表")
public class ArticleVo implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty("主键")
@Schema(name = "自增id")
private Long id;
@ExcelProperty("用户id")
@Schema(name = "用户id")
private String userId;
@ExcelProperty("动态标题")
@Schema(name = "动态标题")
private String title;
@ExcelProperty("动态内容")
@Schema(name = "动态内容")
private String content;
@ExcelProperty("添加图片地址")
@Schema(name = "添加图片地址")
private String imageSrc;
@ExcelProperty("创建人")
@Schema(name = "创建人")
private String createUser;
@ExcelProperty("创建时间")
@Schema(name = "创建时间")
private Date createTime;
@ExcelProperty("修改人")
@Schema(name = "修改人")
private String updateUser;
@ExcelProperty("修改时间")
@Schema(name = "修改时间")
private Date updateTime;
@Schema(name = "删除状态")
private Integer delStatus;
}
package com.yongqi.xinrenli.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 优惠卷表
* </p>
*
* @author wanglei
* @since 2023-03-02
*/
@Data
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Schema(name="Coupon对象", description="优惠卷表")
public class CouponVo implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty("主键")
@Schema(name = "自增id")
private Long id;
@ExcelProperty("用户id")
@Schema(name = "用户id")
private Integer userId;
@ExcelProperty("券类型")
@Schema(name = "券类型")
private Integer couponType;
@ExcelProperty("优惠内容(满减)")
@Schema(name = "优惠内容:满减")
private Integer fullSubtraction;
@ExcelProperty("使用门槛(最低消费)")
@Schema(name = "使用门槛: 最低消费")
private Integer minUsed;
@ExcelProperty("生效时间")
@Schema(name = "生效时间")
private Date effectiveTime;
@ExcelProperty("失效时间")
@Schema(name = "失效时间")
private Date failureTime;
@ExcelProperty("创建人")
@Schema(name = "创建人")
private String createUser;
@ExcelProperty("创建时间")
@Schema(name = "创建时间")
private Date createTime;
@ExcelProperty("修改人")
@Schema(name = "修改人")
private String updateUser;
@ExcelProperty("修改时间")
@Schema(name = "修改时间")
private Date updateTime;
@Schema(name = "删除状态")
private Integer delStatus;
}
package com.yongqi.xinrenli.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* <p>
* 订单表
* </p>
*
* @author wanglei
* @since 2023-03-02
*/
@Data
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Schema(name="Order对象", description="订单表")
public class OrderVo implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty("主键")
@Schema(name = "自增id")
private Long id;
@ExcelProperty("用户id")
@Schema(name = "用户id")
private Long userId;
@ExcelProperty("标题")
@Schema(name = "标题")
private String title;
@ExcelProperty("联系人")
@Schema(name = "联系人")
private String linkman;
@ExcelProperty("联系电话")
@Schema(name = "联系电话")
private String phone;
@ExcelProperty("维修时间")
@Schema(name = "维修时间")
@JsonFormat(pattern = "yyyy/MM/dd")
private Date repairTime;
@ExcelProperty("维修地址")
@Schema(name = "维修地址")
private String repairAddress;
@ExcelProperty("预算金额")
@Schema(name = "预算金额")
private Double budget;
@ExcelProperty("图片地址")
@Schema(name = "图片地址")
private List<String> imageSrc;
@ExcelProperty("视频地址")
@Schema(name = "视频地址")
private String videoSrc;
@ExcelProperty("语音地址")
@Schema(name = "语音地址")
private String audioSrc;
@ExcelProperty("备注说明")
@Schema(name = "备注说明")
private String remark;
@ExcelProperty("订单状态:0 已发布;1 已驳回;2 待支付;3 已接单;4 已完成;5 退款中;6 已退款")
@Schema(name = "订单状态:0 已发布;1 已驳回;2 待支付;3 已接单;4 已完成;5 退款中;6 已退款")
private Integer status;
@ExcelProperty("创建人")
@Schema(name = "创建人")
private String createUser;
@ExcelProperty("创建时间")
@Schema(name = "创建时间")
private Date createTime;
@ExcelProperty("修改人")
@Schema(name = "修改人")
private String updateUser;
@ExcelProperty("修改时间")
@Schema(name = "修改时间")
private Date updateTime;
@Schema(name = "删除状态")
private Integer delStatus;
}
package com.yongqi.xinrenli.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 用户评论表
* </p>
*
* @author wanglei
* @since 2023-03-02
*/
@Data
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Schema(name="UserComment对象", description="用户评论表")
public class UserCommentVo implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty("id自增")
@Schema(name = "id自增")
private Long id;
@Schema(name = "文章id")
@ExcelProperty("文章id")
private Integer articleId;
@Schema(name = "用户id")
@ExcelProperty("用户id")
private Long userId;
@Schema(name = "用户评论内容")
@ExcelProperty("用户评论内容")
private String content;
@ExcelProperty("创建人")
@Schema(name = "创建人")
private String createUser;
@ExcelProperty("创建时间")
@Schema(name = "创建时间")
private Date createTime;
@ExcelProperty("修改人")
@Schema(name = "修改人")
private String updateUser;
@ExcelProperty("修改时间")
@Schema(name = "修改时间")
private Date updateTime;
@Schema(name = "删除状态")
private Integer delStatus;
}
package com.yongqi.xinrenli.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 用户反馈表
* </p>
*
* @author wanglei
* @since 2023-03-02
*/
@Data
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Schema(name="UserFeedback对象", description="用户反馈表")
public class UserFeedbackVo implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(name = "自增id")
@ExcelProperty("自增id")
private Long id;
@Schema(name = "用户id")
@ExcelProperty("用户id")
private Long userId;
@Schema(name = "反馈标题")
@ExcelProperty("反馈标题")
private String title;
@Schema(name = "反馈内容")
@ExcelProperty("反馈内容")
private String content;
@ExcelProperty("创建人")
@Schema(name = "创建人")
private String createUser;
@ExcelProperty("创建时间")
@Schema(name = "创建时间")
private Date createTime;
@ExcelProperty("修改人")
@Schema(name = "修改人")
private String updateUser;
@ExcelProperty("修改时间")
@Schema(name = "修改时间")
private Date updateTime;
@Schema(name = "删除状态")
private Integer delStatus;
}
package com.yongqi.xinrenli.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 微信用户
* </p>
*
* @author wanglei
* @since 2023-03-02
*/
@Data
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Schema(name="WxUser对象", description="微信用户")
public class WxUserVo implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(name = "主键标识")
@ExcelProperty("主键标识")
private Long id;
@Schema(name = "微信用户的唯一标识")
@ExcelProperty("微信用户的唯一标识")
private String openId;
@Schema(name = "是否是团长:1:是,2:否")
@ExcelProperty("是否是团长:1:是,2:否")
private Boolean headOrNot;
@Schema(name = "用户昵称")
@ExcelProperty("用户昵称")
private String nickname;
@Schema(name = "用户的性别,值为1时是男性,值为2时是女性,值为0时是未知")
@ExcelProperty("用户的性别,值为1时是男性,值为2时是女性,值为0时是未知")
private Integer sex;
@Schema(name = "用户个人资料填写的省份")
@ExcelProperty("用户个人资料填写的省份")
private String province;
@Schema(name = "普通用户个人资料填写的城市")
@ExcelProperty("普通用户个人资料填写的城市")
private String city;
@Schema(name = "国家,如中国为CN")
@ExcelProperty("国家,如中国为CN")
private String country;
@Schema(name = "用户头像")
@ExcelProperty("用户头像")
private String headImgUrl;
@Schema(name = "只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。")
@ExcelProperty("只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。")
private String unionId;
@Schema(name = "手机号")
@ExcelProperty("手机号")
private String mobile;
@Schema(name = "授权手机号")
@ExcelProperty("授权手机号")
private String authMobile;
@Schema(name = "商场编码")
@ExcelProperty("商场编码")
private String mallCode;
@Schema(name = "会员卡号")
@ExcelProperty("会员卡号")
private String userCode;
@ExcelProperty("session_key")
private String sessionKey;
@Schema(name = "是否关注微信(1:关注,0:取消关注)")
@ExcelProperty("是否关注微信(1:关注,0:取消关注)")
private Integer wechatSubscribe;
@Schema(name = "是否取消关注(关注后又取消,和oauth取得的会员区别)(1:取消,0:未取消)")
@ExcelProperty("是否取消关注(关注后又取消,和oauth取得的会员区别)(1:取消,0:未取消)")
private Integer cancelSubscribe;
@Schema(name = "微信原始ID")
@ExcelProperty("微信原始ID")
private String wechatOriginalId;
@Schema(name = "下单次数")
@ExcelProperty("下单次数")
private Integer orderNum;
@Schema(name = "累计消费")
@ExcelProperty("累计消费")
private BigDecimal cumulativeConsumption;
@Schema(name = "最近消费时间")
@ExcelProperty("最近消费时间")
private Date lastConsumptionTime;
@Schema(name = "创建时间")
@ExcelProperty("创建时间")
private Date createTime;
@Schema(name = "创建者")
@ExcelProperty("创建者")
private String createBy;
@Schema(name = "创建人Code")
@ExcelProperty("创建人Code")
private String createCode;
@Schema(name = "更新时间")
@ExcelProperty("更新时间")
private Date modifyTime;
@Schema(name = "更新者")
@ExcelProperty("更新者")
private String modifyBy;
@Schema(name = "更新者code")
@ExcelProperty("更新者code")
private String modifyCode;
@Schema(name = "删除状态 0:未删除 1:删除")
@ExcelProperty("删除状态 0:未删除 1:删除")
private Boolean deleteFlag;
}
......@@ -2,6 +2,8 @@ package com.yongqi.xinrenli.service;
import com.yongqi.xinrenli.domain.Order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yongqi.xinrenli.domain.bo.OrderBo;
import com.yongqi.xinrenli.domain.vo.OrderVo;
/**
* <p>
......@@ -15,23 +17,38 @@ public interface IOrderService extends IService<Order> {
/**
* 新增用户需求订单
* @param order
* @param orderBo
* @return
*/
boolean addOrder(Order order);
boolean addOrder(OrderBo orderBo);
/**
* 判断返回参是否为空
* @param order
* 取消订单通过id
* @param id
* @return
*/
boolean cancelOrderById(Long id);
/**
* 修改订单信息
* @param orderBo
* @return
*/
boolean isAllEmpty(Order order);
boolean updateOrder(OrderBo orderBo);
/**
* 通过id查询订单详情
* @param id
* @return
*/
OrderVo getOrderById(Long id);
/**
* 判断上传图片 视频 语音是否都为空
* @param order
* @return
*/
boolean isParamEmpty(Order order);
boolean isAllEmpty(OrderBo order);
}
package com.yongqi.xinrenli.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yongqi.xinrenli.domain.Order;
import com.yongqi.xinrenli.domain.bo.OrderBo;
import com.yongqi.xinrenli.domain.vo.OrderVo;
import com.yongqi.xinrenli.mapper.OrderMapper;
import com.yongqi.xinrenli.service.IOrderService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 订单表 服务实现类
......@@ -15,32 +25,56 @@ import org.springframework.stereotype.Service;
* @since 2023-03-02
*/
@Service
@Slf4j
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements IOrderService {
@Override
public boolean addOrder(Order order) {
this.save(order);
return false;
public boolean addOrder(OrderBo orderBo) {
Order order = BeanUtil.toBean(orderBo,Order.class);
//图片地址转为json数据存储
order.setImageSrc(JSONUtil.toJsonStr(orderBo.getImageSrc()));
return this.save(order);
}
@Override
public boolean isParamEmpty(Order order) {
if (order.getTitle() != null || order.getLinkman() != null || order.getPhone() != null || order.getRepairTime() != null || order.getRepairAddress() != null || order.getBudget() != null) {
return false;
public boolean cancelOrderById(Long id) {
return this.removeById(id);
}
return true;
@Override
public boolean updateOrder(OrderBo orderBo) {
Order order = BeanUtil.toBean(orderBo,Order.class);
//图片地址转为json数据存储
order.setImageSrc(JSONUtil.toJsonStr(orderBo.getImageSrc()));
//测试
log.info("wanglei-order:{}",order);
return this.updateById(order);
}
@Override
public OrderVo getOrderById(Long id) {
Order order = this.getById(id);
//若不存在则返回null
if (order==null){
return null;
}
//将order转为vo
OrderVo orderVo = BeanUtil.toBean(order,OrderVo.class);
//vo中将Json转为列表
orderVo.setImageSrc(JSONUtil.toList(order.getImageSrc(), String.class));
return orderVo;
}
@Override
public boolean isAllEmpty(Order order) {
public boolean isAllEmpty(OrderBo order) {
int flag = 0;
if (order.getImageSrc() != null) {
if (order.getImageSrc() != null && !"".equals(order.getImageSrc()) && order.getImageSrc().size()!=0) {
flag++;
}
if (order.getVideoSrc() != null) {
if (order.getVideoSrc() != null && !"".equals(order.getVideoSrc())) {
flag++;
}
if (order.getAudioSrc() != null) {
if (order.getAudioSrc() != null && !"".equals(order.getAudioSrc())) {
flag++;
}
if (flag > 0) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment