Commit 99563de4 by 陶光胜

Merge branch 'developer' of…

Merge branch 'developer' of http://115.159.76.241/base_platform_enterprise/gic-platform-enterprise into developer
parents 4d7be8d7 17623eff
......@@ -32,6 +32,23 @@ public enum MallModeEnum {
return false;
}
/**
* 与微盟code进行匹配 0 微盟微商城 1 微盟智慧零售
* @Title: mapToWm

* @Description:

* @author guojuxing
* @param code

* @return int


*/
public static int mapToWm(Integer code) {
if (code.intValue() == 1) {
return 0;
} else if (code.intValue() == 2) {
return 1;
}
return 0;
}
public int getCode() {
return code;
}
......
package com.gic.enterprise.dto;
import java.io.Serializable;
import java.util.Date;
/**
* tab_billing_sms_record
*/
public class BillingSmsRecordDTO {
public class BillingSmsRecordDTO implements Serializable {
/**
*
*/
private Integer smsRecordId;
private Long smsRecordId;
/**
*
......@@ -111,11 +112,11 @@ public class BillingSmsRecordDTO {
*/
private String storeGroupName;
public Integer getSmsRecordId() {
public Long getSmsRecordId() {
return smsRecordId;
}
public void setSmsRecordId(Integer smsRecordId) {
public void setSmsRecordId(Long smsRecordId) {
this.smsRecordId = smsRecordId;
}
......
......@@ -199,6 +199,11 @@
<artifactId>gic-data-api</artifactId>
<version>${gic-data-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-weimob-api</artifactId>
<version>${gic-weimob-api}</version>
</dependency>
</dependencies>
<build>
......
......@@ -107,8 +107,8 @@ public class BillingOrderController {
}
@RequestMapping("/list-sms-package-record")
public RestResponse listSmsPackageRecord(String search, String startDate, String endDate, Integer smsPackageId, int pageNum, int pageSize) {
ServiceResponse<Page<BillingSmsRecordDTO>> resp = billingSmsRecordApiService.pageSmspackageRecord(search, startDate, endDate, smsPackageId, pageNum, pageSize);
public RestResponse listSmsPackageRecord(String search, String startDate, String endDate, Integer smsPackageId, int currentPage, int pageSize) {
ServiceResponse<Page<BillingSmsRecordDTO>> resp = billingSmsRecordApiService.pageSmspackageRecord(search, startDate, endDate, smsPackageId, currentPage, pageSize);
return ResultControllerUtils.commonResult(resp);
}
......
package com.gic.enterprise.web.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.dto.BillingPayInfoDTO;
import com.gic.enterprise.utils.UserDetail;
import com.gic.finance.dto.TransferAccountsApprovalDTO;
import com.gic.finance.service.TransferAccountsApprovalApiService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -49,6 +59,8 @@ public class BillingPayInfoController {
private InvoiceManageApiService invoiceManageApiService;
@Autowired
private BizdictService bizdictService;
@Autowired
private TransferAccountsApprovalApiService transferAccountsApprovalApiService;
@RequestMapping("/bank-info")
public RestResponse bankInfo() {
......@@ -75,7 +87,39 @@ public class BillingPayInfoController {
@RequestMapping("/list-bill")
public RestResponse listBill(BillListQueryQO params) {
params.setEnterpriseId(UserDetailUtils.getUserDetail().getEnterpriseId());
return ResultControllerUtils.commonPageResult(billingPayInfoApiService.listBill(params), BillListVO.class);
ServiceResponse<Page<BillingPayInfoDTO>> payInfoResponse = billingPayInfoApiService.listBill(params);
if (payInfoResponse.isSuccess()) {
Page<BillingPayInfoDTO> page = payInfoResponse.getResult();
if (page != null) {
List<BillingPayInfoDTO> list = page.getResult();
if (CollectionUtils.isNotEmpty(list)) {
//银行对公转账,需要查询坏账金额
List<String> orderSerialNumberList = list.stream()
.filter(e -> e.getPayType() == 3)
.map(e -> e.getOrderSerialNumber()).collect(Collectors.toList());
final Map<String, Object> badMoneyMap;
ServiceResponse<List<TransferAccountsApprovalDTO>> approvalResponse = transferAccountsApprovalApiService
.listByOrderSerialNumber(orderSerialNumberList);
if (approvalResponse.isSuccess()) {
badMoneyMap = approvalResponse.getResult().stream()
.collect(Collectors.toMap(TransferAccountsApprovalDTO::getOrderNumber, TransferAccountsApprovalDTO::getBadAmount));
} else {
badMoneyMap = new HashMap<>(2);
}
Page<BillListVO> resultPage = EntityUtil.changeEntityNew(Page.class, page);
List<BillListVO> voList = list.stream()
.map(e -> {
BillListVO vo = EntityUtil.changeEntityNew(BillListVO.class, e);
vo.setBadAmount((Double) badMoneyMap.get(e.getOrderSerialNumber()));
return vo;
})
.collect(Collectors.toList());
resultPage.setResult(voList);
return RestResponse.success(resultPage);
}
}
}
return RestResponse.failure(payInfoResponse.getCode(), payInfoResponse.getMessage());
}
@RequestMapping("/list-pay-type")
......
package com.gic.enterprise.web.controller.wm;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -7,16 +9,24 @@ import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.alibaba.fastjson.JSON;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.GlobalVar;
import com.gic.commons.web.ResponseThreadLocal;
import com.gic.enterprise.web.utils.DomainUtils;
import com.gic.enterprise.web.vo.MemberCardVO;
import com.gic.enterprise.web.vo.wm.MemberGradeVO;
import com.gic.enterprise.web.vo.wm.WmStoreDetailVO;
import com.gic.enterprise.web.vo.wm.WmStoreVO;
import com.gic.member.config.api.service.MemberCardApiService;
import com.gic.weimob.api.service.WeimobMerchantService;
import com.gic.weimob.api.service.WeimobStoreSiteService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.gic.api.base.commons.ServiceResponse;
......@@ -39,11 +49,24 @@ public class WmMallStoreController {
private WmStoreApiService wmStoreApiService;
@Autowired
private MemberCardApiService memberCardApiService;
@Autowired
private WeimobStoreSiteService weimobStoreSiteService;
@Autowired
private WeimobMerchantService weimobMerchantService;
@RequestMapping("/save-wm-store")
public RestResponse save(WmStoreDTO dto) {
dto.setEnterpriseId(UserDetailUtils.getUserDetail().getEnterpriseId());
return OperationResultUtils.operationResult(wmStoreApiService.saveWmStore(dto),
ServiceResponse<Integer> result = wmStoreApiService.saveWmStore(dto);
if (result.isSuccess()) {
//创建微盟gic关联
ServiceResponse<Void> saveStoreInfo = weimobMerchantService
.saveStoreInfo(result.getResult(), dto.getEnterpriseId(),
dto.getWmMainAccount(), Long.valueOf(dto.getWmPid()), Long.valueOf(dto.getWmStoreId()),
MallModeEnum.mapToWm(dto.getMallMode()));
LOGGER.info("微盟商城店铺-微盟结果:{}", JSON.toJSONString(saveStoreInfo));
}
return OperationResultUtils.operationResult(result,
OperationResultUtils.LOG_NEW + "微盟商城店铺", dto.getWmPidName());
}
......@@ -96,7 +119,7 @@ public class WmMallStoreController {
}
/**
* 授权
* 获取授权链接
* @Title: authWmStore

* @Description:

* @author guojuxing
......@@ -105,9 +128,85 @@ public class WmMallStoreController {

*/
@RequestMapping("/get-auth-url")
public RestResponse getAuthUrl(Integer wmMallStoreId) {
ServiceResponse<String> result = wmStoreApiService.authWmStore(wmMallStoreId);
//todo
return RestResponse.success("http://baidu.com");
//
ServiceResponse<String> response = weimobMerchantService.getAuthUrl();
if (response.isSuccess()) {
String authUrl = response.getResult();
String mainHost = DomainUtils.getCurrentDomain() + "/wm-mall-store/auth-callback?wmMallStoreId=" + wmMallStoreId;
return RestResponse.success(authUrl + "&redirect_uri=" + mainHost);
} else {
return RestResponse.failure(response.getCode(), response.getMessage());
}
}
/**
* 同步会员等级到微盟
* @Title: syncMemberGradeToWm

* @Description:

* @author guojuxing
* @param memberCardId
* @param wmMallStoreId

* @return com.gic.commons.webapi.reponse.RestResponse


*/
@RequestMapping("/sync-member-grade-to-wm")
public RestResponse syncMemberGradeToWm(String memberCardId, Integer wmMallStoreId) {
ServiceResponse<Void> syncMemberCardResponse = weimobMerchantService
.saveWmMallStoreIdAndMcuAreaId(wmMallStoreId, Long.valueOf(memberCardId));
ServiceResponse<Void> syncMemberGradeResponse = weimobMerchantService
.saveOrUpdateCardGradeSetting(wmMallStoreId, Long.valueOf(memberCardId));
LOGGER.info("同步会员等级-会员卡结果:{}", JSON.toJSONString(syncMemberCardResponse));
LOGGER.info("同步会员等级-会员卡等级结果:{}", JSON.toJSONString(syncMemberGradeResponse));
return RestResponse.success();
}
/**
* 获取会员卡已同步接口
* @Title: listMemberGrade

* @Description:

* @author guojuxing
* @param wmMallStoreId

* @return com.gic.commons.webapi.reponse.RestResponse


*/
@RequestMapping("/list-member-grade")
public RestResponse listMemberGrade(Integer wmMallStoreId) {
return ResultControllerUtils.commonResult(weimobMerchantService.getGradeList(wmMallStoreId), MemberGradeVO.class);
}
/**
* 获取微盟卡券列表
* @Title: listWmCoupom

* @Description:

* @author guojuxing
* @param wmMainAccount

* @return com.gic.commons.webapi.reponse.RestResponse


*/
@RequestMapping("/list-wm-coupon")
public RestResponse listWmCoupom(String wmMainAccount) {
//todo getWeimobCouponTemplate
return RestResponse.success();
}
/**
* 授权回调
* @param code
*/
@RequestMapping("auth-callback")
@ResponseBody
public void authCallBack(String code, Integer wmMallStoreId) throws IOException {
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
try {
ServiceResponse<Void> authWmResponse = weimobMerchantService.weimobStoreAuth(enterpriseId, code);
LOGGER.info("微盟中间件返回结果:{}", JSON.toJSONString(authWmResponse));
if (authWmResponse.isSuccess()) {
//更新gic侧店铺授权状态
ServiceResponse<String> wmMallStoreResponse = wmStoreApiService.authWmStore(wmMallStoreId);
if (!wmMallStoreResponse.isSuccess()) {
LOGGER.warn("企业侧微盟店铺授权结果:{}", JSON.toJSONString(wmMallStoreResponse));
}
}
} catch (Exception e) {
LOGGER.warn("微盟授权返回结果:{}", e.getMessage(), e);
}
}
@RequestMapping("/list-mall-mode")
......
package com.gic.enterprise.web.utils;
import com.ctrip.framework.apollo.Config;
import com.ctrip.framework.apollo.ConfigService;
public class DomainUtils {
/**
* 获取当前环境的域名
* @Title: getCurrentDomain

* @Description:

* @author guojuxing 

* @return java.lang.String


*/
public static String getCurrentDomain() {
Config config = ConfigService.getConfig("COMMON.4.0-gic-properties");
String url = config.getProperty("service_host", "").replace("/gic", "");
return url;
}
}
......@@ -52,6 +52,11 @@ public class BillListVO implements Serializable{
*/
private String buyTypeStr;
/**
* 坏账金额
*/
private Double badAmount;
public String getSerialNumber() {
return serialNumber;
}
......@@ -101,4 +106,13 @@ public class BillListVO implements Serializable{
}
return null;
}
public Double getBadAmount() {
return badAmount;
}
public BillListVO setBadAmount(Double badAmount) {
this.badAmount = badAmount;
return this;
}
}
package com.gic.enterprise.web.vo.wm;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
public class MemberGradeVO implements Serializable{
private static final long serialVersionUID = -4371810311919948562L;
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long gradeId;
private String gradeName;
private String gradeCode;
public Long getGradeId() {
return gradeId;
}
public MemberGradeVO setGradeId(Long gradeId) {
this.gradeId = gradeId;
return this;
}
public String getGradeName() {
return gradeName;
}
public MemberGradeVO setGradeName(String gradeName) {
this.gradeName = gradeName;
return this;
}
public String getGradeCode() {
return gradeCode;
}
public MemberGradeVO setGradeCode(String gradeCode) {
this.gradeCode = gradeCode;
return this;
}
}
......@@ -124,4 +124,7 @@
<dubbo:reference interface="com.gic.auth.service.ResourceApiService" id="resourceApiService" timeout="6000"/>
<dubbo:reference interface="com.gic.data.api.service.MemberDataApiService" id="memberDataApiService" timeout="6000"/>
<dubbo:reference interface="com.gic.member.config.api.service.MemberCardApiService" id="memberCardApiService" timeout="6000"/>
<dubbo:reference interface="com.gic.weimob.api.service.WeimobStoreSiteService" id="weimobStoreSiteService" timeout="6000"/>
<dubbo:reference interface="com.gic.weimob.api.service.WeimobMerchantService" id="weimobMerchantService" timeout="6000"/>
</beans>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment