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 {
APP_USER("app_user"),
/**
* 商家端
* 商城商户
*/
STORE_AMERCHANT_USER("store_merchant_user"),
/**
* 商城商户
*/
AMERCHANT_USER("merchant_user");
......
......@@ -270,7 +270,8 @@ public class SysLoginService {
private SysUser loadUserByUsername(String username) {
SysUser user = userMapper.selectOne(new LambdaQueryWrapper<SysUser>()
.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)) {
log.info("登录用户:{} 不存在.", username);
throw new UserException("user.not.exists", username);
......
......@@ -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.toolkit.Wrappers;
import com.pz.common.enums.UserType;
import com.pz.common.exception.ServiceException;
import com.pz.common.helper.LoginHelper;
import com.pz.system.domain.StoreInfo;
import com.pz.system.domain.SysUserRole;
......@@ -133,6 +134,7 @@ public class StoreApplyServiceImpl implements IStoreApplyService {
@Transactional
public Boolean updateByBo(StoreApplyBo bo) {
StoreApply update = BeanUtil.toBean(bo, StoreApply.class);
//审核通过
if (bo.getStatus() == 1) {
Optional.ofNullable(baseMapper.selectById(bo.getId()))
......@@ -142,20 +144,19 @@ public class StoreApplyServiceImpl implements IStoreApplyService {
//记录至商户表
storeInfoMapper.insert(bean);
//创建系统用户
SysUser sysUser = new SysUser();
sysUser.setUserName(storeApply.getTel());
sysUser.setNickName(storeApply.getName());
sysUser.setEmail(storeApply.getEmail());
sysUser.setUserType(UserType.AMERCHANT_USER.getUserType());
sysUser.setPassword(BCrypt.hashpw("123456"));
Optional.ofNullable(sysUserMapper.selectUserByPhonenumber(bo.getTel())).ifPresent(
sysUser -> {
sysUser.setUserType(UserType.STORE_AMERCHANT_USER.getUserType());
sysUser.setPassword(BCrypt.hashpw("123456"));
sysUserMapper.updateById(sysUser);
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;
......
package com.pz.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.TypeReference;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
......@@ -18,7 +20,12 @@ import com.pz.common.config.KbProperties;
import com.pz.common.core.domain.PageQuery;
import com.pz.common.core.domain.model.LoginUser;
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.DBMYOrderStatus;
import com.pz.common.enums.ShopOrderStatus;
import com.pz.common.enums.TotalOrderStatus;
import com.pz.common.exception.ServiceException;
import com.pz.common.helper.LoginHelper;
......@@ -28,12 +35,14 @@ import com.pz.merchant.domain.Company;
import com.pz.merchant.domain.Employees;
import com.pz.merchant.domain.EmployeesDivide;
import com.pz.merchant.domain.vo.EmployeesVo;
import com.pz.common.utils.JsonUtils;
import com.pz.merchant.domain.vo.SonOrderVo;
import com.pz.merchant.mapper.CompanyMapper;
import com.pz.merchant.mapper.EmployeesDivideMapper;
import com.pz.merchant.mapper.EmployeesMapper;
import com.pz.merchant.service.ISonOrderService;
import com.pz.merchant.service.impl.SonOrderServiceBuilder;
import com.pz.common.helper.LoginHelper;
import com.pz.system.datastructure.OrderDelayQueue;
import com.pz.system.datastructure.TotalOrderDelayOperator;
import com.pz.system.domain.*;
......@@ -49,7 +58,11 @@ import com.pz.system.service.ITotalOrderService;
import lombok.RequiredArgsConstructor;
import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Autowired;
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 java.security.MessageDigest;
......@@ -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);
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);
return this.refundOrder(totalOrderBo);
}
......@@ -581,7 +600,8 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
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));
totalOrder.setStatus(TotalOrderStatus.CANCEL.getCode());
if (totalOrder.getBusinessId() == 0) {
......@@ -721,8 +741,8 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
// 修改子订单状态
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());
if (services.getFenmo() != 0) {
double money = 0;
......@@ -759,6 +779,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
if (!sonOrderFlag) {
throw new ServiceException("子订单状态修改出错,接单失败");
}
totalOrder.setSuborderStatus(CommonOrderStatus.REFUND.getCode());
if (baseMapper.updateById(totalOrder) > 0) {
// 添加退款记录
PaymentRecord paymentRecord = new PaymentRecord();
......@@ -785,11 +806,11 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
if (null == sonOrderSimpleDataByTotalId) {
throw new ServiceException("子订单状态出错!");
}
int IsRefund = getIsRefund(totalOrder.getBusinessId(),totalOrder.getStatus(),sonOrderSimpleDataByTotalId.getSonOrderId());
// 订单退款金额
double money = 0;
if (bo.getIsRefund() == 0) {// 陪诊员订单未完成用户主动退款
if (IsRefund == 0) {// 陪诊员订单未完成用户主动退款直接退到账户
// 主订单必须为付款并且子订单为已接单
if (totalOrder.getStatus() != 1 && sonOrderSimpleDataByTotalId.getOrderStatus() != 1) {
if (totalOrder.getStatus() == 1 && sonOrderSimpleDataByTotalId.getOrderStatus() == 0) {
......@@ -846,7 +867,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
}
totalOrder.setRefundAmount(money);
} else if (bo.getIsRefund() == 1) {// 陪诊员订单完成走审批流程
} else if (IsRefund == 1) {// 陪诊员订单完成走审批流程
if (sonOrderSimpleDataByTotalId.getOrderStatus() != 2) {
throw new ServiceException("订单状态错误");
}
......@@ -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) {
throw new ServiceException("子订单状态修改出错");
......@@ -878,6 +899,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
.set(StoreOrder::getStatus, ShopOrderStatus.BEING_REFUND.getCode()));
}*/
totalOrder.setSuborderStatus(CommonOrderStatus.BEING_REFUND.getCode());
baseMapper.updateById(totalOrder);
return true;
}
......@@ -1145,7 +1167,6 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
}
public long getHour(String date) {
LocalDateTime startTime = LocalDateTime.parse(date, FORMATTER);
// 获取当前时间
......@@ -1179,4 +1200,16 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
}
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