java110 лет назад: 4
Родитель
Сommit
01aab3714b

+ 2 - 3
java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java

@@ -35,7 +35,6 @@ import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.StringUtil;
 import org.slf4j.Logger;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -1538,8 +1537,8 @@ public class ComputeFeeSMOImpl implements IComputeFeeSMO {
 
     //手机端缴费处理
     public Map getOwnerPhoneFee(Map feeAmount) {
-        feeAmount.put("feePrice", new BigDecimal(1.00/100));
-        feeAmount.put("feeTotalPrice", new BigDecimal(1.00/100));
+        feeAmount.put("feePrice", new BigDecimal(1.00 / 100));
+        feeAmount.put("feeTotalPrice", new BigDecimal(1.00 / 100));
         return feeAmount;
     }
 

+ 5 - 5
java110-db/src/main/resources/mapper/fee/PayFeeNewV1ServiceDaoImplMapper.xml

@@ -2,11 +2,11 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="payFeeNewV1ServiceDaoImpl">
+<mapper namespace="payFeeV1ServiceDaoImpl">
 
 
     <!-- 保存费用明细信息 add by wuxw 2018-07-03 -->
-    <insert id="savePayFeeNewInfo" parameterType="Map">
+    <insert id="savePayFeeInfo" parameterType="Map">
         insert into pay_fee(
         amount,fee_type_cd,batch_id,fee_id,user_id,income_obj_id,config_id,fee_flag,start_time,
         end_time,state,community_id,payer_obj_type,payer_obj_id,b_id
@@ -18,7 +18,7 @@
 
 
     <!-- 查询费用明细信息 add by wuxw 2018-07-03 -->
-    <select id="getPayFeeNewInfo" parameterType="Map" resultType="Map">
+    <select id="getPayFeeInfo" parameterType="Map" resultType="Map">
         select t.amount,t.fee_type_cd,t.fee_type_cd feeTypeCd,t.status_cd,t.status_cd statusCd,t.batch_id,t.batch_id
         batchId,t.fee_id,t.fee_id feeId,t.user_id,t.user_id userId,t.income_obj_id,t.income_obj_id
         incomeObjId,t.config_id,t.config_id configId,t.fee_flag,t.fee_flag feeFlag,t.start_time,t.start_time
@@ -80,7 +80,7 @@
 
 
     <!-- 修改费用明细信息 add by wuxw 2018-07-03 -->
-    <update id="updatePayFeeNewInfo" parameterType="Map">
+    <update id="updatePayFeeInfo" parameterType="Map">
         update pay_fee t set t.status_cd = #{statusCd}
         <if test="newBId != null and newBId != ''">
             ,t.b_id = #{newBId}
@@ -132,7 +132,7 @@
     </update>
 
     <!-- 查询费用明细数量 add by wuxw 2018-07-03 -->
-    <select id="queryPayFeeNewsCount" parameterType="Map" resultType="Map">
+    <select id="queryPayFeesCount" parameterType="Map" resultType="Map">
         select count(1) count
         from pay_fee t
         where 1 =1

+ 1 - 0
service-acct/src/main/java/com/java110/acct/smo/impl/AccountInnerServiceSMOImpl.java

@@ -207,6 +207,7 @@ public class AccountInnerServiceSMOImpl extends BaseServiceSMO implements IAccou
             if (flag < 1) {
                 throw new IllegalArgumentException("更新账户失败");
             }
+            accountDetailPo.setObjType(accounts.get(0).getObjType());
         } finally {
             DistributedLock.releaseDistributedLock(requestId, key);
         }

+ 18 - 13
service-api/src/main/java/com/java110/api/smo/payment/impl/ToPaySMOImpl.java

@@ -2,26 +2,26 @@ package com.java110.api.smo.payment.impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.api.properties.WechatAuthProperties;
+import com.java110.api.smo.AppAbstractComponentSMO;
+import com.java110.api.smo.payment.IToPaySMO;
+import com.java110.api.smo.payment.adapt.IPayAdapt;
 import com.java110.core.context.IPageData;
 import com.java110.core.context.PageData;
+import com.java110.core.log.LoggerFactory;
 import com.java110.dto.app.AppDto;
 import com.java110.dto.owner.OwnerAppUserDto;
 import com.java110.dto.smallWeChat.SmallWeChatDto;
-import com.java110.api.properties.WechatAuthProperties;
-import com.java110.api.smo.AppAbstractComponentSMO;
-import com.java110.api.smo.payment.IToPaySMO;
-import com.java110.api.smo.payment.adapt.IPayAdapt;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.CommonConstant;
-import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.constant.WechatConstant;
 import com.java110.utils.factory.ApplicationContextFactory;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
@@ -69,7 +69,7 @@ public class ToPaySMOImpl extends AppAbstractComponentSMO implements IToPaySMO {
     @Override
     protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) throws Exception {
 
-        ResponseEntity responseEntity = null;
+        ResponseEntity<String> responseEntity = null;
 
         SmallWeChatDto smallWeChatDto = getSmallWechat(pd, paramIn);
 
@@ -97,15 +97,19 @@ public class ToPaySMOImpl extends AppAbstractComponentSMO implements IToPaySMO {
             JSONObject paramOut = new JSONObject();
             paramOut.put("oId", orderId);
             String urlOut = "fee.payFeeConfirm";
-            responseEntity = this.callCenterService(getHeaders("-1",pd.getAppId()), paramOut.toJSONString(), urlOut, HttpMethod.POST);
+            responseEntity = this.callCenterService(getHeaders("-1", pd.getAppId()), paramOut.toJSONString(), urlOut, HttpMethod.POST);
             JSONObject param = new JSONObject();
             if (responseEntity.getStatusCode() != HttpStatus.OK) {
-                param.put("code","101");
-                param.put("msg","扣费为0回调失败");
+                param.put("code", "101");
+                param.put("msg", "扣费为0回调失败");
                 return new ResponseEntity(JSONObject.toJSONString(param), HttpStatus.OK);
             }
-            param.put("code","100");
-            param.put("msg","扣费为0回调成功");
+            JSONObject result = JSONObject.parseObject(responseEntity.getBody());
+            if (ResultVo.CODE_OK != result.getInteger("code")) {
+                return responseEntity;
+            }
+            param.put("code", "100");
+            param.put("msg", "扣费为0回调成功");
             return new ResponseEntity(JSONObject.toJSONString(param), HttpStatus.OK);
         }
         String appType = OwnerAppUserDto.APP_TYPE_WECHAT_MINA;
@@ -144,7 +148,7 @@ public class ToPaySMOImpl extends AppAbstractComponentSMO implements IToPaySMO {
         return responseEntity;
     }
 
-    private Map<String, String> getHeaders(String userId,String appId) {
+    private Map<String, String> getHeaders(String userId, String appId) {
         Map<String, String> headers = new HashMap<>();
         headers.put(CommonConstant.HTTP_APP_ID.toLowerCase(), appId);
         headers.put(CommonConstant.HTTP_USER_ID.toLowerCase(), userId);
@@ -153,6 +157,7 @@ public class ToPaySMOImpl extends AppAbstractComponentSMO implements IToPaySMO {
         headers.put(CommonConstant.HTTP_SIGN.toLowerCase(), "");
         return headers;
     }
+
     private SmallWeChatDto getSmallWechat(IPageData pd, JSONObject paramIn) {
 
         ResponseEntity responseEntity = null;

+ 1 - 1
service-fee/src/main/java/com/java110/fee/bmo/fee/impl/FeeBMOImpl.java

@@ -371,7 +371,7 @@ public class FeeBMOImpl extends ApiBaseBMO implements IFeeBMO {
 
         JSONObject businessFeeDetail = new JSONObject();
         businessFeeDetail.putAll(paramInJson);
-        businessFeeDetail.put("detailId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
+        businessFeeDetail.put("detailId", paramInJson.getString("detailId"));
         businessFeeDetail.put("primeRate", paramInJson.getString("primeRate"));
         if (!businessFeeDetail.containsKey("state")) {
             businessFeeDetail.put("state", "1400");

+ 10 - 3
service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeConfirmCmd.java

@@ -3,6 +3,7 @@ package com.java110.fee.cmd.fee;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.AbstractServiceCmdListener;
 import com.java110.core.event.cmd.CmdEvent;
@@ -111,6 +112,7 @@ public class PayFeeConfirmCmd extends AbstractServiceCmdListener {
     }
 
     @Override
+    @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
         String paramIn = CommonCache.getAndRemoveValue("payFeePre" + reqJson.getString("oId"));
         JSONObject paramObj = JSONObject.parseObject(paramIn);
@@ -131,6 +133,8 @@ public class PayFeeConfirmCmd extends AbstractServiceCmdListener {
         //处理现金账户
         dealAccount(paramObj);
 
+        paramObj.put("detailId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
+
         //处理 优惠折扣
         addDiscount(paramObj);
 
@@ -211,9 +215,12 @@ public class PayFeeConfirmCmd extends AbstractServiceCmdListener {
             //获取bId
             String bId = feeDetailDtoList.get(0).getbId();
             //获取优惠
-            List<ComputeDiscountDto> computeDiscountDtos = (List<ComputeDiscountDto>) paramObj.get("computeDiscountDtos");
-            if (computeDiscountDtos != null) {
-                for (ComputeDiscountDto computeDiscountDto : computeDiscountDtos) {
+            //List<ComputeDiscountDto> computeDiscountDtos = (List<ComputeDiscountDto>) paramObj.get("computeDiscountDtos");
+            JSONArray computeDiscountDtos = paramObj.getJSONArray("computeDiscountDtos");
+            ComputeDiscountDto computeDiscountDto = null;
+            if (computeDiscountDtos != null && computeDiscountDtos.size()> 0) {
+                for (int accountIndex = 0; accountIndex < computeDiscountDtos.size(); accountIndex++) {
+                    computeDiscountDto = BeanConvertUtil.covertBean(computeDiscountDtos.getJSONObject(accountIndex), ComputeDiscountDto.class);
                     if (!StringUtil.isEmpty(computeDiscountDto.getArdId())) {
                         ApplyRoomDiscountPo applyRoomDiscountPo = new ApplyRoomDiscountPo();
                         //将业务id更新到空置房优惠里面

+ 2 - 2
service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeePreCmd.java

@@ -203,8 +203,8 @@ public class PayFeePreCmd extends AbstractServiceCmdListener {
             totalAccountAmount = totalAccountAmount.add(new BigDecimal(tmpAccountDto.getAmount()));
         }
 
-        deductionAmount = totalAccountAmount.subtract(new BigDecimal(deductionAmount)).doubleValue();
-        if (deductionAmount < 0) {
+        double tmpDeductionAmount = totalAccountAmount.subtract(new BigDecimal(deductionAmount)).doubleValue();
+        if (tmpDeductionAmount < 0) {
             reqJson.put("deductionAmount", totalAccountAmount.doubleValue());
             reqJson.put("selectUserAccount", BeanConvertUtil.beanCovertJSONArray(accountDtos));
             return totalAccountAmount.doubleValue();

+ 2 - 0
service-fee/src/main/java/com/java110/fee/smo/impl/PayFeeDetailDiscountNewV1InnerServiceSMOImpl.java

@@ -16,6 +16,7 @@
 package com.java110.fee.smo.impl;
 
 
+import com.java110.core.annotation.Java110Transactional;
 import com.java110.dto.payFeeDetailDiscount.PayFeeDetailDiscountDto;
 import com.java110.fee.dao.IPayFeeDetailDiscountNewV1ServiceDao;
 import com.java110.intf.fee.IPayFeeDetailDiscountNewV1InnerServiceSMO;
@@ -47,6 +48,7 @@ public class PayFeeDetailDiscountNewV1InnerServiceSMOImpl extends BaseServiceSMO
 
 
     @Override
+    @Java110Transactional
     public int savePayFeeDetailDiscountNew(@RequestBody  PayFeeDetailDiscountPo payFeeDetailDiscountNewPo) {
         int saveFlag = payFeeDetailDiscountNewV1ServiceDaoImpl.savePayFeeDetailDiscountNewInfo(BeanConvertUtil.beanCovertMap(payFeeDetailDiscountNewPo));
         return saveFlag;

+ 4 - 1
service-job/src/main/java/com/java110/job/adapt/payment/receipt/PayFeeReceiptAdapt.java

@@ -104,7 +104,10 @@ public class PayFeeReceiptAdapt extends DatabusAdaptImpl {
                 businessPayFeeDetails = (JSONArray) bObj;
             }
         } else {
-            return;
+            if (data instanceof JSONObject) {
+                businessPayFeeDetails = new JSONArray();
+                businessPayFeeDetails.add(data);
+            }
         }
 
         if (businessPayFeeDetails == null) {

+ 1 - 1
service-job/src/main/java/com/java110/job/task/fee/GenerateOweFeeTemplate.java

@@ -141,7 +141,7 @@ public class GenerateOweFeeTemplate extends TaskSystemQuartz {
                 feeDto.setRow(new Double(DEFAULT_ROW).intValue());
                 List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
                 //没有关联费用
-                if (feeDto == null || feeDtos.size() < 1) {
+                if (feeDtos == null || feeDtos.size() < 1) {
                     continue;
                 }
                 for (FeeDto tmpFeeDto : feeDtos) {

+ 1 - 1
service-report/src/main/java/com/java110/report/smo/impl/GeneratorOweFeeInnerServiceSMOImpl.java

@@ -141,7 +141,7 @@ public class GeneratorOweFeeInnerServiceSMOImpl implements IGeneratorOweFeeInner
         List<ReportFeeDto> feeDtos = reportFeeServiceDaoImpl.getFees(feeDto);
 
         //没有关联费用
-        if (feeDto == null || feeDtos.size() < 1) {
+        if (feeDtos == null || feeDtos.size() < 1) {
             return;
         }
         for (ReportFeeDto tmpFeeDto : feeDtos) {