Parcourir la source

Merge branch 'release_toaliyun_real_202211' of https://git.malls.iformall.com/server/formallProject into release_toaliyun_real_202211

release_toaliyun_real
xhxu il y a 3 ans
Parent
révision
8dc380c654
16 fichiers modifiés avec 152 ajouts et 42 suppressions
  1. +18
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java
  2. +24
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java
  3. +2
    -1
      mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java
  4. +1
    -1
      mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java
  5. +10
    -6
      mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java
  6. +3
    -2
      mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java
  7. +6
    -2
      mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java
  8. +24
    -6
      mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java
  9. +1
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCouponMallMapper.java
  10. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java
  11. +3
    -2
      mallinkService/src/main/java/com/iformall/service/WxCouponMallService.java
  12. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxCouponService.java
  13. +24
    -6
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponMallServiceImpl.java
  14. +24
    -11
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java
  15. +5
    -0
      mallinkService/src/main/resources/mapper/WxCouponMallMapper.xml
  16. +4
    -0
      mallinkService/src/main/resources/mapper/WxCouponMapper.xml

+ 18
- 0
mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java Voir le fichier

@@ -118,6 +118,24 @@ public class WxProjectConfigController extends BaseController {
//
// }

@ApiOperation("查询商场集团列表")
@GetMapping(value = "/childMallList")
@SystemControllerLog(description = "商场基础数据")
@TenantIgnore
public ResultData childMallList(@ModelAttribute WxMall wxMall, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxProjectConfigController::getMallList");
try {
if(wxMall == null){
wxMall = new WxMall();
}
wxMall.setParentTenantId(this.getTenantInfo().getTenantId());
PageInfo<WxMall> page = wxMallService.listAsPage(wxMall, pageNum, pageSize);
return new ResultData(page);
}catch (Exception e){
logger.error(e.getMessage(),e);
return new ResultData(ErrorCode.SYS_SERVER_ERROR);
}
}

@ApiOperation("查询商场集团列表")
@GetMapping(value = "/mallList")


+ 24
- 4
mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java Voir le fichier

@@ -84,8 +84,22 @@ public class WxCouponController extends BaseController {
public ResultData parentCouponList(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize,Boolean isList) {
logger.debug("[" + getIpAddr() + "] WxCouponController::list");
if (wxCoupon == null) wxCoupon = new WxCoupon();
wxCoupon.setTenantId(getTenantInfo().getParentTenantId());
TenantEntity mallTenantEntity = getTenantInfo();
wxCoupon.setTenantId(mallTenantEntity.getParentTenantId());
wxCoupon.setParentTenantId(null);
//平台券
if (EnumCouponType.COUPON_DOUYIN_PLAT.getCode() == wxCoupon.getType()) {
//查询已经分配了的parentCouponList
WxCouponMall couponMall = new WxCouponMall();
couponMall.updateTenantInfo(wxCoupon);
couponMall.setMallTenantId(mallTenantEntity.getTenantId());
List<Long> couponIds = wxCouponMallService.listCouponIds(couponMall);
if (null != couponIds && couponIds.size() > 0 ) {
wxCoupon.setIds(couponIds);
}else {
wxCoupon.setId(-1L);
}
}
return couponList(wxCoupon, pageNum, pageSize, isList);
}
@@ -407,7 +421,8 @@ public class WxCouponController extends BaseController {
@SystemControllerLog(description = "券投放-查询")
public ResultData findById(@RequestParam Long id) {
logger.debug("[" + getIpAddr() + "] WxCouponController::findById");
return new ResultData(wxCouponService.getVoById(id,getTenantInfo().getTenantId()));
TenantEntity tenantEntity = getTenantInfo();
return new ResultData(wxCouponService.getVoById(id,tenantEntity.getTenantId(),tenantEntity));
}
@TenantIgnore
@@ -417,7 +432,8 @@ public class WxCouponController extends BaseController {
@SystemControllerLog(description = "券投放-查询")
public ResultData findParentCouponById(@RequestParam Long id) {
logger.debug("[" + getIpAddr() + "] WxCouponController::findById");
return new ResultData(wxCouponService.getVoById(id,getTenantInfo().getParentTenantId()));
TenantEntity tenantEntity = getTenantInfo();
return new ResultData(wxCouponService.getVoById(id,getTenantInfo().getParentTenantId(),tenantEntity));
}

@TenantIgnore
@@ -599,6 +615,7 @@ public class WxCouponController extends BaseController {
return new ResultData(wxCouponMallService.list(wxCouponMall,true));
}
@TenantIgnore
@ApiOperation("平台券商场列表")
@GetMapping("/getCouponMall")
@ApiImplicitParams({
@@ -636,6 +653,7 @@ public class WxCouponController extends BaseController {
}
}
@TenantIgnore
@ApiOperation("商场设置平台券商户")
@PostMapping("/setParentCouponMerchants")
public ResultData setMallMerchants(@RequestBody WxCoupon wxCoupon) {
@@ -676,6 +694,7 @@ public class WxCouponController extends BaseController {
}
@TenantIgnore
@ApiOperation("商场设置平台券已完成")
@PostMapping("/setPlatCouponFinished")
public ResultData setPlatCouponFinished(@RequestBody WxCoupon wxCoupon) {
@@ -694,7 +713,8 @@ public class WxCouponController extends BaseController {
}
@ApiOperation("商场设置平台券已完成")
@TenantIgnore
@ApiOperation("商场设置平台券未完成")
@PostMapping("/setPlatCouponUnFinished")
public ResultData setPlatCouponUnFinished(@RequestBody WxCoupon wxCoupon) {
try {


+ 2
- 1
mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java Voir le fichier

@@ -383,7 +383,8 @@ public class WxCouponController extends BaseController {
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData findById(@RequestParam Long id) {
logger.debug("[" + getIpAddr() + "] WxCouponController::findById");
return new ResultData(wxCouponService.getVoById(id,getTenantInfo().getTenantId()));
TenantEntity tenantEntity = getTenantInfo();
return new ResultData(wxCouponService.getVoById(id,tenantEntity.getTenantId(),tenantEntity));
}




+ 1
- 1
mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java Voir le fichier

@@ -210,7 +210,7 @@ public class WxCouponOrderController extends BaseController {
return new ResultData(ErrorCode.COUPON_IS_EMPTY);
}
} else {
wxCouponCVo = wxCouponService.getVoById(wxCouponOrderCVo.getCouponId(),wxMerchantBUser.getTenantId());
wxCouponCVo = wxCouponService.getVoById(wxCouponOrderCVo.getCouponId(),wxMerchantBUser.getTenantId(),wxMerchantBUser);
if (wxCouponCVo == null) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY);
}


+ 10
- 6
mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java Voir le fichier

@@ -11,6 +11,7 @@ import java.util.stream.Collectors;

import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxMiniappThemeValue;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumCouponType;
import com.iformall.enums.EnumMerchantStatus;
import com.iformall.utils.*;
@@ -72,12 +73,14 @@ public class WxCouponController extends BaseController {
@ApiOperation("根据id(couponChannel)查询详情接口")
@GetMapping("/couponDetail")
@ApiImplicitParams({
@ApiImplicitParam(name = "couponChannelId", value = "couponChannelId", dataType = "String", paramType = "query", required = true)})
@ApiImplicitParam(name = "couponChannelId", value = "couponChannelId", dataType = "String", paramType = "query", required = true),
@ApiImplicitParam(name = "mallTenantId", value = "mallTenantId", dataType = "String", paramType = "query", required = false)})
public ResultData couponDetail(String couponChannelId) {
if ((StringUtils.isBlank(couponChannelId) || couponChannelId.equalsIgnoreCase(Constant.UNDEFINED))
) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponChannelId为空");
}
Long couponChannelIdL = 0L;

try {
@@ -391,7 +394,8 @@ public class WxCouponController extends BaseController {
//WxCouponCVo wxCouponCVo = wxCouponChannelService.findDetailVo(couponChannelIdL);
WxCouponCVo wxCouponCVo = null;
try {
wxCouponCVo = generateWxCouponCVoex(couponChannelIdL,couponIdL,getTenantInfo().getTenantId());
TenantEntity tenantEntity = getTenantInfo();
wxCouponCVo = generateWxCouponCVoex(couponChannelIdL,couponIdL,tenantEntity.getTenantId(),tenantEntity);
} catch (IllegalAccessException e) {
logger.error("coupon detail fail,copyproperties error" + couponChannelId,e);
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "coupon detail fail,copyproperties error" + couponChannelId);
@@ -527,13 +531,13 @@ public class WxCouponController extends BaseController {
}

private WxCouponCVo generateWxCouponCVoex(Long couponChannelIdL,Long couponIdL,String tenantId) throws IllegalAccessException, InvocationTargetException {
private WxCouponCVo generateWxCouponCVoex(Long couponChannelIdL,Long couponIdL,String couponTenantId,TenantEntity mallTenantEntity) throws IllegalAccessException, InvocationTargetException {
if(couponChannelIdL > 0l){
WxCouponChannel cc = wxCouponChannelService.getById(couponChannelIdL,tenantId);
WxCouponChannel cc = wxCouponChannelService.getById(couponChannelIdL,couponTenantId);
if(cc == null){
return null;
}
WxCouponCVo wxcv = couponService.getVoById(cc.getCouponId(),tenantId);
WxCouponCVo wxcv = couponService.getVoById(cc.getCouponId(),couponTenantId,mallTenantEntity);
if(wxcv == null){
return null;
}
@@ -552,7 +556,7 @@ public class WxCouponController extends BaseController {
wxcv.setTtSpuId(cc.getTtSpuId());
return wxcv;
}else if(couponIdL > 0l){
WxCouponCVo wxcv = couponService.getVoById(couponIdL,tenantId);
WxCouponCVo wxcv = couponService.getVoById(couponIdL,couponTenantId,mallTenantEntity);
return wxcv;
}
return null;


+ 3
- 2
mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java Voir le fichier

@@ -119,7 +119,8 @@ public class WxCouponOrderController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}

WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderService.simpleDetailCUserVo(couponOrderId,getTenantInfo());
TenantEntity tenantEntity = getTenantInfo();
WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderService.simpleDetailCUserVo(couponOrderId,tenantEntity);
if (wxCouponOrderCVo == null) {
return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL);
}
@@ -144,7 +145,7 @@ public class WxCouponOrderController extends BaseController {
return new ResultData(ErrorCode.COUPON_IS_EMPTY);
}
} else {
wxCouponCVo = wxCouponService.getVoById(wxCouponOrderCVo.getCouponId(),wxCouponOrderCVo.getTenantId());
wxCouponCVo = wxCouponService.getVoById(wxCouponOrderCVo.getCouponId(),wxCouponOrderCVo.getTenantId(),tenantEntity);
if (wxCouponCVo == null) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY);
}


+ 6
- 2
mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java Voir le fichier

@@ -6,6 +6,7 @@ import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxOrder;
import com.iformall.domain.po.WxOrderPress;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxCouponCVo;
import com.iformall.enums.EnumOrderPressStatus;
import com.iformall.enums.EnumOrderStatus;
@@ -91,12 +92,15 @@ public class WxPressOrderController extends BaseController {
ValueOperations<String, WxOrder> operations = orderRedisTemplate.opsForValue();
// 缓存
boolean hasKey = orderRedisTemplate.hasKey(key);
TenantEntity tenantEntity = getTenantInfo();
if (hasKey) {
// 从缓存获取砍价订单信息
order = operations.get(key);
} else {
// 订单没有入缓存,需要从数据库中读取
order = wxOrderService.getById(orderId,getTenantInfo().getTenantId());
order = wxOrderService.getById(orderId,tenantEntity.getTenantId());
if (order != null) {
// 订单优化,进缓存
orderRedisTemplate.opsForValue().set(key, order, 3600, TimeUnit.SECONDS);
@@ -117,7 +121,7 @@ public class WxPressOrderController extends BaseController {
wxCouponCVo = cdOperations.get(cdKey);
} else {
// 券信息没有入缓存,需要从数据库中读取
wxCouponCVo = wxCouponService.getVoById(order.getProductId(),order.getTenantId());
wxCouponCVo = wxCouponService.getVoById(order.getProductId(),order.getTenantId(),tenantEntity);
if (wxCouponCVo != null) {
// 券详情优化,进缓存
couponCVoRedisTemplate.opsForValue().set(cdKey, wxCouponCVo, 3600, TimeUnit.SECONDS);


+ 24
- 6
mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java Voir le fichier

@@ -63,15 +63,29 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
if(cUser == null || cUser.getExpireTime().getTime() < System.currentTimeMillis()){
throw new MallinkException(ErrorCode.NET_TOKEN_INVALID.getCode(), "URL:" + request.getRequestURL() + " token失效,请重新登录");
}

//集团版中针对某一商场的业务需要传递mallTenantId
String mallTenantId = request.getHeader("mallTenantId");
if(StringUtils.isBlank(mallTenantId)){
mallTenantId = request.getParameter("mallTenantId");
}
//设置userId到request里,后续根据userId,获取用户信息
request.setAttribute(Constant.LOGIN_USER_KEY, cUser.getId());
request.setAttribute(Constant.TENANT_ID, cUser.getTenantId());
if (!StringUtils.isBlank(mallTenantId)) {
request.setAttribute(Constant.TENANT_ID, mallTenantId);
request.setAttribute(Constant.PARENT_TENANT_ID, cUser.getTenantId());
}else {
request.setAttribute(Constant.TENANT_ID, cUser.getTenantId());
if (StringUtils.isNotBlank(cUser.getParentTenantId())) {
request.setAttribute(Constant.PARENT_TENANT_ID, cUser.getParentTenantId());
}
}
request.setAttribute(Constant.REQUEST_C_USER_KEY, cUser);
request.setAttribute(Constant.APP_INFO,cUser.getAppinfo());
if (StringUtils.isNotBlank(cUser.getParentTenantId())) {
request.setAttribute(Constant.PARENT_TENANT_ID, cUser.getParentTenantId());
}
if(cUser.basicInfoIs()){
request.setAttribute(Constant.LOGIN_MEMBER_KEY, cUser.getUserId());
}
@@ -86,7 +100,11 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
if(tenantIgnoreAnnotation != null){
TenantThreadLocal.remove();
}else {
TenantThreadLocal.setCurrentThreadTenant(cUser.getTenantId(), cUser.getParentTenantId());
if (!StringUtils.isBlank(mallTenantId)) {
TenantThreadLocal.setCurrentThreadTenant(cUser.getTenantId(), cUser.getParentTenantId());
}else {
TenantThreadLocal.setCurrentThreadTenant(mallTenantId, cUser.getTenantId());
}
}

return true;


+ 1
- 0
mallinkService/src/main/java/com/iformall/mapper/WxCouponMallMapper.java Voir le fichier

@@ -13,6 +13,7 @@ import org.apache.ibatis.annotations.Param;
public interface WxCouponMallMapper extends CommonMapper<WxCouponMall, Long> {

List<WxCouponMall> findList(WxCouponMall wxCouponMall);
List<Long> findCouponIdList(WxCouponMall wxCouponMall);
void updateStatus(WxCouponMall wxCouponMall);
void delteAllByProductId(WxCouponMall wxCouponMall);
}

+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java Voir le fichier

@@ -125,4 +125,6 @@ public interface WxCouponMapper extends CommonMapper<WxCoupon, Long> {
List<TtCouponVo> ttCouponList(TtCouponVo ttCouponVo);

Integer findCategoryIdById(@Param("id")Long id,@Param("tenantId")String tenantId);
void setMakeMerchantId(WxCoupon couponQ);
}

+ 3
- 2
mallinkService/src/main/java/com/iformall/service/WxCouponMallService.java Voir le fichier

@@ -23,8 +23,9 @@ public interface WxCouponMallService {
PageInfo<WxCouponMall> listAsPage(WxCouponMall record, Integer pageIndex, Integer pageSize);
List<WxCouponMall> list(WxCouponMall wxCouponMall,boolean queryMall);
List<Long> listCouponIds(WxCouponMall wxCouponMall);
void finised(String tenantId,Long couponId,String mallTenantId);
void unfinised(String tenantId, Long couponId,Integer couponType, String mallTenantId) throws Exception;
void finised(String couponTenantId,Long couponId,String mallTenantId);
void unfinised(String couponTenantId, Long couponId,Integer couponType, String mallTenantId) throws Exception;
}

+ 1
- 1
mallinkService/src/main/java/com/iformall/service/WxCouponService.java Voir le fichier

@@ -81,7 +81,7 @@ public interface WxCouponService {
WxCoupon getHtmlById(Long id,String tenantId);


WxCouponCVo getVoById(Long id,String tenantId);
WxCouponCVo getVoById(Long id,String couponTenantId,TenantEntity mallTenantEntity);

WxCouponCVo getVoStatusById(Long id,String tenantId);



+ 24
- 6
mallinkService/src/main/java/com/iformall/service/impl/WxCouponMallServiceImpl.java Voir le fichier

@@ -8,6 +8,7 @@ import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumAppPlat;
import com.iformall.enums.EnumCouponChannelStatus;
import com.iformall.enums.EnumCouponMallStatus;
import com.iformall.enums.EnumCouponMerchantStatus;
import com.iformall.enums.EnumCouponType;
import com.iformall.enums.EnumSpuSyncStatus;
import com.iformall.exception.MallinkException;
@@ -31,6 +32,8 @@ public class WxCouponMallServiceImpl implements WxCouponMallService {
WxCouponChannelMapper wxCouponChannelMapper;
@Autowired
WxMallMapper wxMallMapper;
@Autowired
WxCouponMerchantMapper wxCouponMerchantMapper;

@Override
public List<WxCouponMall> list(WxCouponMall wxCouponMall,boolean queryMall){
@@ -61,15 +64,30 @@ public class WxCouponMallServiceImpl implements WxCouponMallService {
return list;
}
@Override
public List<Long> listCouponIds(WxCouponMall wxCouponMall){
return wxCouponMallMapper.findCouponIdList(wxCouponMall);
}
@Override
public PageInfo<WxCouponMall> listAsPage(WxCouponMall record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponMallMapper.findList(record));
}

@Override
public void finised(String tenantId, Long couponId, String mallTenantId) {
public void finised(String couponTenantId, Long couponId, String mallTenantId) {
//查询商户设置了没有
WxCouponMerchant cmParam = new WxCouponMerchant();
cmParam.setTenantId(mallTenantId);
cmParam.setProductId(couponId);
cmParam.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode());
List<WxCouponMerchant> merchantList = wxCouponMerchantMapper.findList(cmParam);
if (null == merchantList || merchantList.size() <= 0 ) {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"未设置有效商户");
}
WxCouponMall couponMall = new WxCouponMall();
couponMall.setTenantId(tenantId);
couponMall.setTenantId(couponTenantId);
couponMall.setMallTenantId(mallTenantId);
couponMall.setProductId(couponId);
couponMall.setStatus(EnumCouponMallStatus.FINISED.getCode());
@@ -77,17 +95,17 @@ public class WxCouponMallServiceImpl implements WxCouponMallService {
}

@Override
public void unfinised(String tenantId, Long couponId,Integer couponType, String mallTenantId) throws Exception{
public void unfinised(String couponTenantId, Long couponId,Integer couponType, String mallTenantId) throws Exception{
//抖音平台查询的是未提交抖音审核的,微信是未上架的
EnumAppPlat plat = EnumCouponType.getAppPlat(couponType);
if (plat == EnumAppPlat.TOUTIAO) {
TtCouponChannelPoi poi = ttCouponChannelPoiMapper.selectById(tenantId, couponId);
TtCouponChannelPoi poi = ttCouponChannelPoiMapper.selectById(couponTenantId, couponId);
if (null != poi &&( EnumSpuSyncStatus.isValid(poi.getLastStatus()))) {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"券已在抖音审核流程中,无法修改。");
}
}else if (plat == EnumAppPlat.WX) {
WxCouponChannel couponChannel = new WxCouponChannel();
couponChannel.setTenantId(tenantId);
couponChannel.setTenantId(couponTenantId);
couponChannel.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode());
List<WxCouponChannel> clist = wxCouponChannelMapper.findList(couponChannel);
if (null != clist && clist.size() > 0 ) {
@@ -95,7 +113,7 @@ public class WxCouponMallServiceImpl implements WxCouponMallService {
}
}
WxCouponMall couponMall = new WxCouponMall();
couponMall.setTenantId(tenantId);
couponMall.setTenantId(couponTenantId);
couponMall.setMallTenantId(mallTenantId);
couponMall.setProductId(couponId);
couponMall.setStatus(EnumCouponMallStatus.UNFINISED.getCode());


+ 24
- 11
mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java Voir le fichier

@@ -353,15 +353,15 @@ public class WxCouponServiceImpl implements WxCouponService {
}

@Override
public WxCouponCVo getVoById(Long id,String tenantId) {
WxCouponCVo wxCouponCVo = wxCouponMapper.findVoDetail(id,tenantId);
public WxCouponCVo getVoById(Long id,String couponTenantId,TenantEntity mallTenantEntity) {
WxCouponCVo wxCouponCVo = wxCouponMapper.findVoDetail(id,couponTenantId);

if(wxCouponCVo == null){
return null;
}
List<Long> couponIdList = new ArrayList<Long>();
couponIdList.add(wxCouponCVo.getId());
Map<Long, List<WxMerchantVo>> couponMerchantVoMap = wxMerchantService.findCouponMerchantVoList(couponIdList, wxCouponCVo,true);
Map<Long, List<WxMerchantVo>> couponMerchantVoMap = wxMerchantService.findCouponMerchantVoList(couponIdList, mallTenantEntity,true);

List<WxMerchantVo> merchantList = couponMerchantVoMap.get(wxCouponCVo.getId());
if (merchantList != null) {
@@ -396,15 +396,20 @@ public class WxCouponServiceImpl implements WxCouponService {


private Long parseMerchantId(JSONObject merchantParam){
return Long.valueOf(merchantParam.getString("id"));
if (!StringUtils.isBlank(merchantParam.getString("id"))){
return Long.valueOf(merchantParam.getString("id"));
}
return null;
}
private String parseParameter(JSONObject merchantParam){
return merchantParam.getString("parameter");
}
private Integer parseBusiness(JSONObject merchantParam){
String businessIdStr = merchantParam.getString("businessId");
return Integer.valueOf(businessIdStr);

if ( !StringUtils.isBlank(businessIdStr)) {
return Integer.valueOf(businessIdStr);
}
return null;
}
private Integer parseSubBusiness(JSONObject merchantParam){
String subBusinessIdStr = merchantParam.getString("subBusinessId");
@@ -768,8 +773,11 @@ public class WxCouponServiceImpl implements WxCouponService {

if (EnumPayMchType.DIRECT.equals(payMchType)) {
WxMerchant makeMerchant = getDirectPayAccountMerchant(merchantList,record);
if (null == makeMerchant) {
throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "没有收款商户");
}
record.setMakeMerchantId(makeMerchant.getId());
WxProfitSharingReceiver receiver = payShareServie.getReceiver(payAccount, makeMerchant.getId(), null, payMchType.getCode());
WxProfitSharingReceiver receiver = payShareServie.getReceiver(makeMerchant, makeMerchant.getId(), null, payMchType.getCode());

if (receiver == null) {
throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "[\""+makeMerchant.getName()+"\"]未配置收款账户");
@@ -811,7 +819,7 @@ public class WxCouponServiceImpl implements WxCouponService {
WxMerchant makeMerchant = null;
//平台券,集团商管商户
if (EnumCouponType.COUPON_DOUYIN_PLAT.getCode() == coupon.getType()) {
//TODO 查询集团商管商户
//查询集团商管商户
makeMerchant = wxMerchantService.findAdmin(coupon);
//品牌券,查询集团品牌商户
}else if (EnumCouponType.COUPON_DOUYIN_BRAND.getCode() == coupon.getType()) {
@@ -1530,20 +1538,25 @@ public class WxCouponServiceImpl implements WxCouponService {
if (null == wxCoupon.getMerchantIds()) {
throw new MallinkException(Result.ERROR,"请选择商户");
}
Long makeMerchantId = coupon.getMakeMerchantId();
//
StringBuffer merchantParams = new StringBuffer("{\"tenantId\":").append(mallTenantEntity.getTenantId()).append(",\"mallMerchantParams\":").append("[");
StringBuffer merchantParams = new StringBuffer("[{\"tenantId\":").append(mallTenantEntity.getTenantId()).append(",\"mallMerchantParams\":").append("[");
Long[] mids = wxCoupon.getMerchantIds();
for (int i = 0 ;i < mids.length; i++ ){
merchantParams.append("{\"id\":").append(mids[i]).append("}");
merchantParams.append("{\"id\":").append(mids[i]).append(",\"businessId\":").append(EnumBusiness.BUSINESS_ID6.getCode()).append("}");
if (i < mids.length-1 ) {
merchantParams.append(",");
}
}
merchantParams.append("]");
merchantParams.append("]}]");
coupon.setChildMerchantParams(merchantParams.toString());
checkCouponMerchantReceiver(coupon,true);
final IdWorker idWorker = IdWorker.get();
updateCouponMerchants(coupon,idWorker);
//平台券设置商管商户
if (null != coupon.getMakeMerchantId()) {
wxCouponMapper.setMakeMerchantId(coupon);
}
}catch(Exception e) {
throw e;
}


+ 5
- 0
mallinkService/src/main/resources/mapper/WxCouponMallMapper.xml Voir le fichier

@@ -77,6 +77,11 @@
<include refid="dynamicWhereConditions" />
</select>
<select id="findCouponIdList" parameterType="com.iformall.domain.po.WxCouponMall" resultType="Long">
select product_id from wx_coupon_mall
<include refid="dynamicWhereConditions" />
</select>
<update id = "updateStatus" parameterType="com.iformall.domain.po.WxCouponMall">
update wx_coupon_mall set status = #{status} where `product_id` = #{productId}
and `tenant_id` = #{tenantId} and `mall_tenant_id` = #{mallTenantId}


+ 4
- 0
mallinkService/src/main/resources/mapper/WxCouponMapper.xml Voir le fichier

@@ -1494,5 +1494,9 @@
where id = #{id}
and tenant_id = #{tenantId}
</select>
<update id="setMakeMerchantId" parameterType="com.iformall.domain.po.WxCoupon" >
update wx_coupon set make_merchant_id = #{makeMerchantId} where id = #{id} and tenant_id = #{tenantId}
</update>

</mapper>

Chargement…
Annuler
Enregistrer