소스 검색

Merge branch 'dev' of wangzhinan/wlyy2.0 into dev

trick9191 6 년 전
부모
커밋
ed808d9df2

+ 3 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/CreditsDetailDO.java

@ -332,10 +332,13 @@ public class CreditsDetailDO extends UuidIdentityEntityWithOperator implements S
        this.exchangeGoodsDO = exchangeGoodsDO;
    }
    @Transient
    public String getUploadTime() {
        return uploadTime;
    }
    public void setUploadTime(String uploadTime) {
        this.uploadTime = uploadTime;
    }

+ 1 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/health/bank/HealthBankMapping.java

@ -74,5 +74,6 @@ public class HealthBankMapping {
        public static final String selectTaskAndPatients = "/selectTaskAndPatients";
        public static final String shareIntegrate = "/shareIntegrate";
        public static final String payIntegrate = "/payIntegrate";
        public static final String refund="/refund";
    }
}

+ 20 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/CreditsDetailController.java

@ -379,4 +379,24 @@ public class CreditsDetailController extends EnvelopRestEndpoint {
    }
    /**
     * 商城退款
     * @param orders
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.refund)
    @ApiOperation(value = "商城退款")
    public MixEnvelop<CreditsDetailDO, CreditsDetailDO> refund(@ApiParam(name = "orders",value = "订单集合")
                                                                     @RequestParam(value = "orders",required = false)String orders){
        try {
            JSONArray array = JSONArray.parseArray(orders);
            return service.refundIntegrate(array);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return MixEnvelop.getError(e.getMessage());
        }
    }
}

+ 4 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/dao/CredittsLogDetailDao.java

@ -1,11 +1,15 @@
package com.yihu.jw.dao;
import com.yihu.jw.entity.health.bank.AccountDO;
import com.yihu.jw.entity.health.bank.CreditsDetailDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by wang zhinan on 2018/4/27.
 */
public interface CredittsLogDetailDao extends PagingAndSortingRepository<CreditsDetailDO,String>,JpaSpecificationExecutor<CreditsDetailDO>{
    @Query("select t from CreditsDetailDO t where t.transactionId=?1 and t.tradeType=?2 and t.status=1")
    CreditsDetailDO selectByTransactionId(String transactionId,String tradeType);
}

+ 30 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/CreditsDetailService.java

@ -1395,4 +1395,34 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
    }
    public MixEnvelop<CreditsDetailDO,CreditsDetailDO> refundIntegrate(JSONArray array) throws Exception {
        MixEnvelop<CreditsDetailDO, CreditsDetailDO> envelop = new MixEnvelop<>();
        for (int i=0;i<array.size();i++){
            JSONObject object = array.getJSONObject(i);
            CreditsDetailDO creditsDetailDO1 = credittsLogDetailDao.selectByTransactionId(object.getString("orderId"),"SHOPPING_PAY");
            CreditsDetailDO creditsDetailDO = new CreditsDetailDO();
            creditsDetailDO.setPatientId(creditsDetailDO1.getPatientId());
            creditsDetailDO.setAccountId(creditsDetailDO1.getAccountId());
            creditsDetailDO.setHospital(creditsDetailDO1.getHospital());
            creditsDetailDO.setTradeType("REFUND");
            creditsDetailDO.setTradeDirection(1);
            creditsDetailDO.setTransactionId(object.getString("orderId"));
            creditsDetailDO.setIntegrate(object.getDouble("integrate").intValue());
            creditsDetailDO.setCreateTime(new Date());
            creditsDetailDO.setUpdateTime(new Date());
            creditsDetailDO.setHospitalName(creditsDetailDO1.getHospitalName());
            creditsDetailDO.setSaasId("dev");
            creditsDetailDO.setId(getCode());
            creditsDetailDO.setCoupon(0);
            creditsDetailDO.setStatus(1);
            credittsLogDetailDao.save(creditsDetailDO);
            AccountDO accountDO = accountDao.selectByPatientId(creditsDetailDO1.getPatientId());
            accountDO.setTotal(accountDO.getTotal()+object.getDouble("integrate").intValue());
            accountDao.save(accountDO);
        }
        return envelop;
    }
}