From 26e87fddb08e88911bb846bc4a2a67b42c9a6373 Mon Sep 17 00:00:00 2001 From: cjw Date: Wed, 14 Aug 2024 14:13:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=92=A8=E8=AF=A2=E5=B8=88=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E4=BC=98=E5=8C=96=EF=BC=8C=E5=92=A8=E8=AF=A2?= =?UTF-8?q?=E5=B8=88=E5=85=B6=E4=BB=96=E4=BF=A1=E6=81=AF=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/wx/WxCounselorController.java | 39 +++++++++++++++++++ .../scale/controller/wx/WxPayController.java | 14 +++++++ .../controller/wx/WxScaleOrderController.java | 5 ++- .../org/dromara/scale/domain/Counselor.java | 21 ++++++++-- .../dromara/scale/domain/SysScaleOrder.java | 7 +--- .../dromara/scale/domain/bo/CounselorBo.java | 23 ++++++++++- .../scale/domain/bo/SysScaleOrderBo.java | 35 +++++++---------- .../dromara/scale/domain/vo/CounselorVo.java | 27 +++++++------ .../dromara/scale/mapper/CounselorMapper.java | 4 +- .../scale/service/ISysScaleOrderService.java | 2 +- .../service/impl/CounselorServiceImpl.java | 28 ++++++++++--- .../impl/SysScaleOrderServiceImpl.java | 33 ++++++++++++---- .../dromara/system/domain/vo/SysUserVo.java | 1 + 13 files changed, 177 insertions(+), 62 deletions(-) create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxCounselorController.java diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxCounselorController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxCounselorController.java new file mode 100644 index 0000000..65bb5ce --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxCounselorController.java @@ -0,0 +1,39 @@ +package org.dromara.scale.controller.wx; + +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.common.web.core.BaseController; +import org.dromara.scale.domain.vo.CounselorVo; +import org.dromara.scale.service.ICounselorService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

TODO

