瀏覽代碼

开发完成缴物业费送积分

wuxw 1 年之前
父節點
當前提交
daa2003024

+ 96 - 1
java110-bean/src/main/java/com/java110/dto/integral/GiftIntegralDto.java

@@ -7,9 +7,22 @@ public class GiftIntegralDto implements Serializable {
     public GiftIntegralDto() {
     }
 
-    public GiftIntegralDto(int integral, double money) {
+    public GiftIntegralDto(int integral, double money,String communityId) {
         this.integral = integral;
         this.money = money;
+        this.communityId = communityId;
+    }
+
+    public GiftIntegralDto(int integral, double money,String communityId,
+                           String ruleId,String ruleName,String configId,String configName
+    ) {
+        this.integral = integral;
+        this.money = money;
+        this.communityId = communityId;
+        this.ruleId = ruleId;
+        this.ruleName = ruleName;
+        this.configId = configId;
+        this.configName = configName;
     }
 
     private int integral;
@@ -30,6 +43,24 @@ public class GiftIntegralDto implements Serializable {
 
     private String userId;
 
+    private String link;
+
+    private String remark;
+
+    private String orderId;
+
+    private String communityId;
+
+    private String configId;
+
+    private String configName;
+
+    private String ruleId;
+
+    private String ruleName;
+
+
+
 
     public int getIntegral() {
         return integral;
@@ -102,4 +133,68 @@ public class GiftIntegralDto implements Serializable {
     public void setUserId(String userId) {
         this.userId = userId;
     }
+
+    public String getLink() {
+        return link;
+    }
+
+    public void setLink(String link) {
+        this.link = link;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getOrderId() {
+        return orderId;
+    }
+
+    public void setOrderId(String orderId) {
+        this.orderId = orderId;
+    }
+
+    public String getCommunityId() {
+        return communityId;
+    }
+
+    public void setCommunityId(String communityId) {
+        this.communityId = communityId;
+    }
+
+    public String getConfigId() {
+        return configId;
+    }
+
+    public void setConfigId(String configId) {
+        this.configId = configId;
+    }
+
+    public String getConfigName() {
+        return configName;
+    }
+
+    public void setConfigName(String configName) {
+        this.configName = configName;
+    }
+
+    public String getRuleId() {
+        return ruleId;
+    }
+
+    public void setRuleId(String ruleId) {
+        this.ruleId = ruleId;
+    }
+
+    public String getRuleName() {
+        return ruleName;
+    }
+
+    public void setRuleName(String ruleName) {
+        this.ruleName = ruleName;
+    }
 }

+ 3 - 21
java110-bean/src/main/java/com/java110/dto/integral/IntegralGiftDetailDto.java

@@ -19,11 +19,11 @@ public class IntegralGiftDetailDto extends PageDto implements Serializable {
     private String createUserId;
     private String quantity;
     private String detailId;
-    private String acctId;
+
     private String userName;
-    private String acctName;
+
     private String configId;
-    private String acctDetailId;
+
     private String ruleName;
     private String tel;
     private String communityId;
@@ -67,13 +67,7 @@ public class IntegralGiftDetailDto extends PageDto implements Serializable {
         this.detailId = detailId;
     }
 
-    public String getAcctId() {
-        return acctId;
-    }
 
-    public void setAcctId(String acctId) {
-        this.acctId = acctId;
-    }
 
     public String getUserName() {
         return userName;
@@ -83,13 +77,7 @@ public class IntegralGiftDetailDto extends PageDto implements Serializable {
         this.userName = userName;
     }
 
-    public String getAcctName() {
-        return acctName;
-    }
 
-    public void setAcctName(String acctName) {
-        this.acctName = acctName;
-    }
 
     public String getConfigId() {
         return configId;
@@ -99,13 +87,7 @@ public class IntegralGiftDetailDto extends PageDto implements Serializable {
         this.configId = configId;
     }
 
-    public String getAcctDetailId() {
-        return acctDetailId;
-    }
 
-    public void setAcctDetailId(String acctDetailId) {
-        this.acctDetailId = acctDetailId;
-    }
 
     public String getRuleName() {
         return ruleName;

+ 10 - 0
java110-bean/src/main/java/com/java110/dto/payment/PaymentOrderDto.java

@@ -30,6 +30,8 @@ public class PaymentOrderDto implements Serializable{
 
     private String isShare;
 
+    private String cycles;
+
     private GiftIntegralDto giftIntegralDto;
 
 
@@ -116,4 +118,12 @@ public class PaymentOrderDto implements Serializable{
     public void setGiftIntegralDto(GiftIntegralDto giftIntegralDto) {
         this.giftIntegralDto = giftIntegralDto;
     }
+
+    public String getCycles() {
+        return cycles;
+    }
+
+    public void setCycles(String cycles) {
+        this.cycles = cycles;
+    }
 }

+ 6 - 26
java110-bean/src/main/java/com/java110/po/integral/IntegralGiftDetailPo.java

@@ -28,20 +28,21 @@ import java.util.Date;
  */
 public class IntegralGiftDetailPo implements Serializable {
 
-    private String configName;
+
     private String createUserId;
     private String quantity;
     private String detailId;
-    private String acctId;
     private String statusCd = "0";
     private String userName;
-    private String acctName;
     private String configId;
-    private String acctDetailId;
+
+    private String configName;
+
+    private String ruleId;
+
     private String ruleName;
     private String tel;
     private String communityId;
-    private String ruleId;
 
     public String getConfigName() {
         return configName;
@@ -75,13 +76,6 @@ public class IntegralGiftDetailPo implements Serializable {
         this.detailId = detailId;
     }
 
-    public String getAcctId() {
-        return acctId;
-    }
-
-    public void setAcctId(String acctId) {
-        this.acctId = acctId;
-    }
 
     public String getStatusCd() {
         return statusCd;
@@ -99,13 +93,6 @@ public class IntegralGiftDetailPo implements Serializable {
         this.userName = userName;
     }
 
-    public String getAcctName() {
-        return acctName;
-    }
-
-    public void setAcctName(String acctName) {
-        this.acctName = acctName;
-    }
 
     public String getConfigId() {
         return configId;
@@ -115,13 +102,6 @@ public class IntegralGiftDetailPo implements Serializable {
         this.configId = configId;
     }
 
-    public String getAcctDetailId() {
-        return acctDetailId;
-    }
-
-    public void setAcctDetailId(String acctDetailId) {
-        this.acctDetailId = acctDetailId;
-    }
 
     public String getRuleName() {
         return ruleName;

+ 14 - 32
java110-db/src/main/resources/mapper/acct/IntegralGiftDetailV1ServiceDaoImplMapper.xml

@@ -8,9 +8,9 @@
     <!-- 保存积分赠送信息 add by wuxw 2018-07-03 -->
     <insert id="saveIntegralGiftDetailInfo" parameterType="Map">
         insert into integral_gift_detail(
-        config_name,create_user_id,quantity,detail_id,acct_id,user_name,acct_name,config_id,acct_detail_id,rule_name,tel,community_id,rule_id
+        config_name,create_user_id,quantity,detail_id,user_name,config_id,rule_name,tel,community_id,rule_id
         ) values (
-        #{configName},#{createUserId},#{quantity},#{detailId},#{acctId},#{userName},#{acctName},#{configId},#{acctDetailId},#{ruleName},#{tel},#{communityId},#{ruleId}
+        #{configName},#{createUserId},#{quantity},#{detailId},#{userName},#{configId},#{ruleName},#{tel},#{communityId},#{ruleId}
         )
     </insert>
 
@@ -18,9 +18,9 @@
     <!-- 查询积分赠送信息 add by wuxw 2018-07-03 -->
     <select id="getIntegralGiftDetailInfo" parameterType="Map" resultType="Map">
         select t.config_name,t.config_name configName,t.create_user_id,t.create_user_id
-        createUserId,t.quantity,t.detail_id,t.detail_id detailId,t.acct_id,t.acct_id acctId,t.status_cd,t.status_cd
-        statusCd,t.user_name,t.user_name userName,t.acct_name,t.acct_name acctName,t.config_id,t.config_id
-        configId,t.acct_detail_id,t.acct_detail_id acctDetailId,t.rule_name,t.rule_name
+        createUserId,t.quantity,t.detail_id,t.detail_id detailId,t.status_cd,t.status_cd
+        statusCd,t.user_name,t.user_name userName,t.config_id,t.config_id
+        configId,t.rule_name,t.rule_name
         ruleName,t.tel,t.community_id,t.community_id communityId,t.rule_id,t.rule_id ruleId,t.create_time createTime
         from integral_gift_detail t
         where 1 =1
@@ -36,24 +36,18 @@
         <if test="detailId !=null and detailId != ''">
             and t.detail_id= #{detailId}
         </if>
-        <if test="acctId !=null and acctId != ''">
-            and t.acct_id= #{acctId}
-        </if>
+
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
         </if>
         <if test="userName !=null and userName != ''">
             and t.user_name= #{userName}
         </if>
-        <if test="acctName !=null and acctName != ''">
-            and t.acct_name= #{acctName}
-        </if>
+
         <if test="configId !=null and configId != ''">
             and t.config_id= #{configId}
         </if>
-        <if test="acctDetailId !=null and acctDetailId != ''">
-            and t.acct_detail_id= #{acctDetailId}
-        </if>
+
         <if test="ruleName !=null and ruleName != ''">
             and t.rule_name= #{ruleName}
         </if>
@@ -89,21 +83,15 @@
         <if test="quantity !=null and quantity != ''">
             , t.quantity= #{quantity}
         </if>
-        <if test="acctId !=null and acctId != ''">
-            , t.acct_id= #{acctId}
-        </if>
+
         <if test="userName !=null and userName != ''">
             , t.user_name= #{userName}
         </if>
-        <if test="acctName !=null and acctName != ''">
-            , t.acct_name= #{acctName}
-        </if>
+
         <if test="configId !=null and configId != ''">
             , t.config_id= #{configId}
         </if>
-        <if test="acctDetailId !=null and acctDetailId != ''">
-            , t.acct_detail_id= #{acctDetailId}
-        </if>
+
         <if test="ruleName !=null and ruleName != ''">
             , t.rule_name= #{ruleName}
         </if>
@@ -140,24 +128,18 @@
         <if test="detailId !=null and detailId != ''">
             and t.detail_id= #{detailId}
         </if>
-        <if test="acctId !=null and acctId != ''">
-            and t.acct_id= #{acctId}
-        </if>
+
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
         </if>
         <if test="userName !=null and userName != ''">
             and t.user_name= #{userName}
         </if>
-        <if test="acctName !=null and acctName != ''">
-            and t.acct_name= #{acctName}
-        </if>
+
         <if test="configId !=null and configId != ''">
             and t.config_id= #{configId}
         </if>
-        <if test="acctDetailId !=null and acctDetailId != ''">
-            and t.acct_detail_id= #{acctDetailId}
-        </if>
+
         <if test="ruleName !=null and ruleName != ''">
             and t.rule_name= #{ruleName}
         </if>

+ 4 - 0
java110-interface/src/main/java/com/java110/intf/job/IMallInnerServiceSMO.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.config.feign.FeignConfiguration;
 import com.java110.dto.IotDataDto;
 import com.java110.dto.MallDataDto;
+import com.java110.dto.integral.GiftIntegralDto;
 import com.java110.dto.user.UserDto;
 import com.java110.vo.ResultVo;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -52,4 +53,7 @@ public interface IMallInnerServiceSMO {
 
     @RequestMapping(value = "/computeIntegralMoney", method = RequestMethod.POST)
     double computeIntegralMoney(@RequestBody int quantity);
+
+    @RequestMapping(value = "/sendUserIntegral", method = RequestMethod.POST)
+    ResultVo sendUserIntegral(@RequestBody GiftIntegralDto giftIntegralDto);
 }

+ 0 - 3
service-acct/src/main/java/com/java110/acct/cmd/account/CustomSendAcctCmd.java

@@ -203,9 +203,6 @@ public class CustomSendAcctCmd extends Cmd {
         //先加明细
         IntegralGiftDetailPo integralGiftDetailPo = new IntegralGiftDetailPo();
         integralGiftDetailPo.setCommunityId(reqJson.getString("communityId"));
-        integralGiftDetailPo.setAcctId(accountDto.getAcctId());
-        integralGiftDetailPo.setAcctName(accountDto.getAcctName());
-        integralGiftDetailPo.setAcctDetailId("-1");
         integralGiftDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId("11"));
         integralGiftDetailPo.setConfigId(integralConfigDtos.get(0).getConfigId());
         integralGiftDetailPo.setConfigName(integralConfigDtos.get(0).getConfigName());

+ 11 - 6
service-acct/src/main/java/com/java110/acct/integral/impl/ComputeGiftIntegralImpl.java

@@ -43,7 +43,7 @@ public class ComputeGiftIntegralImpl implements IComputeGiftIntegral {
         String mallSwitch = MappingCache.getValue(MALL_DOMAIN, "MALL_SWITCH");
 
         if (!"ON".equals(mallSwitch)) {
-            return new GiftIntegralDto(0, 0);
+            return new GiftIntegralDto(0, 0, communityId);
         }
 
         IntegralRuleFeeDto integralRuleFeeDto = new IntegralRuleFeeDto();
@@ -52,7 +52,7 @@ public class ComputeGiftIntegralImpl implements IComputeGiftIntegral {
         List<IntegralRuleFeeDto> integralRuleFeeDtos = integralRuleFeeV1InnerServiceSMOImpl.queryIntegralRuleFees(integralRuleFeeDto);
 
         if (ListUtil.isNull(integralRuleFeeDtos)) {
-            return new GiftIntegralDto(0, 0);
+            return new GiftIntegralDto(0, 0, communityId);
         }
 
         List<String> ruleIds = new ArrayList<>();
@@ -65,19 +65,24 @@ public class ComputeGiftIntegralImpl implements IComputeGiftIntegral {
         List<IntegralRuleConfigDto> integralRuleConfigDtos = integralRuleConfigV1InnerServiceSMOImpl.queryIntegralRuleConfigs(integralRuleConfigDto);
 
         if (ListUtil.isNull(integralRuleConfigDtos)) {
-            return new GiftIntegralDto(0, 0);
+            return new GiftIntegralDto(0, 0, communityId);
         }
 
         int quantity = computeOneIntegralQuantity(integralRuleConfigDtos.get(0), payMoney, month);
 
-        if(quantity <= 0){
-            return new GiftIntegralDto(0, 0);
+        if (quantity <= 0) {
+            return new GiftIntegralDto(0, 0, communityId);
         }
 
         double money = mallInnerServiceSMOImpl.computeIntegralMoney(quantity);
 
 
-        return new GiftIntegralDto(quantity, money);
+        return new GiftIntegralDto(quantity, money, communityId,
+                integralRuleFeeDtos.get(0).getRuleId(),
+                integralRuleConfigDtos.get(0).getRuleName(),
+                integralRuleConfigDtos.get(0).getConfigId(),
+                integralRuleConfigDtos.get(0).getConfigName()
+                );
     }
 
     public int computeOneIntegralQuantity(IntegralRuleConfigDto integralRuleConfigDto, double payMoney, int month) {

+ 45 - 16
service-acct/src/main/java/com/java110/acct/integral/impl/GiftIntegralImpl.java

@@ -4,19 +4,34 @@ import com.java110.acct.integral.IGiftIntegral;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.fee.FeeAttrDto;
 import com.java110.dto.integral.GiftIntegralDto;
+import com.java110.dto.user.UserDto;
 import com.java110.intf.acct.IIntegralGiftDetailV1InnerServiceSMO;
+import com.java110.intf.job.IMallInnerServiceSMO;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
 import com.java110.po.integral.IntegralGiftDetailPo;
 import com.java110.utils.cache.MappingCache;
+import com.java110.utils.util.ListUtil;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service
 public class GiftIntegralImpl implements IGiftIntegral {
 
     private static final String MALL_DOMAIN = "MALL";
 
     @Autowired
-    private IIntegralGiftDetailV1InnerServiceSMO integralGiftDetailV1InnerServiceSMOImp;
+    private IIntegralGiftDetailV1InnerServiceSMO integralGiftDetailV1InnerServiceSMOImpl;
+
+
+
+    @Autowired
+    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IMallInnerServiceSMO mallInnerServiceSMOImpl;
 
     @Override
     public void gift(GiftIntegralDto giftIntegralDto) {
@@ -26,23 +41,37 @@ public class GiftIntegralImpl implements IGiftIntegral {
             return ;
         }
 
+        //todo 没有用户就不送了
+        if(StringUtil.isEmpty(giftIntegralDto.getUserId())){
+            return ;
+        }
+
+        UserDto userDto = new UserDto();
+        userDto.setUserId(giftIntegralDto.getUserId());
+        List<UserDto> userDtos= userV1InnerServiceSMOImpl.queryUsers(userDto);
+        if(ListUtil.isNull(userDtos)){
+            return ;
+        }
+
+        //调用商城送用户积分 通过手机号赠
+        giftIntegralDto.setLink(userDtos.get(0).getTel());
+        giftIntegralDto.setRemark("物业缴费赠送积分");
+
+        mallInnerServiceSMOImpl.sendUserIntegral(giftIntegralDto);
 
 
         //先加明细
-//        IntegralGiftDetailPo integralGiftDetailPo = new IntegralGiftDetailPo();
-//        integralGiftDetailPo.setCommunityId(giftIntegralDto.get());
-//        integralGiftDetailPo.setAcctId(accountDto.getAcctId());
-//        integralGiftDetailPo.setAcctName(accountDto.getAcctName());
-//        integralGiftDetailPo.setAcctDetailId("-1");
-//        integralGiftDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId("11"));
-//        integralGiftDetailPo.setConfigId(integralRuleConfigDto.getConfigId());
-//        integralGiftDetailPo.setConfigName(integralRuleConfigDto.getConfigName());
-//        integralGiftDetailPo.setRuleId(integralRuleConfigDto.getRuleId());
-//        integralGiftDetailPo.setRuleName(integralRuleConfigDto.getRuleName());
-//        integralGiftDetailPo.setQuantity(integralRuleConfigDto.getQuantity());
-//        integralGiftDetailPo.setCreateUserId(FeeAttrDto.getFeeAttrValue(feeDto, FeeAttrDto.SPEC_CD_OWNER_ID));
-//        integralGiftDetailPo.setUserName(FeeAttrDto.getFeeAttrValue(feeDto, FeeAttrDto.SPEC_CD_OWNER_NAME));
-//        integralGiftDetailPo.setTel(FeeAttrDto.getFeeAttrValue(feeDto, FeeAttrDto.SPEC_CD_OWNER_LINK));
-//        integralGiftDetailV1InnerServiceSMOImpl.saveIntegralGiftDetail(integralGiftDetailPo);
+        IntegralGiftDetailPo integralGiftDetailPo = new IntegralGiftDetailPo();
+        integralGiftDetailPo.setCommunityId(giftIntegralDto.getCommunityId());
+        integralGiftDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId("11"));
+        integralGiftDetailPo.setConfigId(giftIntegralDto.getConfigId());
+        integralGiftDetailPo.setConfigName(giftIntegralDto.getConfigName());
+        integralGiftDetailPo.setRuleId(giftIntegralDto.getRuleId());
+        integralGiftDetailPo.setRuleName(giftIntegralDto.getRuleName());
+        integralGiftDetailPo.setQuantity(giftIntegralDto.getIntegral()+"");
+        integralGiftDetailPo.setCreateUserId(giftIntegralDto.getUserId());
+        integralGiftDetailPo.setUserName(userDtos.get(0).getName());
+        integralGiftDetailPo.setTel(userDtos.get(0).getTel());
+        integralGiftDetailV1InnerServiceSMOImpl.saveIntegralGiftDetail(integralGiftDetailPo);
     }
 }

+ 19 - 4
service-acct/src/main/java/com/java110/acct/payment/adapt/wechat/WechatPaymentFactoryAdapt.java

@@ -2,6 +2,7 @@ package com.java110.acct.payment.adapt.wechat;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.acct.integral.IComputeGiftIntegral;
 import com.java110.acct.payment.IPaymentFactoryAdapt;
 import com.java110.core.client.RestTemplate;
 import com.java110.core.context.ICmdDataFlowContext;
@@ -70,8 +71,6 @@ public class WechatPaymentFactoryAdapt implements IPaymentFactoryAdapt {
     public static final String wxPayUnifiedOrder = "https://api.mch.weixin.qq.com/pay/unifiedorder";
 
 
-
-
     @Autowired
     private ISmallWechatV1InnerServiceSMO smallWechatV1InnerServiceSMOImpl;
 
@@ -95,6 +94,8 @@ public class WechatPaymentFactoryAdapt implements IPaymentFactoryAdapt {
     @Autowired
     private WechatIntegralShareAcct wechatIntegralShareAcct;
 
+    @Autowired
+    private IComputeGiftIntegral computeGiftIntegralImpl;
 
 
     @Override
@@ -206,6 +207,20 @@ public class WechatPaymentFactoryAdapt implements IPaymentFactoryAdapt {
 
         //String systemName = MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, WechatConstant.PAY_GOOD_NAME);
 
+        //todo 计算赠送积分
+        GiftIntegralDto giftIntegralDto = computeGiftIntegralImpl.gift(payAmount, Integer.parseInt(paymentOrderDto.getCycles()),
+                paymentPoolValueDtos.get(0).getCommunityId());
+
+        if (giftIntegralDto != null && giftIntegralDto.getMoney() > 0) {
+            paymentOrderDto.setIsShare("Y");
+            giftIntegralDto.setUserId(paymentOrderDto.getUserId());
+            paymentOrderDto.setGiftIntegralDto(giftIntegralDto);
+        }
+
+        //这里防止 小数点不是 2位 比如 3位之类的 微信平台不支持
+        payAmount = MoneyUtil.computePriceScale(payAmount, "1", 2);
+
+
 
         String mchId = PaymentPoolValueDto.getValue(paymentPoolValueDtos, "WECHAT_MCHID");
         String key = PaymentPoolValueDto.getValue(paymentPoolValueDtos, "WECHAT_KEY");
@@ -231,7 +246,9 @@ public class WechatPaymentFactoryAdapt implements IPaymentFactoryAdapt {
             paymentOrderDto.getGiftIntegralDto().setAppId(smallWeChatDto.getAppId());
             paymentOrderDto.getGiftIntegralDto().setMchId(mchId);
             paymentOrderDto.getGiftIntegralDto().setMchKey(key);
+            paymentOrderDto.getGiftIntegralDto().setUserId(paymentOrderDto.getUserId());
             paymentOrderDto.getGiftIntegralDto().setCertPath(getWechatCertPath(paymentPoolValueDtos.get(0).getPpId()));
+            paymentOrderDto.getGiftIntegralDto().setOrderId(paymentOrderDto.getOrderId());
             CommonCache.setValue("integral_share_acct_" + paymentOrderDto.getOrderId(), JSONObject.toJSONString(paymentOrderDto.getGiftIntegralDto()), CommonCache.PAY_DEFAULT_EXPIRE_TIME);
         }
 
@@ -400,8 +417,6 @@ public class WechatPaymentFactoryAdapt implements IPaymentFactoryAdapt {
     }
 
 
-
-
     private SmallWeChatDto getSmallWechat(JSONObject paramIn) {
 
         SmallWeChatDto smallWeChatDto = new SmallWeChatDto();

+ 3 - 11
service-acct/src/main/java/com/java110/acct/payment/business/payFee/PayFeePaymentBusiness.java

@@ -28,8 +28,7 @@ public class PayFeePaymentBusiness implements IPaymentBusiness {
     private final static Logger logger = LoggerFactory.getLogger(PayFeePaymentBusiness.class);
 
 
-    @Autowired
-    private IComputeGiftIntegral computeGiftIntegralImpl;
+
 
 
     @Override
@@ -42,22 +41,15 @@ public class PayFeePaymentBusiness implements IPaymentBusiness {
         String feeName = orderInfo.getString("feeName");
         double money = Double.parseDouble(orderInfo.getString("receivedAmount"));
 
-        GiftIntegralDto giftIntegralDto = computeGiftIntegralImpl.gift(money, reqJson.getIntValue("cycles"), reqJson.getString("communityId"));
 
-        //这里防止 小数点不是 2位 比如 3位之类的 微信平台不支持
-        money = MoneyUtil.computePriceScale(money, "1", 2);
 
 
         PaymentOrderDto paymentOrderDto = new PaymentOrderDto();
         paymentOrderDto.setOrderId(orderId);
         paymentOrderDto.setMoney(money);
         paymentOrderDto.setName(feeName);
-
-        if (giftIntegralDto != null && giftIntegralDto.getMoney() > 0) {
-            paymentOrderDto.setIsShare("Y");
-            giftIntegralDto.setUserId(userId);
-            paymentOrderDto.setGiftIntegralDto(giftIntegralDto);
-        }
+        paymentOrderDto.setUserId(userId);
+        paymentOrderDto.setCycles(reqJson.getString("cycles"));
 
 
         return paymentOrderDto;

+ 23 - 0
service-job/src/main/java/com/java110/job/smo/impl/MallInnerServiceSMOImpl.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.log.LoggerFactory;
 import com.java110.dto.MallDataDto;
+import com.java110.dto.integral.GiftIntegralDto;
 import com.java110.dto.user.UserDto;
 import com.java110.intf.job.IMallInnerServiceSMO;
 import com.java110.job.adapt.hcIot.IotConstant;
@@ -130,4 +131,26 @@ public class MallInnerServiceSMOImpl extends BaseServiceSMO implements IMallInne
         return Double.parseDouble(resultVo.getData().toString());
     }
 
+    @Override
+    public ResultVo sendUserIntegral(@RequestBody GiftIntegralDto giftIntegralDto) {
+        String mallSwitch = MappingCache.getValue(MALL_DOMAIN, "MALL_SWITCH");
+
+        if (!"ON".equals(mallSwitch)) {
+            return new ResultVo(ResultVo.CODE_OK, ResultVo.MSG_OK);
+        }
+
+
+        JSONObject paramIn = new JSONObject();
+        paramIn.put("link", giftIntegralDto.getLink());
+        paramIn.put("integral", giftIntegralDto.getIntegral());
+        paramIn.put("orderId", giftIntegralDto.getOrderId());
+
+        paramIn.put("remark", giftIntegralDto.getRemark());
+
+        paramIn.put("mallApiCode", "sendIntegralToUserBmoImpl");
+        ResultVo resultVo = sendMallImpl.post("/mall/api/common.openCommonApi", paramIn);
+
+        return resultVo;
+    }
+
 }