diff --git a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java index 966cf9238..94b91dc14 100644 --- a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java +++ b/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"); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java index 2bb060cb6..2504092f2 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java +++ b/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 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 page = wxCardInfoService.listTransferAsPage(transferRecord, pageNum, pageSize); + return new ResultData(page); + } // @ApiOperation("C端扫B端储值卡交易流水(消费记录 + 补贴)列表接口") // @GetMapping("cardSpendlist") diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java index 18cc08eec..a5cfb1a75 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java +++ b/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 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); - } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCardTransferInfo.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCardTransferInfo.java index a9a2debf6..323621136 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCardTransferInfo.java +++ b/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; diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCardTransferVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCardTransferVo.java new file mode 100644 index 000000000..a2df2e007 --- /dev/null +++ b/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; + +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java b/mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java index 1ca0285a8..d2765ef41 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java +++ b/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 listTransferAsPage(WxCardTransferInfo transferRecord, Integer pageIndex, Integer pageSize); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java index 14313d055..703fef18e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java +++ b/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 getUserMap(List userIdList,TenantEntity tenantEntity) { + Map cUserMap = new HashMap(); + if (userIdList.size() > 0) { + WxCUserBasicInfo cUserBasicInfoQ = new WxCUserBasicInfo(); + cUserBasicInfoQ.setIds(userIdList); + cUserBasicInfoQ.setFinalTenantId(tenantEntity.getFinalTenantId()); + List 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 handleToCardVoList(List list,WxCardVo record) { if (null != list && list.size() > 0) { List couponIdList = new ArrayList(); @@ -136,19 +160,7 @@ public class WxCardInfoServiceImpl implements WxCardInfoService { } } - Map cUserMap = new HashMap(); - if (userIdList.size() > 0) { - WxCUserBasicInfo cUserBasicInfoQ = new WxCUserBasicInfo(); - cUserBasicInfoQ.setIds(userIdList); - cUserBasicInfoQ.setFinalTenantId(record.getFinalTenantId()); - List 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 cUserMap = getUserMap(userIdList, record); Map couponOrderMap = new HashMap(); if (cardIdList.size() > 0 ) { @@ -365,5 +377,63 @@ public class WxCardInfoServiceImpl implements WxCardInfoService { } return null; } + + @Override + public PageInfo listTransferAsPage(WxCardTransferInfo transferRecord, Integer pageIndex, Integer pageSize) { + PageInfo cardInfoPage = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCardTransferInfoMapper.findList(transferRecord)); + PageInfo pageInfo = new PageInfo(); + 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 toTransferVoList(List transferList,TenantEntity tenantEntity) { + List retList = new ArrayList(); + if (null != transferList && transferList.size() > 0 ) { + List 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 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; + } }