+ * + * @author cjw + * @version V1.0.0 + * @date 2024/8/12 11:20 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/wx/counselor") +public class WxCounselorController extends BaseController { + + private final ICounselorService counselorService; + + /** + * 获取心理咨询师详细信息 + * + */ + @GetMapping() + public R getInfo() { + Long userId = LoginHelper.getUserId(); + return R.ok(counselorService.queryById(userId)); + } + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxPayController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxPayController.java index 1f4a3f9..128e4c6 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxPayController.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxPayController.java @@ -1,7 +1,13 @@ package org.dromara.scale.controller.wx; +import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse; +import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; +import com.github.binarywang.wxpay.exception.WxPayException; +import com.github.binarywang.wxpay.service.WxPayService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -18,4 +24,12 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/wx/pay") public class WxPayController { + private final WxPayService payService; + + @PostMapping("/notify/order") + public String parseOrderNotifyResult(@RequestBody String xmlData) throws WxPayException { + final WxPayOrderNotifyResult notifyResult = this.payService.parseOrderNotifyResult(xmlData); + // TODO 根据自己业务场景需要构造返回对象 + return WxPayNotifyResponse.success("成功"); + } } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxScaleOrderController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxScaleOrderController.java index 43ce950..b8e4b8e 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxScaleOrderController.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxScaleOrderController.java @@ -3,6 +3,7 @@ package org.dromara.scale.controller.wx; import cn.dev33.satoken.annotation.SaCheckPermission; import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; +import org.apache.poi.ss.formula.functions.T; import org.dromara.common.core.domain.R; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -57,8 +58,8 @@ public class WxScaleOrderController extends BaseController { @Log(title = "量表订单", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody SysScaleOrderBo bo) { - return toAjax(sysScaleOrderService.insertByBo(bo)); + public R add(@Validated(AddGroup.class) @RequestBody SysScaleOrderBo bo) throws Exception { + return R.ok(sysScaleOrderService.insertByBo(bo)); } } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/Counselor.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/Counselor.java index c6b538c..ae6ad01 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/Counselor.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/Counselor.java @@ -1,12 +1,15 @@ package org.dromara.scale.domain; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import java.math.BigDecimal; +import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; +import java.math.BigDecimal; +import java.util.Date; /** * 心理咨询师对象 m_counselor @@ -31,7 +34,7 @@ public class Counselor extends BaseEntity { /** * 姓名 */ - private String name; + private Long userId; /** * 价格 @@ -53,5 +56,15 @@ public class Counselor extends BaseEntity { */ private String covers; + /** + * 服务时长 + */ + private Integer serviceDuration; + + /** + * 从业时间 + */ + private Date practiceTime; + } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/SysScaleOrder.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/SysScaleOrder.java index a871799..867659a 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/SysScaleOrder.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/SysScaleOrder.java @@ -23,7 +23,7 @@ public class SysScaleOrder extends TenantEntity { private static final long serialVersionUID = 1L; /** - * + * */ @TableId(value = "id") private Long id; @@ -33,11 +33,6 @@ public class SysScaleOrder extends TenantEntity { */ private Long scaleId; - /** - * 发布批次号 - */ - private Long batchNo; - /** * 订单价格 */ diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/CounselorBo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/CounselorBo.java index fd88da7..97c3664 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/CounselorBo.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/CounselorBo.java @@ -9,6 +9,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; import java.math.BigDecimal; +import java.util.Date; /** * 心理咨询师业务对象 m_counselor @@ -22,7 +23,7 @@ import java.math.BigDecimal; public class CounselorBo extends BaseEntity { /** - * + * */ @NotNull(message = "不能为空", groups = { EditGroup.class }) private Long id; @@ -33,6 +34,12 @@ public class CounselorBo extends BaseEntity { @NotBlank(message = "姓名不能为空", groups = { AddGroup.class, EditGroup.class }) private String name; + /** + * 手机号码 + */ + @NotBlank(message = "手机号码不能为空", groups = { AddGroup.class, EditGroup.class }) + private String phonenumber; + /** * 价格 */ @@ -48,7 +55,7 @@ public class CounselorBo extends BaseEntity { /** * 擅长领域 */ - @NotBlank(message = "擅长领域不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotBlank(message = "擅长领域标签不能为空", groups = { AddGroup.class, EditGroup.class }) private String specialityField; /** @@ -57,5 +64,17 @@ public class CounselorBo extends BaseEntity { @NotBlank(message = "封面组不能为空", groups = { AddGroup.class, EditGroup.class }) private String covers; + /** + * 服务时长 + */ + @NotNull(message = "服务时长不能为空", groups = { AddGroup.class, EditGroup.class }) + private Integer serviceDuration; + + /** + * 从业时间 + */ + @NotNull(message = "从业时间不能为空", groups = { AddGroup.class, EditGroup.class }) + private Date practiceTime; + } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/SysScaleOrderBo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/SysScaleOrderBo.java index 91688d2..dc74c7b 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/SysScaleOrderBo.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/SysScaleOrderBo.java @@ -1,13 +1,14 @@ package org.dromara.scale.domain.bo; -import org.dromara.scale.domain.SysScaleOrder; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.tenant.core.TenantEntity; +import org.dromara.scale.domain.SysScaleOrder; + import java.math.BigDecimal; /** @@ -19,54 +20,48 @@ import java.math.BigDecimal; @Data @EqualsAndHashCode(callSuper = true) @AutoMapper(target = SysScaleOrder.class, reverseConvertGenerate = false) -public class SysScaleOrderBo extends BaseEntity { +public class SysScaleOrderBo extends TenantEntity { /** - * + * */ - @NotNull(message = "不能为空", groups = { EditGroup.class }) + @NotNull(message = "不能为空", groups = {EditGroup.class}) private Long id; /** * 量表id */ - @NotNull(message = "量表id不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotNull(message = "量表id不能为空", groups = {AddGroup.class, EditGroup.class}) private Long scaleId; - /** - * 发布批次号 - */ - @NotNull(message = "发布批次号不能为空", groups = { AddGroup.class, EditGroup.class }) - private Long batchNo; - /** * 订单价格 */ - @NotNull(message = "订单价格不能为空", groups = { AddGroup.class, EditGroup.class }) + //@NotNull(message = "订单价格不能为空", groups = { AddGroup.class, EditGroup.class }) private BigDecimal orderPrice; /** * 实付价格 */ - @NotNull(message = "实付价格不能为空", groups = { AddGroup.class, EditGroup.class }) + //@NotNull(message = "实付价格不能为空", groups = { AddGroup.class, EditGroup.class }) private BigDecimal actualPrice; /** * 0现金, 1扫码付款,2 公众号支付,3 h5支付,4 当面付,5 小程序支付 */ - @NotNull(message = "0现金, 1扫码付款,2 公众号支付,3 h5支付,4 当面付,5 小程序支付不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotNull(message = "0现金, 1扫码付款,2 公众号支付,3 h5支付,4 当面付,5 小程序支付不能为空", groups = {AddGroup.class, EditGroup.class}) private Integer payWay; /** * 量表是否使用,0:未使用,1:已使用 */ - @NotNull(message = "量表是否使用,0:未使用,1:已使用不能为空", groups = { AddGroup.class, EditGroup.class }) + //@NotNull(message = "量表是否使用,0:未使用,1:已使用不能为空", groups = { AddGroup.class, EditGroup.class }) private Integer useStatus; /** * 0:未支付,1:支付完成,2:待评分,3:已评分,99:已退款 */ - @NotNull(message = "0:未支付,1:支付完成,2:待评分,3:已评分,99:已退款不能为空", groups = { AddGroup.class, EditGroup.class }) + //@NotNull(message = "0:未支付,1:支付完成,2:待评分,3:已评分,99:已退款不能为空", groups = { AddGroup.class, EditGroup.class }) private Integer orderStatus; diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/CounselorVo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/CounselorVo.java index 5574c7b..b2411d4 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/CounselorVo.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/CounselorVo.java @@ -1,16 +1,12 @@ package org.dromara.scale.domain.vo; -import java.math.BigDecimal; -import org.dromara.scale.domain.Counselor; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import org.dromara.common.excel.annotation.ExcelDictFormat; -import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.scale.domain.Counselor; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -22,7 +18,6 @@ import java.util.Date; * @date 2024-07-30 */ @Data -@ExcelIgnoreUnannotated @AutoMapper(target = Counselor.class) public class CounselorVo implements Serializable { @@ -30,40 +25,44 @@ public class CounselorVo implements Serializable { private static final long serialVersionUID = 1L; /** - * + * */ - @ExcelProperty(value = "") private Long id; /** * 姓名 */ - @ExcelProperty(value = "姓名") private String name; /** * 价格 */ - @ExcelProperty(value = "价格") private BigDecimal price; /** * 个人简介 */ - @ExcelProperty(value = "个人简介") private String introduce; /** * 擅长领域 */ - @ExcelProperty(value = "擅长领域") private String specialityField; /** * 封面组 */ - @ExcelProperty(value = "封面组") private String covers; + /** + * 服务时长 + */ + private Integer serviceDuration; + + /** + * 从业时间 + */ + private Date practiceTime; + } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/CounselorMapper.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/CounselorMapper.java index 8b492d3..688e1b0 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/CounselorMapper.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/CounselorMapper.java @@ -1,8 +1,9 @@ package org.dromara.scale.mapper; +import org.apache.ibatis.annotations.Mapper; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.scale.domain.Counselor; import org.dromara.scale.domain.vo.CounselorVo; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; /** * 心理咨询师Mapper接口 @@ -10,6 +11,7 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; * @author cjw * @date 2024-07-30 */ +@Mapper public interface CounselorMapper extends BaseMapperPlus { } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScaleOrderService.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScaleOrderService.java index b20c289..9e71fd1 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScaleOrderService.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScaleOrderService.java @@ -46,6 +46,6 @@ public interface ISysScaleOrderService { * @param bo 量表订单 * @return 是否新增成功 */ - Boolean insertByBo(SysScaleOrderBo bo); + T insertByBo(SysScaleOrderBo bo) throws Exception; } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/CounselorServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/CounselorServiceImpl.java index 661310d..3e1d841 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/CounselorServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/CounselorServiceImpl.java @@ -1,9 +1,11 @@ package org.dromara.scale.service.impl; +import cn.dev33.satoken.secure.BCrypt; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; +import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; @@ -13,6 +15,8 @@ import org.dromara.scale.domain.bo.CounselorBo; import org.dromara.scale.domain.vo.CounselorVo; import org.dromara.scale.mapper.CounselorMapper; import org.dromara.scale.service.ICounselorService; +import org.dromara.system.domain.bo.SysUserBo; +import org.dromara.system.service.ISysUserService; import org.springframework.stereotype.Service; import java.util.List; @@ -30,6 +34,8 @@ public class CounselorServiceImpl implements ICounselorService { private final CounselorMapper baseMapper; + private final ISysUserService userService; + /** * 查询心理咨询师 * @@ -37,7 +43,7 @@ public class CounselorServiceImpl implements ICounselorService { * @return 心理咨询师 */ @Override - public CounselorVo queryById(Long id){ + public CounselorVo queryById(Long id) { return baseMapper.selectVoById(id); } @@ -70,7 +76,7 @@ public class CounselorServiceImpl implements ICounselorService { private LambdaQueryWrapper buildQueryWrapper(CounselorBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.like(StringUtils.isNotBlank(bo.getName()), Counselor::getName, bo.getName()); + //lqw.like(StringUtils.isNotBlank(bo.getName()), Counselor::getName, bo.getName()); lqw.eq(bo.getPrice() != null, Counselor::getPrice, bo.getPrice()); lqw.eq(StringUtils.isNotBlank(bo.getIntroduce()), Counselor::getIntroduce, bo.getIntroduce()); lqw.eq(StringUtils.isNotBlank(bo.getSpecialityField()), Counselor::getSpecialityField, bo.getSpecialityField()); @@ -86,7 +92,19 @@ public class CounselorServiceImpl implements ICounselorService { */ @Override public Boolean insertByBo(CounselorBo bo) { + String phonenumber = bo.getPhonenumber(); + SysUserBo user = new SysUserBo(); + user.setUserName(phonenumber); + user.setPhonenumber(phonenumber); + if (!userService.checkUserNameUnique(user)) { + throw new ServiceException("新增心理咨询师'" + phonenumber + "'失败,登录账号已存在"); + } + user.setNickName(bo.getName()); + user.setPassword(BCrypt.hashpw("Mz123456!")); + user.setUserType("sys_counselor"); + userService.insertUser(user); Counselor add = MapstructUtils.convert(bo, Counselor.class); + add.setUserId(user.getUserId()); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { @@ -111,20 +129,20 @@ public class CounselorServiceImpl implements ICounselorService { /** * 保存前的数据校验 */ - private void validEntityBeforeSave(Counselor entity){ + private void validEntityBeforeSave(Counselor entity) { //TODO 做一些数据校验,如唯一约束 } /** * 校验并批量删除心理咨询师信息 * - * @param id 待删除的主键集合 + * @param id 待删除的主键集合 * @param isValid 是否进行有效性校验 * @return 是否删除成功 */ @Override public Boolean deleteWithValidById(Long id, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteById(id) > 0; diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleOrderServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleOrderServiceImpl.java index 6d7c669..fba25e7 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleOrderServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleOrderServiceImpl.java @@ -3,17 +3,23 @@ package org.dromara.scale.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; +import com.github.binarywang.wxpay.service.WxPayService; import lombok.RequiredArgsConstructor; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.scale.constant.StatusEnum; +import org.dromara.scale.domain.SysScale; import org.dromara.scale.domain.SysScaleOrder; import org.dromara.scale.domain.bo.SysScaleOrderBo; import org.dromara.scale.domain.vo.SysScaleOrderVo; +import org.dromara.scale.mapper.SysScaleMapper; import org.dromara.scale.mapper.SysScaleOrderMapper; import org.dromara.scale.service.ISysScaleOrderService; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -29,7 +35,9 @@ public class SysScaleOrderServiceImpl implements ISysScaleOrderService { private final SysScaleOrderMapper baseMapper; - // private final WxPayService wxService; + private final WxPayService payService; + + private final SysScaleMapper sysScaleMapper; /** * 查询量表订单 @@ -38,7 +46,7 @@ public class SysScaleOrderServiceImpl implements ISysScaleOrderService { * @return 量表订单 */ @Override - public SysScaleOrderVo queryById(Long id){ + public SysScaleOrderVo queryById(Long id) { return baseMapper.selectVoById(id); } @@ -72,7 +80,6 @@ public class SysScaleOrderServiceImpl implements ISysScaleOrderService { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.eq(bo.getScaleId() != null, SysScaleOrder::getScaleId, bo.getScaleId()); - lqw.eq(bo.getBatchNo() != null, SysScaleOrder::getBatchNo, bo.getBatchNo()); lqw.eq(bo.getOrderPrice() != null, SysScaleOrder::getOrderPrice, bo.getOrderPrice()); lqw.eq(bo.getActualPrice() != null, SysScaleOrder::getActualPrice, bo.getActualPrice()); lqw.eq(bo.getPayWay() != null, SysScaleOrder::getPayWay, bo.getPayWay()); @@ -88,23 +95,35 @@ public class SysScaleOrderServiceImpl implements ISysScaleOrderService { * @return 是否新增成功 */ @Override - public Boolean insertByBo(SysScaleOrderBo bo) { + public T insertByBo(SysScaleOrderBo bo) throws Exception { SysScaleOrder add = MapstructUtils.convert(bo, SysScaleOrder.class); - + SysScale sysScale = sysScaleMapper.selectById(add.getScaleId()); + BigDecimal price = sysScale.getPrice(); + add.setActualPrice(price); + add.setOrderPrice(price); + add.setUseStatus(StatusEnum.DISABLED.getValue()); + add.setOrderStatus(StatusEnum.DISABLED.getValue()); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setId(add.getId()); } + WxPayUnifiedOrderRequest orderRequest = new WxPayUnifiedOrderRequest(); + orderRequest.setBody("墨者科技-量表支付"); + orderRequest.setOutTradeNo(add.getId().toString()); + int totalFee = price.multiply(new BigDecimal(100)).intValue(); + orderRequest.setTotalFee(totalFee); + orderRequest.setNotifyUrl(""); + orderRequest.setTradeType("JSAPI"); + return payService.createOrder(orderRequest); - return flag; } /** * 保存前的数据校验 */ - private void validEntityBeforeSave(SysScaleOrder entity){ + private void validEntityBeforeSave(SysScaleOrder entity) { //TODO 做一些数据校验,如唯一约束 } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java index 235adab..9344c5f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java @@ -53,6 +53,7 @@ public class SysUserVo implements Serializable { */ private String nickName; + @JsonIgnore private String openId; /**