【front】 新增 1、新增用户核销服务订单 2、新增短信下单通知
parent
150e62aa25
commit
bd4b382c23
|
@ -0,0 +1,29 @@
|
|||
package com.hcy.admin.config;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 读取系统配置类
|
||||
* @author dabin
|
||||
*/
|
||||
@Data
|
||||
@Component
|
||||
public class SmsConfig {
|
||||
|
||||
|
||||
/**
|
||||
* 下单通知
|
||||
*/
|
||||
public static Map<String,String> getOrderNotice(){
|
||||
Map<String,String> smsParam = new HashMap<>();
|
||||
smsParam.put("smsTemplate","维修派单通知 派单时间:${sendOrderTime} 型号:${model} 功率:${power} 模块代码: ${moduleCode} 订单编号:${orderNo}");
|
||||
smsParam.put("templateId","SMS_474980344");
|
||||
return smsParam;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
# 项目配置
|
||||
like:
|
||||
# upload-directory: ./www/wwwroot/java-smyy/public/uploads/
|
||||
upload-directory: E:\img\
|
||||
upload-directory: /data/file/uploads/ # 文件上传目录
|
||||
# upload-directory: E:\img\
|
||||
|
||||
# 服务配置
|
||||
server:
|
||||
|
@ -29,6 +29,11 @@ spring:
|
|||
driver-class-name: com.mysql.jdbc.Driver # MySql的驱动
|
||||
username: root # 数据库账号
|
||||
password: 1234
|
||||
# url: jdbc:mysql://123.207.77.26:3306/homemaking?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
|
||||
# type: com.zaxxer.hikari.HikariDataSource # 数据源类型
|
||||
# driver-class-name: com.mysql.jdbc.Driver # MySql的驱动
|
||||
# username: Homemaking # 数据库账号
|
||||
# password: kpHaxTyz4ehkYDpS
|
||||
|
||||
hikari:
|
||||
connection-timeout: 30000 # 等待连接分配连接的最大时长(毫秒),超出时长还没可用连接则发送SQLException,默认30秒
|
||||
|
|
|
@ -10,7 +10,7 @@ public enum OrderLogEnum {
|
|||
USER_CANCEL_ORDER(102, "用户申请取消订单"),
|
||||
USER_CONFIRM_ORDER(103, "用户确认订单"),
|
||||
USER_PAY_ORDER(104, "用户支付订单"),
|
||||
USER_VERIFICATION(105, "师傅核销订单"),
|
||||
USER_VERIFICATION(105, "用户核销订单"),
|
||||
USER_STAFF_CONFIRM(106, "师傅确认订单"),
|
||||
USER_CANCEL_PAY(107, "用户取消支付"),
|
||||
STAFF_AUTO_CONFIRM_ORDER(108,"师傅自动确认订单"),
|
||||
|
|
|
@ -143,15 +143,15 @@ public class OrderController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 师傅核销服务订单
|
||||
* 用户核销服务订单
|
||||
*
|
||||
* @return Object
|
||||
*/
|
||||
@ApiOperation(value = "订单管理 - 师傅核销服务订单")
|
||||
@GetMapping("/staff/verification")
|
||||
public void confirmGoods(@Validated @RequestParam("id") Long id, @RequestParam("code") String code) {
|
||||
@ApiOperation(value = "订单管理 - 用户核销服务订单")
|
||||
@GetMapping("/user/verification")
|
||||
public void verification(@Validated @RequestParam("id") Long id) {
|
||||
Integer userId = FrontThreadLocal.getUserId();
|
||||
iOrderService.verificationOrder(id, userId, code);
|
||||
iOrderService.verificationOrder(id, userId);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -52,7 +52,7 @@ public interface IOrderService {
|
|||
|
||||
void confirmGoods(Long id, Long userId);
|
||||
|
||||
void verificationOrder(Long id, Integer userId, String code);
|
||||
void verificationOrder(Long id, Integer userId);
|
||||
|
||||
PageResult<OrderListVo> staffOrderList(PageParam pageParam, Map<String, String> params);
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ import com.hcy.common.entity.serviceArea.ServiceAreaStaff;
|
|||
import com.hcy.common.entity.staff.Staff;
|
||||
import com.hcy.common.entity.staff.StaffCommission;
|
||||
import com.hcy.common.entity.staff.StaffReassignment;
|
||||
import com.hcy.common.entity.system.SystemAuthAdmin;
|
||||
import com.hcy.common.entity.unit.GoodsUnit;
|
||||
import com.hcy.common.entity.user.User;
|
||||
import com.hcy.common.entity.user.UserAuth;
|
||||
|
@ -59,6 +60,7 @@ import com.hcy.common.mapper.staff.StaffReassignmentMapper;
|
|||
import com.hcy.common.mapper.unit.GoodsUnitMapper;
|
||||
import com.hcy.common.mapper.user.UserAuthMapper;
|
||||
import com.hcy.common.mapper.user.UserMapper;
|
||||
import com.hcy.common.plugin.notice.engine.SmsNotice;
|
||||
import com.hcy.common.utils.*;
|
||||
import com.hcy.front.config.sbyte.ByteMpUtil;
|
||||
import com.hcy.front.config.sbyte.ByteSign;
|
||||
|
@ -710,7 +712,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||
appointOrderGiveStaff(model,orderGoods);
|
||||
}
|
||||
});*/
|
||||
|
||||
// OrderDto orderDetailByOrderId = orderMapper.getOrderDetailByOrderId(model.getId());
|
||||
// if(orderDetailByOrderId != null){
|
||||
// ParentRepairOrder parentRepairOrder = parentRepairOrderMapper.selectById(repairOrder.getParentRepairOrderId());
|
||||
// HashMap<String, String> param = new HashMap<>();
|
||||
// param.put("sendOrderTime",TimeUtil.dateToString(date, TimeConstant.DATETIME_NO_SS_FORMAT));
|
||||
// param.put("model", repairOrder.getModuleNumber());
|
||||
// param.put("power",distMap.get(repairOrder.getModulePower().toString()));
|
||||
// param.put("moduleCode",repairOrder.getModuleCode());
|
||||
// param.put("orderNo",parentRepairOrder.getOrderNo());
|
||||
// new SmsNotice().send(systemAuthAdmin.getPhone(),param, SmsConfig.getRepairOrderNotice());
|
||||
// }
|
||||
return model;
|
||||
}
|
||||
|
||||
|
@ -975,7 +987,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||
|
||||
@Override
|
||||
@Transactional
|
||||
public void verificationOrder(Long id, Integer userId, String code) {
|
||||
public void verificationOrder(Long id, Integer userId) {
|
||||
Order model = orderMapper.selectOne(
|
||||
new QueryWrapper<Order>()
|
||||
.eq("id", id)
|
||||
|
@ -984,83 +996,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||
if (OrderStatusEnum.SERVICING.getStatus() != model.getOrderStatus()) {
|
||||
throw new OperateException("只有服务中的订单才能进行核销");
|
||||
}
|
||||
String verificationCode = model.getVerificationCode();
|
||||
if (!verificationCode.equalsIgnoreCase(code)) {
|
||||
throw new OperateException("核销码错误,请重新输入");
|
||||
}
|
||||
model.setVerificationStatus(OrderVerificationStatusEnum.VERIFICATION.getStatus());
|
||||
model.setOrderStatus(OrderStatusEnum.FINISHED.getStatus());
|
||||
|
||||
model.setVerificationStatus(OrderVerificationStatusEnum.VERIFICATION.getStatus()); //核销状态:1-已核销
|
||||
model.setOrderStatus(OrderStatusEnum.FINISHED.getStatus());//订单状态;3-已完成;
|
||||
model.setFinishTime(TimeUtil.timestamp());
|
||||
model.setUpdateTime(TimeUtil.timestamp());
|
||||
orderMapper.updateById(model);
|
||||
|
||||
//获取服务信息
|
||||
OrderGoods orderGoods = orderGoodsService.getByOrderId(model.getId());
|
||||
BigDecimal defaultPrice = new BigDecimal("0");
|
||||
|
||||
/*//更新用户积分
|
||||
User user = userMapper.selectOne(
|
||||
new QueryWrapper<User>()
|
||||
.eq("id", userId)
|
||||
.last("limit 1"));
|
||||
user.setIntegral(user.getIntegral() + orderGoods.getIntegral());
|
||||
userMapper.updateById(user);*/
|
||||
|
||||
//创建分销佣金
|
||||
if (model.getDistrictId() != null && model.getDistrictId() != 0) {
|
||||
//获取分销商信息
|
||||
QueryWrapper<Distributor> distributorQueryWrapper = new QueryWrapper<>();
|
||||
distributorQueryWrapper.eq("is_delete", GlobalConstant.NOT_DELETE);
|
||||
distributorQueryWrapper.eq("id", model.getDistributorId());
|
||||
Distributor distributor = distributorMapper.selectOne(distributorQueryWrapper);
|
||||
//组装参数
|
||||
DistributorCommission distributorCommission = new DistributorCommission();
|
||||
distributorCommission.setOrderId(model.getId());
|
||||
|
||||
if (distributor != null) {
|
||||
//支付金额不等于零时或者服务金额为零时
|
||||
if (model.getOrderAmount().compareTo(defaultPrice) > 0 &&
|
||||
orderGoods.getDistributorCommissionRate().compareTo(defaultPrice) > 0 &&
|
||||
distributor.getCommissionRate().compareTo(defaultPrice) > 0) {
|
||||
//计算佣金
|
||||
BigDecimal goodsCommissionRate = orderGoods.getDistributorCommissionRate().divide(new BigDecimal("100"));
|
||||
BigDecimal distributorRate = distributor.getCommissionRate().divide(new BigDecimal("10.00"));
|
||||
BigDecimal result = orderGoods.getTotalPayPrice().multiply(goodsCommissionRate).multiply(distributorRate).setScale(2, RoundingMode.HALF_UP);
|
||||
//如果结算金额小于0.01时 佣金为0
|
||||
if (result.compareTo(new BigDecimal("0.01")) < 0) {
|
||||
distributorCommission.setCommission(defaultPrice);
|
||||
} else {
|
||||
distributorCommission.setCommission(result);
|
||||
}
|
||||
} else {
|
||||
distributorCommission.setCommission(defaultPrice);
|
||||
}
|
||||
distributorCommission.setDistributorId(distributor.getId());
|
||||
distributorCommission.setDistributorCommissionRate(orderGoods.getDistributorCommissionRate());
|
||||
distributorCommission.setGoodsCommissionRate(orderGoods.getGoodsCommissionRate());
|
||||
distributorCommission.setCreateTime(TimeUtil.nowDate());
|
||||
distributorCommission.setStatus(DistributorCommissionStatusEnum.FREEZE.getCode());
|
||||
distributorCommission.setIsDelete(GlobalConstant.NOT_DELETE);
|
||||
distributorCommissionMapper.insert(distributorCommission);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//创建师傅佣金
|
||||
StaffCommission staffCommission = new StaffCommission();
|
||||
staffCommission.setOrderId(model.getId());
|
||||
staffCommission.setGoodsCommissionRate(orderGoods.getStaffCommissionRate());
|
||||
//师傅抽成
|
||||
if(orderGoods.getStaffCommissionRate().compareTo(defaultPrice) > 0){
|
||||
staffCommission.setCommission(model.getOrderAmount().multiply(orderGoods.getStaffCommissionRate()
|
||||
.divide(new BigDecimal("100"))));
|
||||
}else{
|
||||
staffCommission.setCommission(defaultPrice);
|
||||
}
|
||||
staffCommission.setCreateTime(TimeUtil.nowDate());
|
||||
staffCommissionMapper.insert(staffCommission);
|
||||
|
||||
orderLogService.saveOrderLog(id, userId.longValue(), OrderLogEnum.USER_VERIFICATION.getDesc());
|
||||
}
|
||||
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
package com.hcy.front.service.order.impl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
public class teststes {
|
||||
public static void main(String[] args) {
|
||||
int userInteger = 62; // 用户积分
|
||||
int integer = 0; // 用户使用了多少积分
|
||||
BigDecimal p = BigDecimal.valueOf(166.66); // 商品价格
|
||||
BigDecimal p2 = BigDecimal.valueOf(5.66); // 商品价格
|
||||
BigDecimal orderAmount = p2; //应付金额
|
||||
BigDecimal deductionMoney = BigDecimal.valueOf(0); //抵扣金额
|
||||
|
||||
int num = userInteger % 10; //用户剩余积分
|
||||
int monery = userInteger / 10; // 用户积分抵扣金额
|
||||
|
||||
BigDecimal subtract = p2.subtract(BigDecimal.valueOf(monery)); // 积分抵扣金额
|
||||
integer = monery * 10; // 已使用积分
|
||||
deductionMoney = BigDecimal.valueOf(monery); // 抵扣金额
|
||||
|
||||
if(subtract.intValue() <= 0){
|
||||
num = num + (Math.abs(subtract.intValue()) * 10); // 剩余积分返还用户
|
||||
orderAmount = BigDecimal.valueOf(0); // 应付金额
|
||||
}else{
|
||||
orderAmount = subtract; // 应付金额
|
||||
}
|
||||
|
||||
System.out.println("-------------------------------");
|
||||
System.out.println("用户剩余积分:" + num);
|
||||
System.out.println("用户使用了:" + integer);
|
||||
System.out.println("用户应付金额:" + orderAmount);
|
||||
System.out.println("用户抵扣金额:" + deductionMoney);
|
||||
}
|
||||
}
|
|
@ -1,10 +1,10 @@
|
|||
# 项目配置
|
||||
like:
|
||||
# upload-directory: /www/wwwroot/java-smyy/public/uploads/
|
||||
upload-directory: E:\img\
|
||||
upload-directory: /data/file/uploads/ # 文件上传目录
|
||||
# upload-directory: E:\img\
|
||||
# 服务配置
|
||||
server:
|
||||
port: 8084
|
||||
port: 8086
|
||||
servlet:
|
||||
context-path: /
|
||||
|
||||
|
@ -25,6 +25,11 @@ spring:
|
|||
driver-class-name: com.mysql.jdbc.Driver # MySql的驱动
|
||||
username: root # 数据库账号
|
||||
password: 1234
|
||||
# url: jdbc:mysql://123.207.77.26:3306/homemaking?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
|
||||
# type: com.zaxxer.hikari.HikariDataSource # 数据源类型
|
||||
# driver-class-name: com.mysql.jdbc.Driver # MySql的驱动
|
||||
# username: Homemaking # 数据库账号
|
||||
# password: kpHaxTyz4ehkYDpS
|
||||
hikari:
|
||||
connection-timeout: 30000 # 等待连接分配连接的最大时长(毫秒),超出时长还没可用连接则发送SQLException,默认30秒
|
||||
minimum-idle: 5 # 最小连接数
|
||||
|
|
Loading…
Reference in New Issue