diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/ChargeParkingDiscountMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/ChargeParkingDiscountMapper.java
index a4fed62ee..f39b74921 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/ChargeParkingDiscountMapper.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/ChargeParkingDiscountMapper.java
@@ -24,4 +24,9 @@ public interface ChargeParkingDiscountMapper {
int insertOrUpdateSelective(ChargeParkingDiscount record);
ChargeParkingDiscount selectByStationId(String stationId);
-}
\ No newline at end of file
+
+ int logicDeleteByStationIdExcludeId(@Param("stationId") String stationId,
+ @Param("keepId") Integer keepId,
+ @Param("updateBy") String updateBy,
+ @Param("updateTime") java.util.Date updateTime);
+}
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/ChargeParkingDiscountServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/ChargeParkingDiscountServiceImpl.java
index 55abe886f..cbc3361ea 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/ChargeParkingDiscountServiceImpl.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/ChargeParkingDiscountServiceImpl.java
@@ -9,6 +9,7 @@ import com.jsowell.pile.vo.web.ChargeParkingDiscountVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.Date;
import java.util.List;
@Service
public class ChargeParkingDiscountServiceImpl implements ChargeParkingDiscountService{
@@ -81,12 +82,26 @@ public class ChargeParkingDiscountServiceImpl implements ChargeParkingDiscountSe
@Override
public int insertOrUpdateSelective(ChargeParkingDiscount record) {
- if (record.getId() == null) {
- record.setCreateBy(SecurityUtils.getUsername());
- } else {
- record.setUpdateBy(SecurityUtils.getUsername());
+ if (record == null || StringUtils.isBlank(record.getStationId())) {
+ return 0;
}
- return chargeParkingDiscountMapper.insertOrUpdateSelective(record);
+ String username = SecurityUtils.getUsername();
+ Date now = new Date();
+ record.setDelFlag("0");
+
+ ChargeParkingDiscount latestRecord = this.selectByStationId(record.getStationId());
+ if (latestRecord == null) {
+ record.setCreateBy(username);
+ record.setCreateTime(now);
+ return chargeParkingDiscountMapper.insertSelective(record);
+ }
+
+ record.setId(latestRecord.getId());
+ record.setUpdateBy(username);
+ record.setUpdateTime(now);
+ int result = chargeParkingDiscountMapper.updateByPrimaryKeySelective(record);
+ chargeParkingDiscountMapper.logicDeleteByStationIdExcludeId(record.getStationId(), latestRecord.getId(), username, now);
+ return result;
}
}
diff --git a/jsowell-pile/src/main/resources/mapper/pile/ChargeParkingDiscountMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/ChargeParkingDiscountMapper.xml
index 1b22ce1bb..5721a86fc 100644
--- a/jsowell-pile/src/main/resources/mapper/pile/ChargeParkingDiscountMapper.xml
+++ b/jsowell-pile/src/main/resources/mapper/pile/ChargeParkingDiscountMapper.xml
@@ -485,11 +485,23 @@
+
+ update charge_parking_discount
+ set del_flag = '1',
+ update_by = #{updateBy,jdbcType=VARCHAR},
+ update_time = #{updateTime,jdbcType=TIMESTAMP}
+ where station_id = #{stationId,jdbcType=VARCHAR}
+ and del_flag = '0'
+ and id != #{keepId,jdbcType=INTEGER}
+
+
-
\ No newline at end of file
+