Commit f484d3e3 by sdif

用户端代码提交

parent 546515ac
...@@ -50,7 +50,7 @@ public class AppletDepartmentController extends BaseController { ...@@ -50,7 +50,7 @@ public class AppletDepartmentController extends BaseController {
* 根据医院查询科室列表 * 根据医院查询科室列表
*/ */
@GetMapping("/DepartmentByHospitalId") @GetMapping("/DepartmentByHospitalId")
public R<List<Department>> departmentByHospitalId(Integer hospitalId) { public R<List<DepartmentVo>> departmentByHospitalId(Integer hospitalId) {
return R.ok(iDepartmentService.departmentByHospitalId(hospitalId)); return R.ok(iDepartmentService.departmentByHospitalId(hospitalId));
} }
} }
package com.pz.applet;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.pz.common.annotation.Log;
import com.pz.common.annotation.RepeatSubmit;
import com.pz.common.core.controller.BaseController;
import com.pz.common.core.domain.PageQuery;
import com.pz.common.core.domain.R;
import com.pz.common.core.page.TableDataInfo;
import com.pz.common.core.validate.AddGroup;
import com.pz.common.core.validate.EditGroup;
import com.pz.common.enums.BusinessType;
import com.pz.common.utils.poi.ExcelUtil;
import com.pz.system.domain.bo.DoctorBo;
import com.pz.system.domain.vo.DoctorVo;
import com.pz.system.service.IDoctorService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
import java.util.List;
/**
* 医生
*
* @author ruoyi
* @date 2023-09-07
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/applet/doctor")
public class AppletDoctorController extends BaseController {
private final IDoctorService iDoctorService;
/**
* 查询医生列表
*/
@GetMapping("/list")
public TableDataInfo<DoctorVo> list(DoctorBo bo, PageQuery pageQuery) {
return iDoctorService.queryPageList(bo, pageQuery);
}
}
...@@ -41,13 +41,17 @@ public class AppletStoreApplyController extends BaseController { ...@@ -41,13 +41,17 @@ public class AppletStoreApplyController extends BaseController {
/** /**
* 新增商城商户申请 * 新增商城商户申请
*/ */
@SaCheckPermission("system:apply:add")
@Log(title = "商城商户申请", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody StoreApplyBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody StoreApplyBo bo) {
return toAjax(iStoreApplyService.insertByBo(bo)); return toAjax(iStoreApplyService.insertByBo(bo));
} }
/**
* 查询商户状态
*/
@GetMapping("/status")
public R<StoreApplyVo> getStatus(){
return R.ok(iStoreApplyService.queryByUserId());
}
} }
...@@ -59,8 +59,8 @@ public class AppletStoreGoodsController extends BaseController { ...@@ -59,8 +59,8 @@ public class AppletStoreGoodsController extends BaseController {
* 商城商品分类列表 * 商城商品分类列表
*/ */
@GetMapping("/shopGoodsClassify") @GetMapping("/shopGoodsClassify")
public List<StoreApplyVo> shopGoodsClassify() { public R<List<StoreApplyVo>> shopGoodsClassify() {
return iStoreGoodsService.shopGoodsClassify(); return R.ok(iStoreGoodsService.shopGoodsClassify());
} }
/** /**
......
...@@ -13,6 +13,7 @@ import com.pz.common.core.domain.R; ...@@ -13,6 +13,7 @@ import com.pz.common.core.domain.R;
import com.pz.common.core.domain.entity.SysDept; import com.pz.common.core.domain.entity.SysDept;
import com.pz.common.core.domain.entity.SysRole; import com.pz.common.core.domain.entity.SysRole;
import com.pz.common.core.domain.entity.SysUser; import com.pz.common.core.domain.entity.SysUser;
import com.pz.common.core.domain.model.LoginUser;
import com.pz.common.core.page.TableDataInfo; import com.pz.common.core.page.TableDataInfo;
import com.pz.common.enums.BusinessType; import com.pz.common.enums.BusinessType;
import com.pz.common.excel.ExcelResult; import com.pz.common.excel.ExcelResult;
...@@ -70,7 +71,8 @@ public class AppletSysUserController extends BaseController { ...@@ -70,7 +71,8 @@ public class AppletSysUserController extends BaseController {
*/ */
@GetMapping("/getIdentity") @GetMapping("/getIdentity")
public R<UserIdentityVo> getIdentity() { public R<UserIdentityVo> getIdentity() {
return R.ok(userService.checkUserIdentity(LoginHelper.getLoginUser().getUserId().intValue())); LoginUser loginUser = LoginHelper.getLoginUser();
return R.ok(userService.checkUserIdentity(loginUser.getUserId().intValue()));
} }
/** /**
...@@ -99,7 +101,6 @@ public class AppletSysUserController extends BaseController { ...@@ -99,7 +101,6 @@ public class AppletSysUserController extends BaseController {
*/ */
@PutMapping @PutMapping
public R<Void> edit(@Validated @RequestBody SysUser user) { public R<Void> edit(@Validated @RequestBody SysUser user) {
user.setUserId(LoginHelper.getLoginUser().getUserId());
userService.checkUserAllowed(user); userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId()); userService.checkUserDataScope(user.getUserId());
if (!userService.checkUserNameUnique(user)) { if (!userService.checkUserNameUnique(user)) {
......
package com.pz.applet; package com.pz.applet;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
import com.github.binarywang.wxpay.bean.result.BaseWxPayResult;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.github.binarywang.wxpay.service.WxPayService;
import com.pz.common.annotation.Log; import com.pz.common.annotation.Log;
import com.pz.common.annotation.RepeatSubmit; import com.pz.common.annotation.RepeatSubmit;
import com.pz.common.core.controller.BaseController; import com.pz.common.core.controller.BaseController;
...@@ -10,21 +17,27 @@ import com.pz.common.core.page.TableDataInfo; ...@@ -10,21 +17,27 @@ import com.pz.common.core.page.TableDataInfo;
import com.pz.common.core.validate.AddGroup; import com.pz.common.core.validate.AddGroup;
import com.pz.common.core.validate.EditGroup; import com.pz.common.core.validate.EditGroup;
import com.pz.common.enums.BusinessType; import com.pz.common.enums.BusinessType;
import com.pz.common.helper.LoginHelper;
import com.pz.common.utils.poi.ExcelUtil; import com.pz.common.utils.poi.ExcelUtil;
import com.pz.system.domain.bo.CreateOrderBo; import com.pz.system.domain.bo.CreateOrderBo;
import com.pz.system.domain.bo.PaymentRecordBo; import com.pz.system.domain.bo.PaymentRecordBo;
import com.pz.system.domain.bo.TotalOrderBo; import com.pz.system.domain.bo.TotalOrderBo;
import com.pz.system.domain.vo.PaymentRecordVo; import com.pz.system.domain.vo.PaymentRecordVo;
import com.pz.system.domain.vo.TotalOrderVo; import com.pz.system.domain.vo.TotalOrderVo;
import com.pz.system.service.IPayService;
import com.pz.system.service.IPaymentRecordService; import com.pz.system.service.IPaymentRecordService;
import com.pz.system.service.ITotalOrderService; import com.pz.system.service.ITotalOrderService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
...@@ -45,11 +58,14 @@ public class AppletTotalOrderController extends BaseController { ...@@ -45,11 +58,14 @@ public class AppletTotalOrderController extends BaseController {
private final IPaymentRecordService iPaymentRecordService; private final IPaymentRecordService iPaymentRecordService;
private final IPayService iPayService;
/** /**
* 查询总订单列表 * 查询总订单列表
*/ */
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<TotalOrderVo> list(TotalOrderBo bo, PageQuery pageQuery) { public TableDataInfo<TotalOrderVo> list(TotalOrderBo bo, PageQuery pageQuery) {
bo.setUid(LoginHelper.getLoginUser().getUserId().intValue());
return iTotalOrderService.queryPageList(bo, pageQuery); return iTotalOrderService.queryPageList(bo, pageQuery);
} }
...@@ -119,4 +135,35 @@ public class AppletTotalOrderController extends BaseController { ...@@ -119,4 +135,35 @@ public class AppletTotalOrderController extends BaseController {
public R<Void> cancelOrder(@Validated(AddGroup.class) @RequestBody TotalOrderBo recordBo) { public R<Void> cancelOrder(@Validated(AddGroup.class) @RequestBody TotalOrderBo recordBo) {
return toAjax(iTotalOrderService.cancelOrder(recordBo)); return toAjax(iTotalOrderService.cancelOrder(recordBo));
} }
/**
* 订单支付
*/
@RepeatSubmit()
@PostMapping("/Orderpay")
public R<Object> Orderpay(@Validated(AddGroup.class) @RequestBody TotalOrderBo recordBo) {
return R.ok(iTotalOrderService.payOrder(recordBo));
}
/**
* 订单回调
*/
@ResponseBody
@PostMapping("/orderPayCallBack")
public R<Void> orderPayCallBack(HttpServletRequest request, HttpServletResponse response) {
try {
String xmlResult = IOUtils.toString(request.getInputStream(), request.getCharacterEncoding());
WxPayOrderNotifyResult result = iPayService.parseOrderNotifyResult(xmlResult);
// 加入自己处理订单的业务逻辑,需要判断订单是否已经支付过,否则可能会重复调用
/* String orderNum = result.getOutTradeNo();
iTotalOrderService.*/
return R.ok();
} catch (Exception e) {
System.out.println("微信回调结果异常,异常原因" + e.getMessage());
return R.fail();
}
}
} }
...@@ -54,16 +54,12 @@ public class SysUser extends BaseEntity { ...@@ -54,16 +54,12 @@ public class SysUser extends BaseEntity {
/** /**
* 用户账号 * 用户账号
*/ */
@Xss(message = "用户账号不能包含脚本字符")
@NotBlank(message = "用户账号不能为空")
@Size(min = 0, max = 30, message = "用户账号长度不能超过{max}个字符") @Size(min = 0, max = 30, message = "用户账号长度不能超过{max}个字符")
private String userName; private String userName;
/** /**
* 用户昵称 * 用户昵称
*/ */
@Xss(message = "用户昵称不能包含脚本字符")
@NotBlank(message = "用户昵称不能为空")
@Size(min = 0, max = 30, message = "用户昵称长度不能超过{max}个字符") @Size(min = 0, max = 30, message = "用户昵称长度不能超过{max}个字符")
private String nickName; private String nickName;
......
...@@ -15,12 +15,12 @@ import lombok.Getter; ...@@ -15,12 +15,12 @@ import lombok.Getter;
public enum UserType { public enum UserType {
/** /**
* pc端 * 普通用户
*/ */
SYS_USER("sys_user"), SYS_USER("sys_user"),
/** /**
* app端 * 陪诊员
*/ */
APP_USER("app_user"), APP_USER("app_user"),
......
...@@ -98,4 +98,14 @@ public class Employees extends BaseEntity { ...@@ -98,4 +98,14 @@ public class Employees extends BaseEntity {
@TableLogic @TableLogic
private String delFlag; private String delFlag;
/**
* 身份证号
*/
private String cardNo;
/**
* 手机号
*/
private String phone;
} }
...@@ -5,6 +5,7 @@ import com.alibaba.excel.annotation.ExcelProperty; ...@@ -5,6 +5,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
import com.pz.common.annotation.ExcelDictFormat; import com.pz.common.annotation.ExcelDictFormat;
import com.pz.common.convert.ExcelDictConvert; import com.pz.common.convert.ExcelDictConvert;
import com.pz.system.domain.TotalOrder; import com.pz.system.domain.TotalOrder;
import com.pz.system.domain.vo.TotalOrderVo;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
...@@ -123,5 +124,10 @@ public class EmployeesVo { ...@@ -123,5 +124,10 @@ public class EmployeesVo {
/** /**
* 最近好评 * 最近好评
*/ */
private List<TotalOrder> totalOrderVo; private List<TotalOrderVo> totalOrderVo;
/**
* 工作年限
*/
private Integer wrokYear;
} }
...@@ -22,8 +22,12 @@ import com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo; ...@@ -22,8 +22,12 @@ import com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo;
import com.pz.merchant.domain.vo.*; import com.pz.merchant.domain.vo.*;
import com.pz.merchant.mapper.CompanyMapper; import com.pz.merchant.mapper.CompanyMapper;
import com.pz.merchant.service.ISonOrderService; import com.pz.merchant.service.ISonOrderService;
import com.pz.system.domain.Business;
import com.pz.system.domain.TotalOrder; import com.pz.system.domain.TotalOrder;
import com.pz.system.domain.bo.EmployeesCompanyBo; import com.pz.system.domain.bo.EmployeesCompanyBo;
import com.pz.system.domain.vo.BusinessVo;
import com.pz.system.domain.vo.TotalOrderVo;
import com.pz.system.mapper.BusinessMapper;
import com.pz.system.mapper.CityMapper; import com.pz.system.mapper.CityMapper;
import com.pz.system.mapper.SysUserMapper; import com.pz.system.mapper.SysUserMapper;
import com.pz.system.mapper.TotalOrderMapper; import com.pz.system.mapper.TotalOrderMapper;
...@@ -35,6 +39,7 @@ import com.pz.merchant.mapper.EmployeesMapper; ...@@ -35,6 +39,7 @@ import com.pz.merchant.mapper.EmployeesMapper;
import com.pz.merchant.service.IEmployeesService; import com.pz.merchant.service.IEmployeesService;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import java.time.LocalDate;
import java.util.*; import java.util.*;
/** /**
...@@ -53,6 +58,7 @@ public class EmployeesServiceImpl implements IEmployeesService { ...@@ -53,6 +58,7 @@ public class EmployeesServiceImpl implements IEmployeesService {
private final CityMapper cityMapper; private final CityMapper cityMapper;
private final TotalOrderMapper totalOrderMapper; private final TotalOrderMapper totalOrderMapper;
private final SonOrderServiceBuilder sonOrderServiceBuilder; private final SonOrderServiceBuilder sonOrderServiceBuilder;
private final BusinessMapper businessMapper;
/** /**
* 查询陪诊员 * 查询陪诊员
...@@ -143,7 +149,7 @@ public class EmployeesServiceImpl implements IEmployeesService { ...@@ -143,7 +149,7 @@ public class EmployeesServiceImpl implements IEmployeesService {
*/ */
SysUser sysUser = new SysUser(); SysUser sysUser = new SysUser();
sysUser.setUserId(bo.getUid().longValue()); sysUser.setUserId(bo.getUid().longValue());
sysUser.setPhonenumber(bo.getPhone()); //sysUser.setPhonenumber(bo.getPhone());
if (bo.getIdentity() == 2) { if (bo.getIdentity() == 2) {
Employees add = BeanUtil.toBean(bo, Employees.class); Employees add = BeanUtil.toBean(bo, Employees.class);
add.setNowType(1); add.setNowType(1);
...@@ -190,15 +196,20 @@ public class EmployeesServiceImpl implements IEmployeesService { ...@@ -190,15 +196,20 @@ public class EmployeesServiceImpl implements IEmployeesService {
*/ */
@Override @Override
public TableDataInfo<EmployeesVo> queryPageAppNeed(EmployeesBo bo, PageQuery pageQuery) { public TableDataInfo<EmployeesVo> queryPageAppNeed(EmployeesBo bo, PageQuery pageQuery) {
// 获取当前日期
LocalDate currentDate = LocalDate.now();
// 获取当前年份
int year = currentDate.getYear();
Page<EmployeesVo> result = baseMapper.selectEmployees(bo, pageQuery.build()); Page<EmployeesVo> result = baseMapper.selectEmployees(bo, pageQuery.build());
Optional.ofNullable(result.getRecords()).ifPresent(EmployeesVo -> { Optional.ofNullable(result.getRecords()).ifPresent(EmployeesVo -> {
EmployeesVo.forEach(t -> { EmployeesVo.forEach(t -> {
List<TotalOrder> totalOrder = totalOrderMapper.selectList(Wrappers.<TotalOrder>lambdaQuery() List<TotalOrderVo> totalOrder = totalOrderMapper.selectVoList(Wrappers.<TotalOrder>lambdaQuery()
.eq(TotalOrder::getEmId, t.getId()) .eq(TotalOrder::getEmId, t.getId())
.eq(TotalOrder::getIsSatisfaction, 1) .eq(TotalOrder::getIsSatisfaction, 1)
.orderByDesc(TotalOrder::getId) .orderByDesc(TotalOrder::getId)
.last("LIMIT 1")); .last("LIMIT 1"));
t.setTotalOrderVo(totalOrder); t.setTotalOrderVo(totalOrder);
t.setWrokYear(year - Integer.parseInt(t.getStartYear()));
}); });
}); });
return TableDataInfo.build(result); return TableDataInfo.build(result);
...@@ -216,7 +227,7 @@ public class EmployeesServiceImpl implements IEmployeesService { ...@@ -216,7 +227,7 @@ public class EmployeesServiceImpl implements IEmployeesService {
Page<EmployeesVo> result = baseMapper.selectEmployees(bo, pageQuery.build()); Page<EmployeesVo> result = baseMapper.selectEmployees(bo, pageQuery.build());
Optional.ofNullable(result.getRecords()).ifPresent(EmployeesVo -> { Optional.ofNullable(result.getRecords()).ifPresent(EmployeesVo -> {
EmployeesVo.forEach(t -> { EmployeesVo.forEach(t -> {
List<TotalOrder> totalOrder = totalOrderMapper.selectList(Wrappers.<TotalOrder>lambdaQuery() List<TotalOrderVo> totalOrder = totalOrderMapper.selectVoList(Wrappers.<TotalOrder>lambdaQuery()
.eq(TotalOrder::getEmId, t.getId()) .eq(TotalOrder::getEmId, t.getId())
.eq(TotalOrder::getIsSatisfaction, 1) .eq(TotalOrder::getIsSatisfaction, 1)
.orderByDesc(TotalOrder::getId) .orderByDesc(TotalOrder::getId)
...@@ -234,10 +245,16 @@ public class EmployeesServiceImpl implements IEmployeesService { ...@@ -234,10 +245,16 @@ public class EmployeesServiceImpl implements IEmployeesService {
@Override @Override
public EmployeesVo queryByApp(Integer id) { public EmployeesVo queryByApp(Integer id) {
EmployeesVo employeesVo = baseMapper.selectEmployeesById(id); EmployeesVo employeesVo = baseMapper.selectEmployeesById(id);
List<TotalOrder> totalOrder = totalOrderMapper.selectList(Wrappers.<TotalOrder>lambdaQuery() List<TotalOrderVo> totalOrder = totalOrderMapper.selectVoList(Wrappers.<TotalOrder>lambdaQuery()
.eq(TotalOrder::getEmId, employeesVo.getId()) .eq(TotalOrder::getEmId, employeesVo.getId())
.eq(TotalOrder::getIsSatisfaction, 1) .eq(TotalOrder::getIsSatisfaction, 1)
.orderByDesc(TotalOrder::getId)); .orderByDesc(TotalOrder::getId));
for (TotalOrderVo order : totalOrder) {
BusinessVo businessVo = businessMapper.selectVoOne(new LambdaQueryWrapper<Business>().eq(Business::getId, order.getBusinessId()));
if(null != businessVo){
order.setProject(businessVo.getName());
}
}
employeesVo.setTotalOrderVo(totalOrder); employeesVo.setTotalOrderVo(totalOrder);
return employeesVo; return employeesVo;
} }
......
...@@ -51,7 +51,7 @@ public class TotalOrder extends BaseEntity { ...@@ -51,7 +51,7 @@ public class TotalOrder extends BaseEntity {
/** /**
* 订单价格 * 订单价格
*/ */
private String payMoney; private Double payMoney;
/** /**
* 订单状态 * 订单状态
*/ */
...@@ -75,7 +75,7 @@ public class TotalOrder extends BaseEntity { ...@@ -75,7 +75,7 @@ public class TotalOrder extends BaseEntity {
/** /**
* 退款金额 * 退款金额
*/ */
private String refundAmount; private Double refundAmount;
/** /**
* 删除标志(0代表存在 2代表删除) * 删除标志(0代表存在 2代表删除)
*/ */
......
package com.pz.system.domain.bo; package com.pz.system.domain.bo;
import com.pz.common.core.domain.BaseEntity; import com.pz.common.core.domain.BaseEntity;
import com.pz.common.core.validate.AddGroup;
import com.pz.common.core.validate.EditGroup;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import java.util.List; import java.util.List;
@Data @Data
...@@ -15,6 +18,16 @@ public class CreateOrderBo extends BaseEntity { ...@@ -15,6 +18,16 @@ public class CreateOrderBo extends BaseEntity {
private Integer businessId; private Integer businessId;
/** /**
* 经度
*/
private String lng;
/**
* 纬度
*/
private String lat;
/**
* 订单价格 * 订单价格
*/ */
private Double payMoney; private Double payMoney;
......
...@@ -87,5 +87,7 @@ public class TotalOrderBo extends BaseEntity { ...@@ -87,5 +87,7 @@ public class TotalOrderBo extends BaseEntity {
*/ */
private String refundAmount; private String refundAmount;
private String orderTitle;
private String openid;
} }
...@@ -176,4 +176,9 @@ public class TotalOrderVo { ...@@ -176,4 +176,9 @@ public class TotalOrderVo {
*/ */
private String phone; private String phone;
/**
* 陪护项目
*/
private String project;
} }
...@@ -33,6 +33,13 @@ public interface ICityService { ...@@ -33,6 +33,13 @@ public interface ICityService {
List<CityVo> queryList(CityBo bo); List<CityVo> queryList(CityBo bo);
/** /**
* 小程序城市接口
* @param bo
* @return
*/
List<CityVo> queryAppList(CityBo bo);
/**
* 新增城市 * 新增城市
*/ */
Boolean insertByBo(CityBo bo); Boolean insertByBo(CityBo bo);
......
...@@ -32,7 +32,7 @@ public interface IDepartmentService { ...@@ -32,7 +32,7 @@ public interface IDepartmentService {
* @param * @param
* @return * @return
*/ */
List<Department> departmentByHospitalId(Integer hospitalId); List<DepartmentVo> departmentByHospitalId(Integer hospitalId);
/** /**
* 查询科室列表 * 查询科室列表
......
package com.pz.system.service; package com.pz.system.service;
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
import com.github.binarywang.wxpay.bean.request.WxPayRefundQueryRequest; import com.github.binarywang.wxpay.bean.request.WxPayRefundQueryRequest;
import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest; import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
...@@ -86,7 +87,7 @@ public interface IPayService { ...@@ -86,7 +87,7 @@ public interface IPayService {
* 微信请求的接口,要求可以公网访问,要放开token校验 * 微信请求的接口,要求可以公网访问,要放开token校验
* @param xmlData 微信提交的请求参数 * @param xmlData 微信提交的请求参数
*/ */
String parseOrderNotifyResult(String xmlData) throws WxPayException; WxPayOrderNotifyResult parseOrderNotifyResult(String xmlData) throws WxPayException;
/** /**
* 退款回调通知处理 * 退款回调通知处理
......
...@@ -23,6 +23,12 @@ public interface IStoreApplyService { ...@@ -23,6 +23,12 @@ public interface IStoreApplyService {
StoreApplyVo queryById(Integer id); StoreApplyVo queryById(Integer id);
/** /**
* 小程序查看商户申请状态
* @return
*/
StoreApplyVo queryByUserId();
/**
* 查询商城商户申请列表 * 查询商城商户申请列表
*/ */
TableDataInfo<StoreApplyVo> queryPageList(StoreApplyBo bo, PageQuery pageQuery); TableDataInfo<StoreApplyVo> queryPageList(StoreApplyBo bo, PageQuery pageQuery);
......
...@@ -68,6 +68,13 @@ public interface ITotalOrderService { ...@@ -68,6 +68,13 @@ public interface ITotalOrderService {
Boolean cancelOrder(TotalOrderBo bo); Boolean cancelOrder(TotalOrderBo bo);
/** /**
* 统一下单接口
* @param bo
* @return
*/
Object payOrder(TotalOrderBo bo);
/**
* 用户主动退款 * 用户主动退款
* @param bo * @param bo
* @return * @return
......
...@@ -171,7 +171,7 @@ public class SysLoginService { ...@@ -171,7 +171,7 @@ public class SysLoginService {
sysUser.setUserName(loginBo.getMobilePhone()); sysUser.setUserName(loginBo.getMobilePhone());
String nikeName = StringUtils.isNoneBlank(loginBo.getNikeName()) ? loginBo.getNikeName() : "用户" + RandomUtil.randomString(8); String nikeName = StringUtils.isNoneBlank(loginBo.getNikeName()) ? loginBo.getNikeName() : "用户" + RandomUtil.randomString(8);
sysUser.setNickName(nikeName); sysUser.setNickName(nikeName);
sysUser.setUserType(UserType.APP_USER.getUserType()); sysUser.setUserType(UserType.SYS_USER.getUserType());
sysUser.setSex("2"); sysUser.setSex("2");
// 初始密码为123456 // 初始密码为123456
sysUser.setPassword(BCrypt.hashpw("123456")); sysUser.setPassword(BCrypt.hashpw("123456"));
......
...@@ -58,6 +58,13 @@ public class CityServiceImpl implements ICityService { ...@@ -58,6 +58,13 @@ public class CityServiceImpl implements ICityService {
return baseMapper.selectVoList(lqw); return baseMapper.selectVoList(lqw);
} }
@Override
public List<CityVo> queryAppList(CityBo bo) {
LambdaQueryWrapper<City> lqw = buildQueryWrapper(bo);
List<CityVo> cityVos = baseMapper.selectVoList(lqw);
return null;
}
private LambdaQueryWrapper<City> buildQueryWrapper(CityBo bo) { private LambdaQueryWrapper<City> buildQueryWrapper(CityBo bo) {
LambdaQueryWrapper<City> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<City> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getName()), City::getName, bo.getName()); lqw.like(StringUtils.isNotBlank(bo.getName()), City::getName, bo.getName());
......
...@@ -86,7 +86,7 @@ public class DepartmentServiceImpl implements IDepartmentService { ...@@ -86,7 +86,7 @@ public class DepartmentServiceImpl implements IDepartmentService {
} }
@Override @Override
public List<Department> departmentByHospitalId(Integer hospitalId) { public List<DepartmentVo> departmentByHospitalId(Integer hospitalId) {
Hospital hospital = hospitalMapper.selectById(hospitalId); Hospital hospital = hospitalMapper.selectById(hospitalId);
// 去除方括号 // 去除方括号
String numbers = hospital.getDepartments().substring(1, hospital.getDepartments().length() - 1); String numbers = hospital.getDepartments().substring(1, hospital.getDepartments().length() - 1);
...@@ -99,15 +99,39 @@ public class DepartmentServiceImpl implements IDepartmentService { ...@@ -99,15 +99,39 @@ public class DepartmentServiceImpl implements IDepartmentService {
for (String num : numberArray) { for (String num : numberArray) {
integerList.add(Integer.parseInt(num.trim())); integerList.add(Integer.parseInt(num.trim()));
} }
List<Department> departments = baseMapper.selectList(new LambdaQueryWrapper<Department>().in(Department::getId, integerList)); List<DepartmentVo> departments = baseMapper.selectVoList(new LambdaQueryWrapper<Department>().in(Department::getId, integerList));
if (CollectionUtils.isNotEmpty(departments)) {
//查询所有菜单
List<DepartmentVo> allMenu = departments;
// 对父菜单进行排序
Collections.sort(allMenu, new Comparator<DepartmentVo>() {
@Override
public int compare(DepartmentVo o1, DepartmentVo o2) {
// 根据需要进行排序比较,可以根据实际情况修改
return Integer.compare(o1.getSortord(), o2.getSortord());
}
});
if(null != departments){ //根节点集合
for (Department department : departments) { List<DepartmentVo> rootMenu = new ArrayList<>();
department.setValue(department.getId()); for (DepartmentVo entity : allMenu) {
department.setText(department.getTitle()); entity.setLabel(entity.getTitle());
entity.setValue(entity.getId());
entity.setText(entity.getTitle());
if (entity.getParentId() == 0) { //父节点是0的,为根节点。
rootMenu.add(entity);
} }
} }
//为根菜单设置子菜单,getClild是递归调用的
for (DepartmentVo entity : rootMenu) {
entity.setLabel(entity.getTitle());
/* 获取根节点下的所有子节点 使用getChild方法*/
List<DepartmentVo> childList = getChild(entity.getId().toString(), allMenu);
entity.setChildren(childList);//给根节点设置子节点
}
return rootMenu;
}
return departments; return departments;
} }
......
...@@ -119,11 +119,11 @@ public class PayServiceImpl implements IPayService { ...@@ -119,11 +119,11 @@ public class PayServiceImpl implements IPayService {
* @throws WxPayException * @throws WxPayException
*/ */
@Override @Override
public String parseOrderNotifyResult(String xmlData) throws WxPayException { public WxPayOrderNotifyResult parseOrderNotifyResult(String xmlData) throws WxPayException {
// 参数解析 // 参数解析
final WxPayOrderNotifyResult notifyResult = this.wxService.parseOrderNotifyResult(xmlData); final WxPayOrderNotifyResult notifyResult = this.wxService.parseOrderNotifyResult(xmlData);
// TODO 根据自己业务场景需要构造返回对象 // TODO 根据自己业务场景需要构造返回对象
return WxPayNotifyResponse.success("成功"); return notifyResult;
} }
/** /**
......
...@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.pz.common.enums.UserType; import com.pz.common.enums.UserType;
import com.pz.common.helper.LoginHelper;
import com.pz.system.domain.StoreInfo; import com.pz.system.domain.StoreInfo;
import com.pz.system.mapper.StoreInfoMapper; import com.pz.system.mapper.StoreInfoMapper;
import com.pz.system.mapper.SysUserMapper; import com.pz.system.mapper.SysUserMapper;
...@@ -52,6 +53,11 @@ public class StoreApplyServiceImpl implements IStoreApplyService { ...@@ -52,6 +53,11 @@ public class StoreApplyServiceImpl implements IStoreApplyService {
return baseMapper.selectVoById(id); return baseMapper.selectVoById(id);
} }
@Override
public StoreApplyVo queryByUserId() {
return baseMapper.selectVoOne(new LambdaQueryWrapper<StoreApply>().eq(StoreApply::getUid,LoginHelper.getLoginUser().getUserId()));
}
/** /**
* 查询商城商户申请列表 * 查询商城商户申请列表
*/ */
...@@ -107,6 +113,7 @@ public class StoreApplyServiceImpl implements IStoreApplyService { ...@@ -107,6 +113,7 @@ public class StoreApplyServiceImpl implements IStoreApplyService {
public Boolean insertByBo(StoreApplyBo bo) { public Boolean insertByBo(StoreApplyBo bo) {
StoreApply add = BeanUtil.toBean(bo, StoreApply.class); StoreApply add = BeanUtil.toBean(bo, StoreApply.class);
validEntityBeforeSave(add); validEntityBeforeSave(add);
bo.setUid(LoginHelper.getLoginUser().getUserId().intValue());
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setId(add.getId()); bo.setId(add.getId());
......
...@@ -103,6 +103,21 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService { ...@@ -103,6 +103,21 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
public TableDataInfo<StoreGoodsVo> shopAppShop(StoreGoodsBo bo, PageQuery pageQuery) { public TableDataInfo<StoreGoodsVo> shopAppShop(StoreGoodsBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<StoreGoods> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<StoreGoods> lqw = buildQueryWrapper(bo);
Page<StoreGoodsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<StoreGoodsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
Optional.ofNullable(result.getRecords()).ifPresent(storeGoodsVos -> {
storeGoodsVos.forEach(storeGoodsVo -> {
if (StringUtils.isNotBlank(storeGoodsVo.getTags())) {
List<Integer> ids = JsonUtils.parseArray(storeGoodsVo.getTags(), Integer.class);
//查询商品标签
storeGoodsVo.setList(goodsTagMapper.selectVoList(new LambdaQueryWrapper<StoreGoodsTag>().in(StoreGoodsTag::getId, ids)));
}
if (null != storeGoodsVo.getCategoryId()) {
Optional.ofNullable(storeGoodsCategoryMapper.selectVoById(storeGoodsVo.getCategoryId()))
.ifPresent(storeGoodsCategoryVo -> {
storeGoodsVo.setTypeName(storeGoodsCategoryVo.getTitle());
});
}
});
});
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
...@@ -110,6 +125,21 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService { ...@@ -110,6 +125,21 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
public TableDataInfo<StoreGoodsVo> searchAppShop(StoreGoodsBo bo, PageQuery pageQuery) { public TableDataInfo<StoreGoodsVo> searchAppShop(StoreGoodsBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<StoreGoods> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<StoreGoods> lqw = buildQueryWrapper(bo);
Page<StoreGoodsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<StoreGoodsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
Optional.ofNullable(result.getRecords()).ifPresent(storeGoodsVos -> {
storeGoodsVos.forEach(storeGoodsVo -> {
if (StringUtils.isNotBlank(storeGoodsVo.getTags())) {
List<Integer> ids = JsonUtils.parseArray(storeGoodsVo.getTags(), Integer.class);
//查询商品标签
storeGoodsVo.setList(goodsTagMapper.selectVoList(new LambdaQueryWrapper<StoreGoodsTag>().in(StoreGoodsTag::getId, ids)));
}
if (null != storeGoodsVo.getCategoryId()) {
Optional.ofNullable(storeGoodsCategoryMapper.selectVoById(storeGoodsVo.getCategoryId()))
.ifPresent(storeGoodsCategoryVo -> {
storeGoodsVo.setTypeName(storeGoodsCategoryVo.getTitle());
});
}
});
});
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
...@@ -142,7 +172,7 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService { ...@@ -142,7 +172,7 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
LambdaQueryWrapper<StoreGoods> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<StoreGoods> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getCityId() != null, StoreGoods::getCityId, bo.getCityId()); lqw.eq(bo.getCityId() != null, StoreGoods::getCityId, bo.getCityId());
lqw.eq(bo.getStoreId() != null, StoreGoods::getStoreId, bo.getStoreId()); lqw.eq(bo.getStoreId() != null, StoreGoods::getStoreId, bo.getStoreId());
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), StoreGoods::getTitle, bo.getTitle()); lqw.like(StringUtils.isNotBlank(bo.getTitle()), StoreGoods::getTitle, bo.getTitle());
lqw.eq(StringUtils.isNotBlank(bo.getPrice()), StoreGoods::getPrice, bo.getPrice()); lqw.eq(StringUtils.isNotBlank(bo.getPrice()), StoreGoods::getPrice, bo.getPrice());
lqw.eq(StringUtils.isNotBlank(bo.getSalePrice()), StoreGoods::getSalePrice, bo.getSalePrice()); lqw.eq(StringUtils.isNotBlank(bo.getSalePrice()), StoreGoods::getSalePrice, bo.getSalePrice());
lqw.eq(StringUtils.isNotBlank(bo.getSmallCover()), StoreGoods::getSmallCover, bo.getSmallCover()); lqw.eq(StringUtils.isNotBlank(bo.getSmallCover()), StoreGoods::getSmallCover, bo.getSmallCover());
......
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
import com.pz.common.core.domain.model.LoginUser; import com.pz.common.core.domain.model.LoginUser;
import com.pz.common.core.page.TableDataInfo; import com.pz.common.core.page.TableDataInfo;
import com.pz.common.core.domain.PageQuery; import com.pz.common.core.domain.PageQuery;
...@@ -24,6 +25,7 @@ import com.pz.system.domain.*; ...@@ -24,6 +25,7 @@ import com.pz.system.domain.*;
import com.pz.system.domain.bo.CreateOrderBo; import com.pz.system.domain.bo.CreateOrderBo;
import com.pz.system.domain.vo.AccompanyDemandVo; import com.pz.system.domain.vo.AccompanyDemandVo;
import com.pz.system.mapper.*; import com.pz.system.mapper.*;
import com.pz.system.service.IPayService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.pz.system.domain.bo.TotalOrderBo; import com.pz.system.domain.bo.TotalOrderBo;
...@@ -31,6 +33,7 @@ import com.pz.system.domain.vo.TotalOrderVo; ...@@ -31,6 +33,7 @@ import com.pz.system.domain.vo.TotalOrderVo;
import com.pz.system.service.ITotalOrderService; import com.pz.system.service.ITotalOrderService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
/** /**
...@@ -71,17 +74,72 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -71,17 +74,72 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
private final StoreGoodsMapper storeGoodsMapper; private final StoreGoodsMapper storeGoodsMapper;
private final IPayService iPayService;
private final SysUserMapper sysUserMapper;
@Override @Override
public TotalOrderVo queryById(Long id) { public TotalOrderVo queryById(Long id) {
return baseMapper.selectVoById(id); return baseMapper.selectVoById(id);
} }
/** /**
* 查询总订单 * 查询总订单详情
*/ */
@Override @Override
public TotalOrderVo queryByAppId(Integer id) { public TotalOrderVo queryByAppId(Integer id) {
TotalOrderVo totalOrderVo = baseMapper.selectByOrderId(id); TotalOrderVo totalOrderVo = baseMapper.selectByOrderId(id);
if(totalOrderVo.getBusinessId() == 1){//预约陪诊
totalOrderVo.setServiceStatus(
yypzOrderMapper.selectOne(new LambdaQueryWrapper<YypzOrder>().eq(YypzOrder::getOrderId, totalOrderVo.getId())).getStatus()
);
}else if(totalOrderVo.getBusinessId() == 2){//代办挂号
totalOrderVo.setServiceStatus(
dbghOrderMapper.selectOne(new LambdaQueryWrapper<DbghOrder>().eq(DbghOrder::getOrderId, totalOrderVo.getId())).getStatus()
);
}else if(totalOrderVo.getBusinessId() == 3){//代办问诊
totalOrderVo.setServiceStatus(
dbwzOrderMapper.selectOne(new LambdaQueryWrapper<DbwzOrder>().eq(DbwzOrder::getOrderId, totalOrderVo.getId())).getStatus()
);
}else if(totalOrderVo.getBusinessId() == 4){//住院陪护
totalOrderVo.setServiceStatus(
zyphOrderMapper.selectOne(new LambdaQueryWrapper<ZyphOrder>().eq(ZyphOrder::getOrderId, totalOrderVo.getId())).getStatus()
);
}else if(totalOrderVo.getBusinessId() == 5){//代办买药
totalOrderVo.setServiceStatus(
dbmyOrderMapper.selectOne(new LambdaQueryWrapper<DbmyOrder>().eq(DbmyOrder::getOrderId, totalOrderVo.getId())).getStatus()
);
}else if(totalOrderVo.getBusinessId() == 6){//诊前挂号
totalOrderVo.setServiceStatus(
zqghOrderMapper.selectOne(new LambdaQueryWrapper<ZqghOrder>().eq(ZqghOrder::getOrderId, totalOrderVo.getId())).getStatus()
);
}else if(totalOrderVo.getBusinessId() == 0){//商城订单
StoreOrder storeOrder = storeOrderMapper.selectOne(new LambdaQueryWrapper<StoreOrder>().eq(StoreOrder::getOrderId, totalOrderVo.getId()));
totalOrderVo.setServiceStatus(
storeOrder.getStatus()
);
StoreGoods storeGoods = storeGoodsMapper.selectById(storeOrder.getOrderId());
List<StoreGoodsTag> storeGoodsTags = storeGoodsTagMapper.selectList(new LambdaQueryWrapper<StoreGoodsTag>().in(StoreGoodsTag::getId, getTages(storeGoods.getTags())).select(StoreGoodsTag::getTitle));
totalOrderVo.setTags(storeGoodsTags);
}
return totalOrderVo; return totalOrderVo;
} }
...@@ -222,27 +280,34 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -222,27 +280,34 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
baseMapper.insert(totalOrder); baseMapper.insert(totalOrder);
bo.setOrderId(totalOrder.getId().intValue()); bo.setOrderId(totalOrder.getId().intValue());
totalOrderVo.setOrderSn(orderSn); totalOrderVo.setOrderSn(totalOrder.getId()+"");
totalOrderVo.setPayMoney(bo.getPayMoney()); totalOrderVo.setPayMoney(bo.getPayMoney());
if(bo.getBusinessId() == 1){//预约陪诊 if(bo.getBusinessId() == 1){//预约陪诊
YypzOrder yypzOrder = BeanUtil.toBean(bo, YypzOrder.class); YypzOrder yypzOrder = BeanUtil.toBean(bo, YypzOrder.class);
yypzOrder.setHid(bo.getHospitalId());
yypzOrderMapper.insert(yypzOrder); yypzOrderMapper.insert(yypzOrder);
}else if(bo.getBusinessId() == 2){//代办挂号 }else if(bo.getBusinessId() == 2){//代办挂号
DbghOrder dbghOrder = BeanUtil.toBean(bo, DbghOrder.class); DbghOrder dbghOrder = BeanUtil.toBean(bo, DbghOrder.class);
dbghOrder.setHid(bo.getHospitalId());
dbghOrder.setDid(bo.getDepartmentId());
dbghOrderMapper.insert(dbghOrder); dbghOrderMapper.insert(dbghOrder);
}else if(bo.getBusinessId() == 3){//代办问诊 }else if(bo.getBusinessId() == 3){//代办问诊
DbwzOrder dbwzOrder = BeanUtil.toBean(bo, DbwzOrder.class); DbwzOrder dbwzOrder = BeanUtil.toBean(bo, DbwzOrder.class);
dbwzOrder.setDid(bo.getDepartmentId());
dbwzOrder.setVisitor(bo.getVisitorId());
dbwzOrderMapper.insert(dbwzOrder); dbwzOrderMapper.insert(dbwzOrder);
}else if(bo.getBusinessId() == 4){//住院陪护 }else if(bo.getBusinessId() == 4){//住院陪护
ZyphOrder zyphOrder = BeanUtil.toBean(bo, ZyphOrder.class); ZyphOrder zyphOrder = BeanUtil.toBean(bo, ZyphOrder.class);
zyphOrder.setDid(bo.getDepartmentId());
zyphOrder.setVisitor(bo.getVisitorId());
zyphOrderMapper.insert(zyphOrder); zyphOrderMapper.insert(zyphOrder);
}else if(bo.getBusinessId() == 5){//代办买药 }else if(bo.getBusinessId() == 5){//代办买药
...@@ -277,11 +342,38 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -277,11 +342,38 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
@Override @Override
public Boolean cancelOrder(TotalOrderBo bo) { public Boolean cancelOrder(TotalOrderBo bo) {
TotalOrder totalOrder = baseMapper.selectById(bo.getId()); TotalOrder totalOrder = baseMapper.selectById(bo.getId());
if(totalOrder.getBusinessId() == 1){//预约陪诊 if(null != totalOrder.getEmId() && totalOrder.getEmId() != 0){//预约陪诊
yypzOrderMapper.selectOne(new LambdaQueryWrapper<YypzOrder>().eq(YypzOrder::getOrderId,totalOrder)); //yypzOrderMapper.selectOne(new LambdaQueryWrapper<YypzOrder>().eq(YypzOrder::getOrderId,totalOrder));
totalOrder.setStatus(TotalOrderStatus.CANCEL.getCode());
return baseMapper.updateById(totalOrder) > 0;
}else {
throw new ServiceException("该订单已分配给陪诊员,不允许取消订单!"); throw new ServiceException("该订单已分配给陪诊员,不允许取消订单!");
} }
return baseMapper.updateById(totalOrder) > 0; }
@Override
public Object payOrder(TotalOrderBo bo) {
LoginUser loginUser = LoginHelper.getLoginUser();
TotalOrder totalOrder = baseMapper.selectById(Integer.parseInt(bo.getOrderSn()));
Object payment = null;
int money = (int) (totalOrder.getPayMoney() * 100);
try {
WxPayUnifiedOrderRequest orderRequest = new WxPayUnifiedOrderRequest();
orderRequest.setBody(bo.getOrderTitle());
orderRequest.setOutTradeNo(totalOrder.getOrderSn());
orderRequest.setTotalFee(money);//元转成分
orderRequest.setOpenid(sysUserMapper.selectById(loginUser.getUserId()).getOpenId());
orderRequest.setSpbillCreateIp("127.0.0.1");
orderRequest.setNotifyUrl("http://127.0.0.1:8089/applet/totalOrder/orderPayCallBack");
orderRequest.setTradeType("JSAPI");
payment = iPayService.createOrder(orderRequest);
} catch (Exception e) {
throw new ServiceException("微信支付失败!");
}
return payment;
} }
@Override @Override
......
...@@ -64,19 +64,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -64,19 +64,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="selectEmployees" resultType="com.pz.merchant.domain.vo.EmployeesVo"> <select id="selectEmployees" resultType="com.pz.merchant.domain.vo.EmployeesVo">
SELECT e.id, s.avatar ,e.name,e.working_hours,(SUM(CASE WHEN o.is_satisfaction = 1 THEN 1 ELSE 0 END) / NULLIF(COUNT(o.is_satisfaction), 0)) * 100 AS satisfaction_rate SELECT e.id, s.avatar as avatar,e.name,e.working_hours,(SUM(CASE WHEN o.is_satisfaction = 1 THEN 1 ELSE 0 END) / NULLIF(COUNT(o.is_satisfaction), 0)) * 100 AS satisfaction_rate
FROM employees e FROM employees e
left join total_order o on o.em_id = e.id left join total_order o on o.em_id = e.id
left join company c on c.id = e.company_id left join company c on c.id = e.company_id
left join sys_user s on s.user_id = e.uid left join sys_user s on s.user_id = e.uid
WHERE e.`status` = 1 and e.now_type= 1 and e.del_flag= 0 WHERE e.`status` = 1 and e.now_type= 1 and e.del_flag= 0
<if test="bo.companyId != null and bo.companyId != 0"> <if test="bo.companyId != null and bo.companyId != ''">
e.company_id = #{bo.companyId} and e.company_id = #{bo.companyId}
</if> </if>
GROUP BY GROUP BY
e.id, e.id,
e.`name` e.`name`
<if test="bo.favorableRate != null"> <if test="bo.favorableRate != null and bo.favorableRate != ''">
HAVING HAVING
satisfaction_rate >= #{bo.favorableRate}; satisfaction_rate >= #{bo.favorableRate};
</if> </if>
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
<result property="password" column="password"/> <result property="password" column="password"/>
<result property="status" column="status"/> <result property="status" column="status"/>
<result property="delFlag" column="del_flag"/> <result property="delFlag" column="del_flag"/>
<result property="openId" column="open_id"/>
<result property="loginIp" column="login_ip"/> <result property="loginIp" column="login_ip"/>
<result property="loginDate" column="login_date"/> <result property="loginDate" column="login_date"/>
<result property="createBy" column="create_by"/> <result property="createBy" column="create_by"/>
...@@ -55,6 +56,7 @@ ...@@ -55,6 +56,7 @@
u.user_type, u.user_type,
u.email, u.email,
u.avatar, u.avatar,
u.open_id,
u.phonenumber, u.phonenumber,
u.password, u.password,
u.sex, u.sex,
......
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