Commit 5fbbeca4 by 陶光胜

Merge branch 'developer' into 'master'

Developer

See merge request !14
parents 31f2c01f 8a3b0f4e
package com.gic.enterprise.dto.wm;
import java.io.Serializable;
/**
* 小程序和企业查询的微盟店铺信息
* @ClassName: WmCouponPackageDTO

* @Description: 

* @author guojuxing

* @date 2020/6/10 11:02 AM

*/
public class WmCouponPackageDTO implements Serializable{
private static final long serialVersionUID = 5877924777936796488L;
/**
* 店铺主键ID
*/
private Integer wmMallStoreId;
/**
* 微盟pid
*/
private Long pid;
/**
* 微盟主账号
*/
private String wmMainAccount;
public Integer getWmMallStoreId() {
return wmMallStoreId;
}
public WmCouponPackageDTO setWmMallStoreId(Integer wmMallStoreId) {
this.wmMallStoreId = wmMallStoreId;
return this;
}
public Long getPid() {
return pid;
}
public WmCouponPackageDTO setPid(Long pid) {
this.pid = pid;
return this;
}
public String getWmMainAccount() {
return wmMainAccount;
}
public WmCouponPackageDTO setWmMainAccount(String wmMainAccount) {
this.wmMainAccount = wmMainAccount;
return this;
}
}
......@@ -5,10 +5,7 @@ import com.gic.api.base.commons.ServiceResponse;
import com.gic.enterprise.dto.WmMemberCardConfigDTO;
import com.gic.enterprise.dto.WmOrderConfigDTO;
import com.gic.enterprise.dto.WmStoreDTO;
import com.gic.enterprise.dto.wm.WmCouponDTO;
import com.gic.enterprise.dto.wm.WmGoodsConfigDTO;
import com.gic.enterprise.dto.wm.WmStoreConfigDTO;
import com.gic.enterprise.dto.wm.WmStoreCouponConfigDTO;
import com.gic.enterprise.dto.wm.*;
import com.gic.enterprise.qo.wm.CouponConfigQO;
import java.util.List;
......@@ -99,6 +96,17 @@ public interface WmStoreApiService {
ServiceResponse<WmGoodsConfigDTO> getGoodsConfig(Integer wmMallStoreId);
/**
* 会员卡域ID和企业查询的微盟店铺信息
* @Title: getWmListByAppId

* @Description:

* @author guojuxing
* @param enterpriseId 商户ID
* @param memberCardAreaIdList
会员卡域ID
* @return com.gic.api.base.commons.ServiceResponse<java.util.List<com.gic.enterprise.dto.wm.WmCouponPackageDTO>>


*/
ServiceResponse<List<WmCouponPackageDTO>> getWmListByMemberCardAreaId(Integer enterpriseId, List<Long> memberCardAreaIdList);
/**
* 根据微盟主账号查询配置
* @Title: getWmStoreConfig

* @Description:
......
......@@ -196,6 +196,11 @@
<artifactId>gic-thirdparty-sdk</artifactId>
<version>${gic-thirdparty-sdk}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-weimob-api</artifactId>
<version>${gic-weimob-api}</version>
</dependency>
</dependencies>
<build>
......
......@@ -67,7 +67,7 @@ public interface TabWmStoreMapper {
int countByStoreName(@Param("storeName") String storeName, @Param("wmMallStoreId") Integer wmMallStoreId, @Param("enterpriseId") Integer enterpriseId);
List<TabWmStore> listWmStore(Integer enterpriseId);
List<TabWmStore> listWmStore(@Param("enterpriseId") Integer enterpriseId, @Param("appId") String appId, @Param("authStatus") Integer authStatus);
TabWmStore getByWmMainAccount(String wmMainAccount);
}
\ No newline at end of file
......@@ -61,4 +61,11 @@ public interface WmStoreService {
TabWmStore getByWmMainAccount(String wmMainAccount);
List<TabWmStore> listWmStore(Integer enterpriseId);
/**
* 已授权店铺
* @param enterpriseId
* @return
*/
List<TabWmStore> getHasAuth(Integer enterpriseId);
}
......@@ -65,6 +65,11 @@ public class WmStoreServiceImpl implements WmStoreService{
@Override
public List<TabWmStore> listWmStore(Integer enterpriseId) {
return tabWmStoreMapper.listWmStore(enterpriseId);
return tabWmStoreMapper.listWmStore(enterpriseId, null, null);
}
@Override
public List<TabWmStore> getHasAuth(Integer enterpriseId) {
return tabWmStoreMapper.listWmStore(enterpriseId, null, 1);
}
}
package com.gic.enterprise.service.outer.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
import com.gic.enterprise.dto.wm.WmGoodsConfigDTO;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.dto.wm.*;
import com.gic.enterprise.entity.TabWmStoreSyncLog;
import com.gic.enterprise.service.*;
import com.gic.weimob.api.service.WeimobMerchantService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -25,9 +24,6 @@ import com.gic.enterprise.constant.WmStoreConfigTypeEnum;
import com.gic.enterprise.dto.WmMemberCardConfigDTO;
import com.gic.enterprise.dto.WmOrderConfigDTO;
import com.gic.enterprise.dto.WmStoreDTO;
import com.gic.enterprise.dto.wm.WmCouponDTO;
import com.gic.enterprise.dto.wm.WmStoreConfigDTO;
import com.gic.enterprise.dto.wm.WmStoreCouponConfigDTO;
import com.gic.enterprise.entity.TabWmStore;
import com.gic.enterprise.entity.TabWmStoreConfig;
import com.gic.enterprise.entity.TabWmStoreCouponConfig;
......@@ -44,6 +40,8 @@ public class WmStoreApiServiceImpl implements WmStoreApiService {
private WmStoreCouponConfigService wmStoreCouponConfigService;
@Autowired
private WmStoreSyncLogService wmStoreSyncLogService;
@Autowired
private WeimobMerchantService weimobMerchantService;
@Override
public ServiceResponse<Integer> saveWmStore(WmStoreDTO wmStoreDTO) {
......@@ -143,6 +141,52 @@ public class WmStoreApiServiceImpl implements WmStoreApiService {
return ServiceResponse.failure(result.getCode(), result.getMessage());
}
@Override
public ServiceResponse<List<WmCouponPackageDTO>> getWmListByMemberCardAreaId(Integer enterpriseId, List<Long> memberCardAreaIdList) {
if (CollectionUtils.isEmpty(memberCardAreaIdList)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "会员卡域ID为空");
}
Set<String> memberCard = memberCardAreaIdList
.stream()
.filter(e -> e != null)
.map(e -> e.toString())
.collect(Collectors.toSet());
List<TabWmStore> list = wmStoreService.getHasAuth(enterpriseId);
if (CollectionUtils.isNotEmpty(list)) {
return ServiceResponse.success(list
.stream()
.filter(e -> {
//卡券配置是卡券包的店铺
ServiceResponse<TabWmStoreConfig> result = getWmConfig(e.getWmMallStoreId(), WmStoreConfigTypeEnum.COUPON_CONFIG);
if (result.isSuccess()) {
if ("2".equals(JSON.parseObject(result.getResult().getStoreConfigJson()).getString("couponMode"))) {
//
if (memberCard.contains(getMemberCardArea(e.getWmMallStoreId()))) {
return true;
}
}
}
return false;
})
.map(e -> new WmCouponPackageDTO()
.setPid(Long.valueOf(e.getWmPid()))
.setWmMainAccount(e.getWmMainAccount())
.setWmMallStoreId(e.getWmMallStoreId()))
.collect(Collectors.toList()));
}
return ServiceResponse.success(Collections.emptyList());
}
private String getMemberCardArea(Integer wmMallStoreId) {
ServiceResponse<Long> result = weimobMerchantService.getMcuAreaId(wmMallStoreId);
if (result.isSuccess()) {
if (result.getResult() != null) {
return result.getResult().toString();
}
}
return null;
}
private ServiceResponse<TabWmStoreConfig> getWmConfig(Integer wmMallStoreId, WmStoreConfigTypeEnum typeEnum) {
TabWmStore record = wmStoreService.getByWmMallStoreId(wmMallStoreId);
if (record == null) {
......
......@@ -140,4 +140,6 @@
<dubbo:reference interface="com.gic.member.api.service.UserOwnerApiService" id="userOwnerApiService" timeout="60000" />
<dubbo:reference interface="com.gic.marketing.process.api.service.sms.SmsSendApiService" id="smsSendApiService" timeout="60000" />
<dubbo:reference interface="com.gic.wechat.business.api.service.wxa.WeixinWxaFunService" id="weixinWxaFunService" timeout="60000" />
<dubbo:reference interface="com.gic.weimob.api.service.WeimobMerchantService" id="weimobMerchantService" timeout="6000"/>
</beans>
......@@ -236,6 +236,12 @@
from tab_wm_store
where enterprise_id = #{enterpriseId}
and status = 1
<if test="appId != null and appId != '' ">
and wm_appid = #{appId}
</if>
<if test="authStatus != null">
and auth_status = #{authStatus}
</if>
</select>
<select id="getByWmMainAccount" resultMap="BaseResultMap">
......
......@@ -45,6 +45,8 @@ import com.gic.marketing.api.dto.coupon.CouponDTO;
import com.gic.marketing.api.service.coupon.MemberCouponApiService;
import com.gic.member.config.api.service.MemberCardApiService;
import javax.servlet.http.HttpServletResponse;
@RestController
@RequestMapping("/wm-mall-store")
public class WmMallStoreController {
......@@ -233,7 +235,7 @@ public class WmMallStoreController {
public RestResponse listCouponLog(String gicCouponId, Integer sendType,
@RequestParam(defaultValue = "1") int currentPage,
@RequestParam(defaultValue = "20") int pageSize, String searchStr) {
return ResultControllerUtils.commonResult(weimobMerchantService
return ResultControllerUtils.commonPageResult(weimobMerchantService
.getCouponLogs(Long.valueOf(gicCouponId), sendType, currentPage, pageSize, searchStr), WeimobCouponErLogVO.class);
}
......@@ -419,7 +421,7 @@ public class WmMallStoreController {
* @param code
*/
@RequestMapping("auth-callback")
public RestResponse authCallBack(String code, Integer state) throws IOException {
public RestResponse authCallBack(HttpServletResponse response, String code, Integer state) throws IOException {
try {
ServiceResponse<Void> authWmResponse = weimobMerchantService.weimobStoreAuth(state, code);
LOGGER.info("微盟中间件返回结果:{}", JSON.toJSONString(authWmResponse));
......@@ -429,6 +431,9 @@ public class WmMallStoreController {
if (!wmMallStoreResponse.isSuccess()) {
LOGGER.warn("企业侧微盟店铺授权结果:{}", JSON.toJSONString(wmMallStoreResponse));
}
//重定向
response.setStatus(302);
response.setHeader("location", DomainUtils.getCurrentDomain() + "/weimo/auth-result.html");
return RestResponse.success();
}
return RestResponse.failure(ErrorCode.SYSTEM_ERROR.getCode(), authWmResponse.getMessage());
......
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