Commit c62bd533 by Wangmin

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	pz-system/src/main/java/com/pz/system/service/impl/TotalOrderServiceImpl.java
parents 97795c10 73a408c6
...@@ -25,7 +25,12 @@ public enum UserType { ...@@ -25,7 +25,12 @@ public enum UserType {
APP_USER("app_user"), APP_USER("app_user"),
/** /**
* 商家端 * 商城商户
*/
STORE_AMERCHANT_USER("store_merchant_user"),
/**
* 商城商户
*/ */
AMERCHANT_USER("merchant_user"); AMERCHANT_USER("merchant_user");
......
...@@ -270,7 +270,8 @@ public class SysLoginService { ...@@ -270,7 +270,8 @@ public class SysLoginService {
private SysUser loadUserByUsername(String username) { private SysUser loadUserByUsername(String username) {
SysUser user = userMapper.selectOne(new LambdaQueryWrapper<SysUser>() SysUser user = userMapper.selectOne(new LambdaQueryWrapper<SysUser>()
.select(SysUser::getUserName, SysUser::getStatus) .select(SysUser::getUserName, SysUser::getStatus)
.eq(SysUser::getUserName, username)); .eq(SysUser::getUserName, username)
.eq(SysUser::getUserType, UserType.SYS_USER.getUserType()).or().eq(SysUser::getUserType, UserType.STORE_AMERCHANT_USER.getUserType()));
if (ObjectUtil.isNull(user)) { if (ObjectUtil.isNull(user)) {
log.info("登录用户:{} 不存在.", username); log.info("登录用户:{} 不存在.", username);
throw new UserException("user.not.exists", username); throw new UserException("user.not.exists", username);
......
...@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -11,6 +11,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.exception.ServiceException;
import com.pz.common.helper.LoginHelper; import com.pz.common.helper.LoginHelper;
import com.pz.system.domain.StoreInfo; import com.pz.system.domain.StoreInfo;
import com.pz.system.domain.SysUserRole; import com.pz.system.domain.SysUserRole;
...@@ -133,6 +134,7 @@ public class StoreApplyServiceImpl implements IStoreApplyService { ...@@ -133,6 +134,7 @@ public class StoreApplyServiceImpl implements IStoreApplyService {
@Transactional @Transactional
public Boolean updateByBo(StoreApplyBo bo) { public Boolean updateByBo(StoreApplyBo bo) {
StoreApply update = BeanUtil.toBean(bo, StoreApply.class); StoreApply update = BeanUtil.toBean(bo, StoreApply.class);
//审核通过 //审核通过
if (bo.getStatus() == 1) { if (bo.getStatus() == 1) {
Optional.ofNullable(baseMapper.selectById(bo.getId())) Optional.ofNullable(baseMapper.selectById(bo.getId()))
...@@ -142,20 +144,19 @@ public class StoreApplyServiceImpl implements IStoreApplyService { ...@@ -142,20 +144,19 @@ public class StoreApplyServiceImpl implements IStoreApplyService {
//记录至商户表 //记录至商户表
storeInfoMapper.insert(bean); storeInfoMapper.insert(bean);
//创建系统用户 Optional.ofNullable(sysUserMapper.selectUserByPhonenumber(bo.getTel())).ifPresent(
SysUser sysUser = new SysUser(); sysUser -> {
sysUser.setUserName(storeApply.getTel()); sysUser.setUserType(UserType.STORE_AMERCHANT_USER.getUserType());
sysUser.setNickName(storeApply.getName()); sysUser.setPassword(BCrypt.hashpw("123456"));
sysUser.setEmail(storeApply.getEmail()); sysUserMapper.updateById(sysUser);
sysUser.setUserType(UserType.AMERCHANT_USER.getUserType());
sysUser.setPassword(BCrypt.hashpw("123456"));
sysUserMapper.insert(sysUser); SysUserRole sysUserRole = new SysUserRole();
sysUserRole.setUserId(sysUser.getUserId());
sysUserRole.setRoleId(5L);
sysUserRoleMapper.insert(sysUserRole);
}
);
SysUserRole sysUserRole = new SysUserRole();
sysUserRole.setUserId(sysUser.getUserId());
sysUserRole.setRoleId(3L);
sysUserRoleMapper.insert(sysUserRole);
}); });
} }
return baseMapper.updateById(update) > 0; return baseMapper.updateById(update) > 0;
......
package com.pz.system.service.impl; package com.pz.system.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.TypeReference;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
...@@ -18,7 +20,12 @@ import com.pz.common.config.KbProperties; ...@@ -18,7 +20,12 @@ import com.pz.common.config.KbProperties;
import com.pz.common.core.domain.PageQuery; import com.pz.common.core.domain.PageQuery;
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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.pz.common.enums.CommonOrderStatus; import com.pz.common.enums.CommonOrderStatus;
import com.pz.common.enums.DBMYOrderStatus;
import com.pz.common.enums.ShopOrderStatus;
import com.pz.common.enums.TotalOrderStatus; import com.pz.common.enums.TotalOrderStatus;
import com.pz.common.exception.ServiceException; import com.pz.common.exception.ServiceException;
import com.pz.common.helper.LoginHelper; import com.pz.common.helper.LoginHelper;
...@@ -28,12 +35,14 @@ import com.pz.merchant.domain.Company; ...@@ -28,12 +35,14 @@ import com.pz.merchant.domain.Company;
import com.pz.merchant.domain.Employees; import com.pz.merchant.domain.Employees;
import com.pz.merchant.domain.EmployeesDivide; import com.pz.merchant.domain.EmployeesDivide;
import com.pz.merchant.domain.vo.EmployeesVo; import com.pz.merchant.domain.vo.EmployeesVo;
import com.pz.common.utils.JsonUtils;
import com.pz.merchant.domain.vo.SonOrderVo; import com.pz.merchant.domain.vo.SonOrderVo;
import com.pz.merchant.mapper.CompanyMapper; import com.pz.merchant.mapper.CompanyMapper;
import com.pz.merchant.mapper.EmployeesDivideMapper; import com.pz.merchant.mapper.EmployeesDivideMapper;
import com.pz.merchant.mapper.EmployeesMapper; import com.pz.merchant.mapper.EmployeesMapper;
import com.pz.merchant.service.ISonOrderService; import com.pz.merchant.service.ISonOrderService;
import com.pz.merchant.service.impl.SonOrderServiceBuilder; import com.pz.merchant.service.impl.SonOrderServiceBuilder;
import com.pz.common.helper.LoginHelper;
import com.pz.system.datastructure.OrderDelayQueue; import com.pz.system.datastructure.OrderDelayQueue;
import com.pz.system.datastructure.TotalOrderDelayOperator; import com.pz.system.datastructure.TotalOrderDelayOperator;
import com.pz.system.domain.*; import com.pz.system.domain.*;
...@@ -49,7 +58,11 @@ import com.pz.system.service.ITotalOrderService; ...@@ -49,7 +58,11 @@ import com.pz.system.service.ITotalOrderService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.pz.system.domain.bo.TotalOrderBo;
import com.pz.system.domain.vo.TotalOrderVo;
import com.pz.system.service.ITotalOrderService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.security.MessageDigest; import java.security.MessageDigest;
...@@ -558,13 +571,19 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -558,13 +571,19 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
} }
// 待办买药已接单 代发货下取消订单调用退款接口 // 待办买药已接单 代发货下取消订单调用退款接口
if (totalOrder.getBusinessId() == 5 && totalOrder.getStatus() == 1) { if (totalOrder.getBusinessId() == 5
&& totalOrder.getStatus() == 1
&& sonOrderSimpleDataByTotalId.getOrderStatus() == 1
) {
totalOrderBo.setIsRefund(0); totalOrderBo.setIsRefund(0);
return this.refundOrder(totalOrderBo); return this.refundOrder(totalOrderBo);
} }
// 已接单、待收货状态下等待药品到达后确认 // 已接单、待收货状态下等待药品到达后确认
if (totalOrder.getBusinessId() == 5 && totalOrder.getStatus() == 2) { if (totalOrder.getBusinessId() == 5
&& totalOrder.getStatus() == 2
&& sonOrderSimpleDataByTotalId.getOrderStatus() == 2
&& totalOrder.getRefundAmount() == 0) {
totalOrderBo.setIsRefund(1); totalOrderBo.setIsRefund(1);
return this.refundOrder(totalOrderBo); return this.refundOrder(totalOrderBo);
} }
...@@ -581,7 +600,8 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -581,7 +600,8 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
return this.refundOrder(totalOrderBo); return this.refundOrder(totalOrderBo);
} }
if (sonOrderSimpleDataByTotalId.getOrderStatus() == 0 && totalOrder.getEmId() == 0 && totalOrder.getStatus() == 0) {// 预约陪诊 //用户未付款 陪诊员为接单 和 用户未付款陪诊员已接单直接取消
if ((sonOrderSimpleDataByTotalId.getOrderStatus() == 0 && totalOrder.getStatus() == 0) || (sonOrderSimpleDataByTotalId.getOrderStatus() == 1 && totalOrder.getStatus() == 0)) {
// yypzOrderMapper.selectOne(new LambdaQueryWrapper<YypzOrder>().eq(YypzOrder::getOrderId,totalOrder)); // yypzOrderMapper.selectOne(new LambdaQueryWrapper<YypzOrder>().eq(YypzOrder::getOrderId,totalOrder));
totalOrder.setStatus(TotalOrderStatus.CANCEL.getCode()); totalOrder.setStatus(TotalOrderStatus.CANCEL.getCode());
if (totalOrder.getBusinessId() == 0) { if (totalOrder.getBusinessId() == 0) {
...@@ -721,8 +741,8 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -721,8 +741,8 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
// 修改子订单状态 // 修改子订单状态
boolean sonOrderFlag = orderService.switchSonOrderStatus(totalOrder.getId(), CommonOrderStatus.REFUND.getCode()); boolean sonOrderFlag = orderService.switchSonOrderStatus(totalOrder.getId(), CommonOrderStatus.REFUND.getCode());
// 除了商城订单和诊前挂号不需要给陪诊员和商户分成 //除了商城订单和诊前挂号不需要给陪诊员和商户分成
if (totalOrder.getBusinessId() != 0 && totalOrder.getBusinessId() != 6) { if(totalOrder.getBusinessId() != 0 && totalOrder.getBusinessId() != 6 && totalOrder.getStatus() == 2) {
Services services = servicesMapper.selectById(totalOrder.getServiceId()); Services services = servicesMapper.selectById(totalOrder.getServiceId());
if (services.getFenmo() != 0) { if (services.getFenmo() != 0) {
double money = 0; double money = 0;
...@@ -759,6 +779,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -759,6 +779,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
if (!sonOrderFlag) { if (!sonOrderFlag) {
throw new ServiceException("子订单状态修改出错,接单失败"); throw new ServiceException("子订单状态修改出错,接单失败");
} }
totalOrder.setSuborderStatus(CommonOrderStatus.REFUND.getCode());
if (baseMapper.updateById(totalOrder) > 0) { if (baseMapper.updateById(totalOrder) > 0) {
// 添加退款记录 // 添加退款记录
PaymentRecord paymentRecord = new PaymentRecord(); PaymentRecord paymentRecord = new PaymentRecord();
...@@ -785,11 +806,11 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -785,11 +806,11 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
if (null == sonOrderSimpleDataByTotalId) { if (null == sonOrderSimpleDataByTotalId) {
throw new ServiceException("子订单状态出错!"); throw new ServiceException("子订单状态出错!");
} }
int IsRefund = getIsRefund(totalOrder.getBusinessId(),totalOrder.getStatus(),sonOrderSimpleDataByTotalId.getSonOrderId());
// 订单退款金额 // 订单退款金额
double money = 0; double money = 0;
if (bo.getIsRefund() == 0) {// 陪诊员订单未完成用户主动退款 if (IsRefund == 0) {// 陪诊员订单未完成用户主动退款直接退到账户
// 主订单必须为付款并且子订单为已接单 // 主订单必须为付款并且子订单为已接单
if (totalOrder.getStatus() != 1 && sonOrderSimpleDataByTotalId.getOrderStatus() != 1) { if (totalOrder.getStatus() != 1 && sonOrderSimpleDataByTotalId.getOrderStatus() != 1) {
if (totalOrder.getStatus() == 1 && sonOrderSimpleDataByTotalId.getOrderStatus() == 0) { if (totalOrder.getStatus() == 1 && sonOrderSimpleDataByTotalId.getOrderStatus() == 0) {
...@@ -846,7 +867,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -846,7 +867,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
} }
totalOrder.setRefundAmount(money); totalOrder.setRefundAmount(money);
} else if (bo.getIsRefund() == 1) {// 陪诊员订单完成走审批流程 } else if (IsRefund == 1) {// 陪诊员订单完成走审批流程
if (sonOrderSimpleDataByTotalId.getOrderStatus() != 2) { if (sonOrderSimpleDataByTotalId.getOrderStatus() != 2) {
throw new ServiceException("订单状态错误"); throw new ServiceException("订单状态错误");
} }
...@@ -866,7 +887,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -866,7 +887,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
// 修改子订单状态 // 修改子订单状态
boolean sonOrderFlag = orderService.switchSonOrderStatus(totalOrder.getId(), CommonOrderStatus.REFUND.getCode()); boolean sonOrderFlag = orderService.switchSonOrderStatus(totalOrder.getId(), CommonOrderStatus.BEING_REFUND.getCode());
if (!sonOrderFlag) { if (!sonOrderFlag) {
throw new ServiceException("子订单状态修改出错"); throw new ServiceException("子订单状态修改出错");
...@@ -878,6 +899,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -878,6 +899,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
.set(StoreOrder::getStatus, ShopOrderStatus.BEING_REFUND.getCode())); .set(StoreOrder::getStatus, ShopOrderStatus.BEING_REFUND.getCode()));
}*/ }*/
totalOrder.setSuborderStatus(CommonOrderStatus.BEING_REFUND.getCode());
baseMapper.updateById(totalOrder); baseMapper.updateById(totalOrder);
return true; return true;
} }
...@@ -1145,7 +1167,6 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -1145,7 +1167,6 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
} }
public long getHour(String date) { public long getHour(String date) {
LocalDateTime startTime = LocalDateTime.parse(date, FORMATTER); LocalDateTime startTime = LocalDateTime.parse(date, FORMATTER);
// 获取当前时间 // 获取当前时间
...@@ -1179,4 +1200,16 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -1179,4 +1200,16 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
} }
return money; return money;
} }
public int getIsRefund(int businessId,int businessStatus,int ServiceStatus){
int IsRefund = 0;
if((businessStatus == 1 && ServiceStatus == 0) || (businessStatus == 1 && ServiceStatus == 1)){
IsRefund = 0;
}else if(businessStatus == 2 && ServiceStatus == 2){
IsRefund = 1;
}else if(businessId == 3 && businessStatus == 1 && ServiceStatus == 2){
IsRefund = 1;
}
return IsRefund;
}
} }
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