Просмотр исходного кода

fix card

release_toaliyun_real
lin 3 лет назад
Родитель
Сommit
ec5de42be2
7 измененных файлов: 130 добавлений и 32 удалений
  1. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java
  2. +19
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java
  3. +0
    -17
      mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java
  4. +1
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxCardTransferInfo.java
  5. +21
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/WxCardTransferVo.java
  6. +4
    -0
      mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java
  7. +83
    -13
      mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java

+ 2
- 1
mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java Просмотреть файл

@@ -157,7 +157,8 @@ public class ShiroConfig {
// filterChainDefinitionMap.put("/merchantPoi/spuSync", "anon");
// filterChainDefinitionMap.put("/merchantPoi/spuGet", "anon");


//抖音商品类目
filterChainDefinitionMap.put("/goodsCategory/treeList", "anon");
//配置退出 过滤器,其中的具体的退出代码Shiro已经替我们实现了
filterChainDefinitionMap.put("/logout", "authc");



+ 19
- 1
mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java Просмотреть файл

@@ -9,6 +9,7 @@ import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxCardSpendVo;
import com.iformall.domain.vo.WxCardTransferVo;
import com.iformall.domain.vo.WxCardVo;
import com.iformall.enums.EnumMerchantSubsidySource;
import com.iformall.enums.EnumMerchantSubsidyType;
@@ -53,7 +54,7 @@ public class WxCardInfoController extends BaseController {

@Autowired
WxCardSpendService wxCardSpendService;
@ApiOperation("批次消费卡(已激活电子卡电子卡)的卡列表")
@GetMapping("list")
@ApiImplicitParams({
@@ -82,6 +83,23 @@ public class WxCardInfoController extends BaseController {
final PageInfo<WxCardVo> page = wxCardInfoService.listAsPage(wxCardVo, pageNum, pageSize);
return new ResultData(page);
}
@ApiOperation("卡转赠记录列表")
@GetMapping("transferList")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData transferList(@ModelAttribute WxCardTransferInfo transferRecord, Integer pageNum, Integer pageSize) {
if (transferRecord == null) {
transferRecord = new WxCardTransferInfo();
}
if (null == transferRecord.getCouponOrderId()) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "卡编号参数为空");
}
transferRecord.updateTenantInfo(getTenantInfo());
final PageInfo<WxCardTransferVo> page = wxCardInfoService.listTransferAsPage(transferRecord, pageNum, pageSize);
return new ResultData(page);
}

// @ApiOperation("C端扫B端储值卡交易流水(消费记录 + 补贴)列表接口")
// @GetMapping("cardSpendlist")


+ 0
- 17
mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java Просмотреть файл

@@ -276,21 +276,4 @@ public class WxCouponPasswordController extends BaseController {
return new ResultData(retMap);
}
@ApiOperation(value = "实体卡转赠", notes = "{\"cardId\":\"String\",\"formId\":\"String\",\"payCheck\":\"String\",\"payPassword\":\"String\"}")
@PostMapping("transfer")
public ResultData transfer(@RequestBody Map<String, String> params) {
logger.info("getCouponOrderByPassword: " + getIpAddr() + params.toString());
String password = params.get("password");
String formId = params.get("formId");
String payCheck = params.get("payCheck");
String payPassword = params.get("payPassword");
Long memberId;
try {
memberId = getMemberId();
} catch (Exception e) {
return new ResultData(Result.ERROR,e.getMessage());
}
return getCouponOrderByPassword(password, formId,payCheck,payPassword, memberId,EnumPayWay.PAY_WAY_NOT_UNPAY_PASSWD,EnumPayVersion.NO_VERSION);
}
}

+ 1
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxCardTransferInfo.java Просмотреть файл

@@ -18,6 +18,7 @@ public class WxCardTransferInfo extends TenantEntity {

//保存到转赠表中 id,coupon_order_id,tenant_id,title,amount,remain_amount,from_user,to_user,status,create_date,update_date

//和wx_card_info里id一致
@io.swagger.annotations.ApiModelProperty(value = "卡与订单关联ID", name = "couponOrderId")
private Long couponOrderId;



+ 21
- 0
mallinkService/src/main/java/com/iformall/domain/vo/WxCardTransferVo.java Просмотреть файл

@@ -0,0 +1,21 @@
package com.iformall.domain.vo;


import com.iformall.domain.po.WxCardTransferInfo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class WxCardTransferVo extends WxCardTransferInfo {

private static final long serialVersionUID = 211838956429243049L;
/** 券类型信息 */
@io.swagger.annotations.ApiModelProperty(value="来源用户手机号",name="fromUserPhone")
private String fromUserPhone;
@io.swagger.annotations.ApiModelProperty(value="受赠者手机号",name="toUserPhone")
private String toUserPhone;

}

+ 4
- 0
mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java Просмотреть файл

@@ -2,9 +2,11 @@ package com.iformall.service;

import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxCardInfo;
import com.iformall.domain.po.WxCardTransferInfo;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponPassword;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxCardTransferVo;
import com.iformall.domain.vo.WxCardVo;

import javax.servlet.http.HttpServletRequest;
@@ -52,5 +54,7 @@ public interface WxCardInfoService {
void exportData(WxCardVo wxCardVo, HttpServletRequest request, HttpServletResponse response);
void startOrStop(WxCardInfo cardInfo);
PageInfo<WxCardTransferVo> listTransferAsPage(WxCardTransferInfo transferRecord, Integer pageIndex, Integer pageSize);

}

+ 83
- 13
mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java Просмотреть файл

@@ -8,11 +8,13 @@ import com.iformall.common.IdWorker;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.domain.po.WxCardInfo;
import com.iformall.domain.po.WxCardTransferInfo;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponChannel;
import com.iformall.domain.po.WxCouponOrder;
import com.iformall.domain.po.WxCouponPassword;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxCardTransferVo;
import com.iformall.domain.vo.WxCardVo;
import com.iformall.domain.vo.WxCouponOrderBVo;
import com.iformall.domain.vo.WxCouponPasswordVo;
@@ -26,6 +28,7 @@ import com.iformall.enums.EnumCouponType;
import com.iformall.enums.EnumYesOrNo;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxCardInfoMapper;
import com.iformall.mapper.WxCardTransferInfoMapper;
import com.iformall.mapper.WxCouponChannelMapper;
import com.iformall.mapper.WxCouponMapper;
import com.iformall.mapper.WxCouponOrderMapper;
@@ -47,6 +50,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.lang.reflect.InvocationTargetException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
@@ -86,6 +90,9 @@ public class WxCardInfoServiceImpl implements WxCardInfoService {
@Autowired
RedisLock redisLock;
@Autowired
WxCardTransferInfoMapper wxCardTransferInfoMapper;

@Override
@@ -101,6 +108,23 @@ public class WxCardInfoServiceImpl implements WxCardInfoService {
return pageInfo;
}
private Map<Long,WxCUserBasicInfo> getUserMap(List<Long> userIdList,TenantEntity tenantEntity) {
Map<Long,WxCUserBasicInfo> cUserMap = new HashMap<Long,WxCUserBasicInfo>();
if (userIdList.size() > 0) {
WxCUserBasicInfo cUserBasicInfoQ = new WxCUserBasicInfo();
cUserBasicInfoQ.setIds(userIdList);
cUserBasicInfoQ.setFinalTenantId(tenantEntity.getFinalTenantId());
List<WxCUserBasicInfo> cuserList = wxCUserBasicInfoService.listPhoneAndNameByIds(cUserBasicInfoQ);
if (null != cuserList) {
for (int i = 0 ; i < cuserList.size() ; i++) {
WxCUserBasicInfo cbi = cuserList.get(i);
cUserMap.put(cbi.getId(), cbi);
}
}
}
return cUserMap;
}
private List<WxCardVo> handleToCardVoList(List<WxCardInfo> list,WxCardVo record) {
if (null != list && list.size() > 0) {
List<Long> couponIdList = new ArrayList<Long>();
@@ -136,19 +160,7 @@ public class WxCardInfoServiceImpl implements WxCardInfoService {
}
}
Map<Long,WxCUserBasicInfo> cUserMap = new HashMap<Long,WxCUserBasicInfo>();
if (userIdList.size() > 0) {
WxCUserBasicInfo cUserBasicInfoQ = new WxCUserBasicInfo();
cUserBasicInfoQ.setIds(userIdList);
cUserBasicInfoQ.setFinalTenantId(record.getFinalTenantId());
List<WxCUserBasicInfo> cuserList = wxCUserBasicInfoService.listPhoneAndNameByIds(cUserBasicInfoQ);
if (null != cuserList) {
for (int i = 0 ; i < cuserList.size() ; i++) {
WxCUserBasicInfo cbi = cuserList.get(i);
cUserMap.put(cbi.getId(), cbi);
}
}
}
Map<Long,WxCUserBasicInfo> cUserMap = getUserMap(userIdList, record);
Map<Long,WxCouponOrder> couponOrderMap = new HashMap<Long,WxCouponOrder>();
if (cardIdList.size() > 0 ) {
@@ -365,5 +377,63 @@ public class WxCardInfoServiceImpl implements WxCardInfoService {
}
return null;
}
@Override
public PageInfo<WxCardTransferVo> listTransferAsPage(WxCardTransferInfo transferRecord, Integer pageIndex, Integer pageSize) {
PageInfo<WxCardTransferInfo> cardInfoPage = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCardTransferInfoMapper.findList(transferRecord));
PageInfo<WxCardTransferVo> pageInfo = new PageInfo<WxCardTransferVo>();
pageInfo.setList(toTransferVoList(cardInfoPage.getList(),transferRecord));
pageInfo.setPageNum(cardInfoPage.getPageNum());
pageInfo.setPageSize(cardInfoPage.getPageSize());
pageInfo.setPages(cardInfoPage.getPages());
pageInfo.setTotal(cardInfoPage.getTotal());
return pageInfo;
}
private List<WxCardTransferVo> toTransferVoList(List<WxCardTransferInfo> transferList,TenantEntity tenantEntity) {
List<WxCardTransferVo> retList = new ArrayList<WxCardTransferVo>();
if (null != transferList && transferList.size() > 0 ) {
List<Long> userList = new ArrayList<>();
for (int i = 0 ; i < transferList.size(); i++) {
WxCardTransferInfo cti = transferList.get(i);
Long fuserId = cti.getFromUser();
if (null != fuserId && !userList.contains(fuserId)) {
userList.add(fuserId);
}
Long tuserId = cti.getToUser();
if (null != tuserId && !userList.contains(tuserId)) {
userList.add(tuserId);
}
}
Map<Long,WxCUserBasicInfo> cUserMap = getUserMap(userList, tenantEntity);
for (int i = 0 ; i < transferList.size(); i++) {
WxCardTransferInfo cti = transferList.get(i);
WxCardTransferVo vo = new WxCardTransferVo();
try {
BeanUtils.copyProperties(vo, cti);
Long fuserId = cti.getFromUser();
if (null != fuserId) {
WxCUserBasicInfo fuser = cUserMap.get(fuserId);
if (null != fuser) {
vo.setFromUserPhone(fuser.getPhone());
}
}
Long tuserId = cti.getToUser();
if (null != tuserId) {
WxCUserBasicInfo tuser = cUserMap.get(tuserId);
if (null != tuser) {
vo.setToUserPhone(tuser.getPhone());
}
}
retList.add(vo);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
return retList;
}

}

Загрузка…
Отмена
Сохранить