diff --git a/admin/src/main/java/com/hcy/admin/config/SmsConfig.java b/admin/src/main/java/com/hcy/admin/config/SmsConfig.java new file mode 100644 index 0000000..eab580a --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/config/SmsConfig.java @@ -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 getOrderNotice(){ + Map smsParam = new HashMap<>(); + smsParam.put("smsTemplate","维修派单通知 派单时间:${sendOrderTime} 型号:${model} 功率:${power} 模块代码: ${moduleCode} 订单编号:${orderNo}"); + smsParam.put("templateId","SMS_474980344"); + return smsParam; + } + + +} diff --git a/admin/src/main/resources/application.yml b/admin/src/main/resources/application.yml index b5d3112..c21fb40 100644 --- a/admin/src/main/resources/application.yml +++ b/admin/src/main/resources/application.yml @@ -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秒 diff --git a/common/src/main/java/com/hcy/common/enums/OrderLogEnum.java b/common/src/main/java/com/hcy/common/enums/OrderLogEnum.java index d66efc7..e5f71ca 100644 --- a/common/src/main/java/com/hcy/common/enums/OrderLogEnum.java +++ b/common/src/main/java/com/hcy/common/enums/OrderLogEnum.java @@ -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,"师傅自动确认订单"), diff --git a/front/src/main/java/com/hcy/front/controller/OrderController.java b/front/src/main/java/com/hcy/front/controller/OrderController.java index 1705c83..9fb30ec 100644 --- a/front/src/main/java/com/hcy/front/controller/OrderController.java +++ b/front/src/main/java/com/hcy/front/controller/OrderController.java @@ -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); } /** diff --git a/front/src/main/java/com/hcy/front/service/order/IOrderService.java b/front/src/main/java/com/hcy/front/service/order/IOrderService.java index 8e84890..9caa878 100644 --- a/front/src/main/java/com/hcy/front/service/order/IOrderService.java +++ b/front/src/main/java/com/hcy/front/service/order/IOrderService.java @@ -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 staffOrderList(PageParam pageParam, Map params); diff --git a/front/src/main/java/com/hcy/front/service/order/impl/OrderServiceImpl.java b/front/src/main/java/com/hcy/front/service/order/impl/OrderServiceImpl.java index 0c3ad43..6047d8b 100644 --- a/front/src/main/java/com/hcy/front/service/order/impl/OrderServiceImpl.java +++ b/front/src/main/java/com/hcy/front/service/order/impl/OrderServiceImpl.java @@ -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 implements appointOrderGiveStaff(model,orderGoods); } });*/ - +// OrderDto orderDetailByOrderId = orderMapper.getOrderDetailByOrderId(model.getId()); +// if(orderDetailByOrderId != null){ +// ParentRepairOrder parentRepairOrder = parentRepairOrderMapper.selectById(repairOrder.getParentRepairOrderId()); +// HashMap 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 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() .eq("id", id) @@ -984,83 +996,13 @@ public class OrderServiceImpl extends ServiceImpl 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() - .eq("id", userId) - .last("limit 1")); - user.setIntegral(user.getIntegral() + orderGoods.getIntegral()); - userMapper.updateById(user);*/ - - //创建分销佣金 - if (model.getDistrictId() != null && model.getDistrictId() != 0) { - //获取分销商信息 - QueryWrapper 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()); } diff --git a/front/src/main/java/com/hcy/front/service/order/impl/teststes.java b/front/src/main/java/com/hcy/front/service/order/impl/teststes.java deleted file mode 100644 index 81a09de..0000000 --- a/front/src/main/java/com/hcy/front/service/order/impl/teststes.java +++ /dev/null @@ -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); - } -} diff --git a/front/src/main/resources/application.yml b/front/src/main/resources/application.yml index 0a380d1..38225e9 100644 --- a/front/src/main/resources/application.yml +++ b/front/src/main/resources/application.yml @@ -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 # 最小连接数 diff --git a/pom.xml b/pom.xml index d3692a2..d8c8de0 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ front common generator - staff +