From 775cfa055216a09b8f5b7e7fc7401e23a3bc5baa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Wed, 21 Aug 2024 15:32:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E8=AE=A2=E5=8D=95=E4=B8=9A?= =?UTF-8?q?=E7=BB=A9=E3=80=81=E7=A7=AF=E5=88=86=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/AppArtificerController.java | 2 +- .../modules/artificer/entity/Artificer.java | 3 +- .../sqx/modules/artificer/entity/Orders.java | 4 +- .../service/impl/OrdersServiceImpl.java | 46 +++++++++++++++++-- .../sys/controller/app/AppDictController.java | 2 +- .../service/impl/TravelConfServiceImpl.java | 13 +++--- .../resources/mapper/artificer/OrdersDao.xml | 40 +++++++++++++++- 7 files changed, 93 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerController.java b/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerController.java index e6ce72a..2660dc6 100644 --- a/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerController.java +++ b/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerController.java @@ -516,7 +516,7 @@ public class AppArtificerController { @Login @PostMapping("/updateArtificerTripWay") @ApiOperation("修改技师出行方式") - public Result updateArtificerTripWay(@RequestAttribute Long userId,Integer tripWay,Integer tripWayNum){ + public Result updateArtificerTripWay(@RequestAttribute Long userId,Integer tripWay,BigDecimal tripWayNum){ Artificer artificer = artificerService.selectArtificerByUserId(userId); artificer.setTripWay(tripWay); artificer.setTripWayNum(tripWayNum); diff --git a/src/main/java/com/sqx/modules/artificer/entity/Artificer.java b/src/main/java/com/sqx/modules/artificer/entity/Artificer.java index d7ac65c..4447e76 100644 --- a/src/main/java/com/sqx/modules/artificer/entity/Artificer.java +++ b/src/main/java/com/sqx/modules/artificer/entity/Artificer.java @@ -109,8 +109,7 @@ public class Artificer implements Serializable { /** * 免费公里数 */ - private Integer tripWayNum; - + private BigDecimal tripWayNum; /** * 信用分 diff --git a/src/main/java/com/sqx/modules/artificer/entity/Orders.java b/src/main/java/com/sqx/modules/artificer/entity/Orders.java index 680ed6e..6842174 100644 --- a/src/main/java/com/sqx/modules/artificer/entity/Orders.java +++ b/src/main/java/com/sqx/modules/artificer/entity/Orders.java @@ -111,7 +111,6 @@ public class Orders implements Serializable { @TableField(exist = false) private BigDecimal priceTotal; - /** * 服务费用 */ @@ -571,6 +570,9 @@ public class Orders implements Serializable { @TableField(exist = false) private Long classifyId; + @TableField(exist = false) + private Long addClassifyId; + @TableField(exist = false) private String artificerPhone; diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java index 7adffe7..128e586 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java @@ -29,7 +29,9 @@ import com.sqx.modules.artificer.dao.OrdersDao; import com.sqx.modules.artificer.entity.*; import com.sqx.modules.artificer.service.*; import com.sqx.modules.bl.artificer.dao.ArtificerIntegralStatisticsDao; +import com.sqx.modules.bl.artificer.entity.AchievementIntegral; import com.sqx.modules.bl.artificer.entity.ArtificerIntegralStatistics; +import com.sqx.modules.bl.artificer.service.AchievementIntegralService; import com.sqx.modules.bl.commission.fxy.entity.FxyApply; import com.sqx.modules.bl.commission.fxy.entity.FxyConfig; import com.sqx.modules.bl.commission.fxy.service.FxyApplyService; @@ -180,6 +182,8 @@ public class OrdersServiceImpl extends ServiceImpl implements private JjrConfigLevelService jjrConfigServiceLevel; @Autowired private ArtificerIntegralStatisticsDao artificerIntegralStatisticsDao; + @Autowired + AchievementIntegralService achievementIntegralService; private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true); @@ -6822,6 +6826,8 @@ public class OrdersServiceImpl extends ServiceImpl implements oldOrders.setArtificerRate(orders.getArtificerRate()); accomplishOldOrders(oldOrders,type,jsFwcn,jsPjtag,jsTsbz); } + //计算业绩、积分 + statisticsAchievementIntegral(ordersId); return Result.success(); } catch (Exception e) { e.printStackTrace(); @@ -7089,11 +7095,43 @@ public class OrdersServiceImpl extends ServiceImpl implements //统计业绩积分 public void statisticsAchievementIntegral(Long ordersId){ Orders orders = baseMapper.getOrdersMoneyById(ordersId); + BigDecimal xmbsD = BigDecimal.ZERO; String xmbs = commonInfoService.findOne(463).getValue(); + if(xmbs!=null && !xmbs.equals("")){ + xmbsD = new BigDecimal(xmbs); + } + BigDecimal jzbsD = BigDecimal.ZERO; String jzbs = commonInfoService.findOne(464).getValue(); + if(jzbs!=null && !jzbs.equals("")){ + jzbsD = new BigDecimal(jzbs); + } + BigDecimal priceTotal = orders.getPrice();//项目业绩 + if(priceTotal == null){ + priceTotal = BigDecimal.ZERO; + } + BigDecimal addPriceTotal = orders.getAddPrice();//加钟业绩 + if(addPriceTotal == null){ + addPriceTotal = BigDecimal.ZERO; + } + Long classifyId = orders.getClassifyId();//项目类型 + BigDecimal xmjf = BigDecimal.ZERO; + if(classifyId != null){ + AchievementIntegral achievementIntegral = achievementIntegralService.getOne(new QueryWrapper().eq("classify_id",classifyId)); + BigDecimal achievement = achievementIntegral.getAchievement(); + BigDecimal integral = achievementIntegral.getIntegral(); + xmjf = priceTotal.multiply(xmbsD).divide(achievement).multiply(integral).setScale(2,BigDecimal.ROUND_HALF_UP); + } + Long addClassifyId = orders.getAddClassifyId();//加钟项目类型 + BigDecimal jzjf = BigDecimal.ZERO; + if(addClassifyId != null){ + AchievementIntegral achievementIntegral = achievementIntegralService.getOne(new QueryWrapper().eq("classify_id",addClassifyId)); + BigDecimal achievement = achievementIntegral.getAchievement(); + BigDecimal integral = achievementIntegral.getIntegral(); + jzjf = addPriceTotal.multiply(jzbsD).divide(achievement).multiply(integral).setScale(2,BigDecimal.ROUND_HALF_UP); + } QueryWrapper delWrapper = new QueryWrapper(); - delWrapper.le("orders_no",orders.getOrdersNo()); + delWrapper.eq("orders_no",orders.getOrdersNo()); artificerIntegralStatisticsDao.delete(delWrapper); Artificer artificer = artificerDao.selectById(orders.getArtificerId()); @@ -7102,9 +7140,9 @@ public class OrdersServiceImpl extends ServiceImpl implements artificerIntegralStatistics.setArtificerName(artificer.getArtificerName()); artificerIntegralStatistics.setClassify(3); artificerIntegralStatistics.setType(1); -// artificerIntegralStatistics.setAchievement();//业绩 -// artificerIntegralStatistics.setIncome();//收益 -// artificerIntegralStatistics.setIntegral();//积分 + artificerIntegralStatistics.setAchievement(priceTotal.add(addPriceTotal));//业绩 + artificerIntegralStatistics.setIncome(orders.getArtificerMoneyTotal());//收益 + artificerIntegralStatistics.setIntegral(xmjf.add(jzjf));//积分 artificerIntegralStatistics.setOrdersNo(orders.getOrdersNo()); artificerIntegralStatistics.setCreateTime(orders.getEndTimes()); artificerIntegralStatisticsDao.insert(artificerIntegralStatistics); diff --git a/src/main/java/com/sqx/modules/sys/controller/app/AppDictController.java b/src/main/java/com/sqx/modules/sys/controller/app/AppDictController.java index a7a0149..92da1d6 100644 --- a/src/main/java/com/sqx/modules/sys/controller/app/AppDictController.java +++ b/src/main/java/com/sqx/modules/sys/controller/app/AppDictController.java @@ -30,7 +30,7 @@ public class AppDictController { @ApiOperation("项目分类列表") public Result list(String type,String remark){ SysDictEntity sysDictEntity = sysDictService.getOne(new QueryWrapper().eq("type", type)); - List sysDictEntityList = sysDictService.list(new QueryWrapper().eq("status",1).eq( "parent_id", sysDictEntity.getId()).eq(remark!=null&&!remark.equals(""),"remark", remark).orderByDesc("order_num")); + List sysDictEntityList = sysDictService.list(new QueryWrapper().eq("status",1).eq( "parent_id", sysDictEntity.getId()).eq(remark!=null&&!remark.equals(""),"remark", remark).orderByAsc("order_num")); return Result.success().put("data", sysDictEntityList); } diff --git a/src/main/java/com/sqx/modules/travelconf/service/impl/TravelConfServiceImpl.java b/src/main/java/com/sqx/modules/travelconf/service/impl/TravelConfServiceImpl.java index 83a61ef..05ca93b 100644 --- a/src/main/java/com/sqx/modules/travelconf/service/impl/TravelConfServiceImpl.java +++ b/src/main/java/com/sqx/modules/travelconf/service/impl/TravelConfServiceImpl.java @@ -207,28 +207,29 @@ public class TravelConfServiceImpl extends ServiceImpl \ No newline at end of file