Bladeren bron

优化代码

java110 5 jaren geleden
bovenliggende
commit
8d3a00fefe

+ 18 - 2
service-api/src/main/java/com/java110/api/bmo/fee/impl/FeeBMOImpl.java

@@ -151,8 +151,7 @@ public class FeeBMOImpl extends ApiBaseBMO implements IFeeBMO {
             endCalender.setTime(endTime);
             BigDecimal receivedAmount = new BigDecimal(Double.parseDouble(paramInJson.getString("receivedAmount")));
             cycles = receivedAmount.divide(feePrice, 2, BigDecimal.ROUND_HALF_EVEN);
-            hours = new Double(cycles.doubleValue() * DateUtil.getCurrentMonthDay() * 24).intValue();
-            endCalender.add(Calendar.HOUR, hours);
+            endCalender = getTargetEndTime(endCalender,cycles.doubleValue());
             targetEndTime = endCalender.getTime();
             paramInJson.put("tmpCycles", cycles.doubleValue());
             businessFeeDetail.put("cycles", cycles.doubleValue());
@@ -188,6 +187,23 @@ public class FeeBMOImpl extends ApiBaseBMO implements IFeeBMO {
         return business;
     }
 
+    private static Calendar getTargetEndTime(Calendar endCalender, Double cycles) {
+        if (StringUtil.isInteger(cycles.toString())) {
+            endCalender.add(Calendar.MONTH, new Double(cycles).intValue());
+
+            return endCalender;
+        }
+
+        if(cycles >= 1){
+            endCalender.add(Calendar.MONTH, new Double(Math.floor(cycles)).intValue());
+            cycles = cycles - Math.floor(cycles);
+        }
+        int hours = new Double(cycles * DateUtil.getCurrentMonthDay() * 24).intValue();
+        endCalender.add(Calendar.HOUR, hours);
+
+        return endCalender;
+    }
+
 
     /**
      * 添加费用明细信息

+ 8 - 3
service-user/src/main/java/com/java110/user/bmo/userAddress/impl/SaveUserAddressBMOImpl.java

@@ -5,6 +5,7 @@ import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.intf.IUserAddressInnerServiceSMO;
 import com.java110.po.userAddress.UserAddressPo;
 import com.java110.user.bmo.userAddress.ISaveUserAddressBMO;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
@@ -24,10 +25,14 @@ public class SaveUserAddressBMOImpl implements ISaveUserAddressBMO {
      */
     @Java110Transactional
     public ResponseEntity<String> save(UserAddressPo userAddressPo) {
+        int flag = 0;
+        if (!StringUtil.isEmpty(userAddressPo.getAddressId()) && !userAddressPo.getAddressId().startsWith("-")) {
+            flag = userAddressInnerServiceSMOImpl.updateUserAddress(userAddressPo);
+        } else {
+            userAddressPo.setAddressId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_addressId));
+            flag = userAddressInnerServiceSMOImpl.saveUserAddress(userAddressPo);
 
-        userAddressPo.setAddressId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_addressId));
-        int flag = userAddressInnerServiceSMOImpl.saveUserAddress(userAddressPo);
-
+        }
         if (flag > 0) {
             return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
         }