Przeglądaj źródła

优化券列表,B端券查询

release_toaliyun_real
winter 4 lat temu
rodzic
commit
22714c85fa
10 zmienionych plików z 392 dodań i 236 usunięć
  1. +9
    -9
      mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java
  2. +2
    -2
      mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java
  3. +1
    -1
      mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java
  4. +4
    -4
      mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java
  5. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java
  6. +296
    -83
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  7. +1
    -2
      mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml
  8. +7
    -1
      mallinkService/src/main/resources/mapper/WxCouponMapper.xml
  9. +58
    -134
      mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml
  10. +12
    -0
      mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml

+ 9
- 9
mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java Wyświetl plik

@@ -110,15 +110,15 @@ public class WxCouponOrderController extends BaseController {
}

//TODO 待优化数据
// @ApiOperation("交易流水分页列表接口")
// @GetMapping("listUnverified")
// @ApiImplicitParams({
// @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"),
// @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
// @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
// public ResultData listUnverified(String date, Integer pageNum, Integer pageSize) {
// return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, pageNum, pageSize, false);
// }
@ApiOperation("交易流水分页列表接口")
@GetMapping("listUnverified")
@ApiImplicitParams({
@ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"),
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData listUnverified(String date, Integer pageNum, Integer pageSize) {
return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, pageNum, pageSize, false);
}
//
// @ApiOperation("核销流水分页列表接口")
// @GetMapping("listVerified")


+ 2
- 2
mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java Wyświetl plik

@@ -162,8 +162,8 @@ public class WxCouponOrderBVo extends WxCouponOrder {
private String shopNumber;

/**发券商户信息*/
@io.swagger.annotations.ApiModelProperty(value="商户列表",name="merchantVoList")
private List<WxMerchantVo> merchantVoList;
// @io.swagger.annotations.ApiModelProperty(value="商户列表",name="merchantVoList")
// private List<WxMerchantVo> merchantVoList;

/**发券渠道信息*/
@io.swagger.annotations.ApiModelProperty(value="商户列表",name="channelType")


+ 1
- 1
mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java Wyświetl plik

@@ -18,7 +18,7 @@ public interface WxCUserBasicInfoMapper extends CommonMapper<WxCUserBasicInfo, S

List<WxCUserBasicInfo> findListByFilter(WxCUserBasicInfoDto dto);
List<WxCUserBasicInfo> findListByFilter1(@Param("tenantInfo")TenantEntity tenantInfo, @Param("basicInfo")WxCUserBasicInfoDto wxCUserBasicInfo);
List<WxCUserBasicInfo> findList(WxCUserBasicInfo wxCUserBasicInfo);
List<WxCUserBasicInfo> findList1(@Param("tenantInfo")TenantEntity tenantInfo, @Param("basicInfo")WxCUserBasicInfo wxCUserBasicInfo);


+ 4
- 4
mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java Wyświetl plik

@@ -44,8 +44,8 @@ public interface WxCouponOrderMapper extends CommonMapper<WxCouponOrder, Long> {

List<WxCouponOrderCarCVo> findCarListOfCUser(WxCouponOrder wxCouponOrder);

List<WxCouponOrderBVo> findListOfOrderedByDateForBUser(Map dateMap);
List<WxCouponOrderBVo> findListOfVerifiedByDateForBUser(Map dateMap);
List<WxCouponOrder> findListOfOrderedByDateForBUser(Map dateMap);
List<WxCouponOrder> findListOfVerifiedByDateForBUser(Map dateMap);

//@Deprecated
//List<WxCouponOrderCVo> findListOfCUser(WxCouponOrder wxCouponOrder);
@@ -53,8 +53,8 @@ public interface WxCouponOrderMapper extends CommonMapper<WxCouponOrder, Long> {
WxCouponOrderCVo findDetailOfCUser(@Param("id")Long id,@Param("tenantId")String tenantId);
WxCouponOrderCVo findSimpleDetailOfCUser(@Param("id")Long id,@Param("tenantId")String tenantId);
List<WxCouponOrderBVo> findListOfAdmin(WxCouponOrderBVo wxCouponOrder);
WxCouponOrderBVo findDetailOfAdmin(@Param("id")Long id,@Param("tenantId")String tenantId,@Param("finalTenantId")String finalTenantId);
List<WxCouponOrder> findListOfAdmin(WxCouponOrderBVo wxCouponOrder);
WxCouponOrder findDetailOfAdmin(@Param("id")Long id,@Param("tenantId")String tenantId,@Param("finalTenantId")String finalTenantId);

//营销报表 券数据图表
List<MarkingCouponDataReportVo> couponDataMap(HashMap<String,Object> params);


+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java Wyświetl plik

@@ -10,6 +10,8 @@ public interface WxMerchantBUserMapper extends CommonMapper<WxMerchantBUser, Lon
List<WxMerchantBUser> findList(WxMerchantBUser wxMerchantBUser);
List<Long> findIdList(WxMerchantBUser wxMerchantBUser);
List<WxMerchantBUser> findSimpleList(WxMerchantBUser wxMerchantBUser);
List<WxMerchantBUser> findMerchantIdListByIds(WxMerchantBUser wxMerchantBUser);

List<WxMerchantBuInfoVo> findSelMerchantList(WxMerchantBUser wxMerchantBUser);


+ 296
- 83
mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java Wyświetl plik

@@ -36,6 +36,7 @@ import com.iformall.utils.DateUtils;
import com.iformall.utils.PayUtils;
import com.iformall.utils.RedisLock;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -48,6 +49,8 @@ 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.text.ParseException;
import java.text.SimpleDateFormat;
@@ -264,14 +267,216 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
resultMap.put("amount", list.stream().mapToInt(p -> p.getCouponPrice()).sum());
resultMap.put("orderCount", list.size());
} else {
if (isVerified)
resultMap.put("list", PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfVerifiedByDateForBUser(dateMap)));
else
resultMap.put("list", PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfOrderedByDateForBUser(dateMap)));
if (isVerified) {
resultMap.put("list", findListOfVerifiedByDateForBUser(wxMerchant,wxMerchant.getId(),startDate,endDate,pageIndex,pageSize));
}else {
resultMap.put("list", findListOfOrderedByDateForBUser(wxMerchant,wxMerchant.getId(),startDate,endDate,pageIndex,pageSize));
}
}
return new ResultData(resultMap);
}

private PageInfo<WxCouponOrderBVo> findListOfVerifiedByDateForBUser(TenantEntity tenantEntity,Long merchantId,Date startDate,Date endDate,Integer pageIndex,Integer pageSize) {
Map dateMap = new HashMap();
dateMap.put("startDate", startDate);
dateMap.put("endDate", endDate);
WxMerchantBUser merchantBUserQ = new WxMerchantBUser();
merchantBUserQ.updateTenantInfo(tenantEntity);
merchantBUserQ.setMerchantId(merchantId);
List<Long> bUserIds = wxMerchantBUserMapper.findIdList(merchantBUserQ);
dateMap.put("bUserIds", bUserIds);
PageInfo<WxCouponOrder> couponOrderPage = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() ->wxCouponOrderMapper.findListOfVerifiedByDateForBUser(dateMap));
PageInfo<WxCouponOrderBVo> pageInfo = new PageInfo<WxCouponOrderBVo>();
pageInfo.setList(handleToCouponOrderBVoList(tenantEntity,couponOrderPage.getList()));
pageInfo.setPageNum(couponOrderPage.getPageNum());
pageInfo.setPageSize(couponOrderPage.getPageSize());
pageInfo.setPages(couponOrderPage.getPages());
return pageInfo;
}
private PageInfo<WxCouponOrderBVo> findListOfOrderedByDateForBUser(TenantEntity tenantEntity,Long merchantId,Date startDate,Date endDate,Integer pageIndex,Integer pageSize) {
Map dateMap = new HashMap();
dateMap.put("startDateTimes", startDate.getTime());
dateMap.put("endDateTimes", endDate.getTime());
List<Long> merchantIdList = new ArrayList<Long>();
merchantIdList.add(merchantId);
List<WxMerchantProductVo> merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(tenantEntity.getTenantId(), merchantIdList);
if (null != merchantProductVos) {
List<Long> couponIds = new ArrayList<Long>();
for (int i = 0 ; i < merchantProductVos.size(); i ++) {
WxMerchantProductVo mp = merchantProductVos.get(i);
if (mp.getMc() == 1) {
if (!couponIds.contains(mp.getProductId())) {
couponIds.add(mp.getProductId());
}
}
}
if (couponIds.size() > 0 ) {
dateMap.put("couponIds", couponIds);
}
}
PageInfo<WxCouponOrder> couponOrderPage = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() ->wxCouponOrderMapper.findListOfOrderedByDateForBUser(dateMap));
PageInfo<WxCouponOrderBVo> pageInfo = new PageInfo<WxCouponOrderBVo>();
pageInfo.setList(handleToCouponOrderBVoList(tenantEntity,couponOrderPage.getList()));
pageInfo.setPageNum(couponOrderPage.getPageNum());
pageInfo.setPageSize(couponOrderPage.getPageSize());
pageInfo.setPages(couponOrderPage.getPages());
return pageInfo;
}
private List<WxCouponOrderBVo> handleToCouponOrderBVoList(TenantEntity tenantEntity,List<WxCouponOrder> couponOrderList) {
List<WxCouponOrderBVo> retList = null;
if (null != couponOrderList && couponOrderList.size() > 0 ) {
retList = new ArrayList<WxCouponOrderBVo>();
List<Long> bUserIdList = new ArrayList<Long>();
List<Long> cUserIdList = new ArrayList<Long>();
List<Long> couponIdList = new ArrayList<Long>();
for (int j = 0 ; j < couponOrderList.size(); j ++) {
WxCouponOrder co = couponOrderList.get(j);
Long bUserId = co.getBUserId();
if (null != bUserId && (!bUserIdList.contains(bUserId))) {
bUserIdList.add(bUserId);
}
Long cUserId = co.getcUserId();
if (null != cUserId && (!cUserIdList.contains(cUserId))) {
cUserIdList.add(cUserId);
}
Long couponId = co.getCouponId();
if (null != couponId && (!couponIdList.contains(couponId))) {
couponIdList.add(couponId);
}
}
//获取到buserId
Map<Long,WxMerchantBUser> bUserMap = new HashMap<Long,WxMerchantBUser>();
List<Long> merchantIdList = null;
if (bUserIdList.size() > 0 ) {
merchantIdList = new ArrayList<Long>();
WxMerchantBUser merchantBUserQ = new WxMerchantBUser();
merchantBUserQ.updateTenantInfo(tenantEntity);
merchantBUserQ.setIds(bUserIdList);
List<WxMerchantBUser> bUserList = wxMerchantBUserMapper.findSimpleList(merchantBUserQ);
if (null != bUserList) {
for (int k = 0 ; k < bUserList.size() ; k++) {
WxMerchantBUser b = bUserList.get(k);
bUserMap.put(b.getId(), b);
if (!merchantIdList.contains(b.getMerchantId())) {
merchantIdList.add(b.getMerchantId());
}
}
}
}
//merchant
Map<Long,WxMerchant> merchantSimpleMap = new HashMap<Long,WxMerchant>();
if (null != merchantIdList) {
WxMerchant merchantQ = new WxMerchant();
merchantQ.updateTenantInfo(tenantEntity);
merchantQ.setIds(merchantIdList);
List<WxMerchant> merchantList = wxMerchantMapper.findIdNameList(merchantQ);
if (null != merchantList) {
for (int k = 0 ; k < merchantList.size() ; k++) {
WxMerchant m = merchantList.get(k);
merchantSimpleMap.put(m.getId(), m);
}
}
}
//获取到cUserId
Map<Long,WxCUserBasicInfo> cUserSimpleMap = new HashMap<Long,WxCUserBasicInfo>();
if (cUserIdList.size() > 0 ) {
WxCUserBasicInfo cBasicInfoQ = new WxCUserBasicInfo();
cBasicInfoQ.setFinalTenantId(tenantEntity.getFinalTenantId());
cBasicInfoQ.setIds(cUserIdList);
List<WxCUserBasicInfo> cUserBasicInfoList = wxCUserBasicInfoMapper.findListPhoneAndNameByIds(cBasicInfoQ);
if (null != cUserBasicInfoList) {
for (int k = 0 ; k < cUserBasicInfoList.size() ; k++) {
WxCUserBasicInfo cbi = cUserBasicInfoList.get(k);
cUserSimpleMap.put(cbi.getId(), cbi);
}
}
}
//获取coupon
Map<Long,WxCoupon> couponMap = new HashMap<Long,WxCoupon>();
if (couponIdList.size() > 0 ) {
WxCoupon couponQ = new WxCoupon();
couponQ.updateTenantInfo(tenantEntity);
couponQ.setIds(couponIdList);
List<WxCoupon> couponList = wxCouponMapper.findTenantSimpleList(couponQ);
if (null != couponList) {
for (int k = 0 ; k < couponList.size() ; k++) {
WxCoupon c = couponList.get(k);
couponMap.put(c.getId(), c);
}
}
}
for (int i = 0 ; i < couponOrderList.size() ; i ++) {
WxCouponOrder couponOrder = couponOrderList.get(i);
WxCouponOrderBVo bvo = couponOrdertoBVo(couponOrder,bUserMap,merchantSimpleMap,cUserSimpleMap,couponMap);
if (null != bvo ) {
retList.add(bvo);
}
}
}
return retList;
}
private WxCouponOrderBVo couponOrdertoBVo(WxCouponOrder couponOrder,Map<Long,WxMerchantBUser> bUserMap,Map<Long,WxMerchant> merchantSimpleMap,Map<Long,WxCUserBasicInfo> cUserSimpleMap,Map<Long,WxCoupon> couponMap) {
WxCouponOrderBVo bvo = new WxCouponOrderBVo();
try {
BeanUtils.copyProperties(bvo, couponOrder);
if (null != bvo.getBUserId()) {
WxMerchantBUser b = bUserMap.get(bvo.getBUserId());
if (null != b) {
bvo.setbUserName(b.getName());
bvo.setBUserPhone(b.getPhone());
WxMerchant merchant = merchantSimpleMap.get(b.getMerchantId());
if (null != merchant) {
bvo.setMerchantName(merchant.getName());
bvo.setMerchantId(merchant.getId());
}
}
}
if (null != bvo.getCUserId()) {
WxCUserBasicInfo cbi = cUserSimpleMap.get(bvo.getCUserId());
if (null != cbi) {
bvo.setcUserPhone(cbi.getPhone());
}
}
if (null != bvo.getCouponId()) {
WxCoupon coupon = couponMap.get(bvo.getCouponId());
if (null != coupon) {
bvo.setType(coupon.getType());
bvo.setTitle(coupon.getTitle());
bvo.setSalePrice(coupon.getSalePrice());
bvo.setUsePrice(coupon.getUsePrice());
bvo.setPrice(coupon.getPrice());
bvo.setAutoRefund(coupon.getAutoRefund());
bvo.setBusiness(coupon.getBusiness());
bvo.setSubsidyType(coupon.getSubsidyType());
//c.type,c.title,c.sale_price,c.use_price,c.price,c.unit,c.auto_refund,c.business,c.subsidy_type,,
}
}
bvo.setSubsidyNum(bvo.getSubsidy());
return bvo;
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return null;
}
//@Override
//public PageInfo<WxCouponOrderCVo> listCUserVoAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize) {
//
@@ -339,14 +544,20 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
@Override
public ResultData listAdminAsPage(WxCouponOrderBVo wxCouponOrderBVo, Integer pageIndex, Integer pageSize) {
handleWxCouponOrderBVoQueryParam(wxCouponOrderBVo);
PageInfo<WxCouponOrderBVo> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfAdmin(wxCouponOrderBVo));
PageInfo<WxCouponOrder> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfAdmin(wxCouponOrderBVo));
PageInfo<WxCouponOrderBVo> retPageInfo = new PageInfo<WxCouponOrderBVo>();
retPageInfo.setPageNum(pageIndex);
retPageInfo.setPageSize(pageSize);
retPageInfo.setPages(pageInfo.getPages());
if (null != pageInfo && null != pageInfo.getList()){
handleQueryResult(pageInfo.getList(), wxCouponOrderBVo);
List<WxCouponOrderBVo> volist = handleQueryResult(pageInfo.getList(), wxCouponOrderBVo);
retPageInfo.setList(volist);
}
return new ResultData(pageInfo);
return new ResultData(retPageInfo);
}
private void handleQueryResult(List<WxCouponOrderBVo> list,TenantEntity tenantEntity) {
private List<WxCouponOrderBVo> handleQueryResult(List<WxCouponOrder> list,TenantEntity tenantEntity) {
if (null != list ) {
WxMerchant merchantQ = new WxMerchant();
@@ -389,7 +600,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
List<Long> cUserIdList = new ArrayList<Long>();
List<Long> bUserIdList = new ArrayList<Long>();
for (int i = 0 ; i < list.size() ; i ++ ) {
WxCouponOrderBVo bo = list.get(i);
WxCouponOrder bo = list.get(i);
Long cusrid = bo.getcUserId();
if (null != cusrid && (!cUserIdList.contains(cusrid))) {
cUserIdList.add(cusrid);
@@ -427,65 +638,69 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
}
}

List<WxCouponOrderBVo> retList = new ArrayList<WxCouponOrderBVo>();
for (int i = 0 ; i < list.size() ; i ++) {
WxCouponOrderBVo co = list.get(i);
if (co.getCouponOrderStatus().equals(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode())) {
co.setUpdateDate(null);
}
if (null != co.getSendMerchantId()) {
co.setSendMerchantName(merchantNameMap.get(co.getSendMerchantId()));
}
WxCoupon coupon = couponMap.get(co.getCouponId());
if (null != coupon) {
co.setTitle(coupon.getTitle());
co.setSalePrice(coupon.getSalePrice());
co.setUsePrice(coupon.getUsePrice());
co.setPrice(coupon.getPrice());
co.setAutoRefund(coupon.getAutoRefund());
co.setBusiness(coupon.getBusiness());
co.setSubsidyType(coupon.getSubsidyType());
co.setSourceType(coupon.getSourceType());
}
// WxMerchantSubsidy merchantSubsidyQ = new WxMerchantSubsidy();
// merchantSubsidyQ.setCouponOrderId(co.getId());
// merchantSubsidyQ.setCouponType(co.getCouponType());
// merchantSubsidyQ.setType(EnumMerchantSubsidyType.MANUAL.getCode());
// merchantSubsidyQ.updateTenantInfo(co);
// List<WxMerchantSubsidy> msList = wxMerchantSubsidyMapper.selectList(new QueryWrapper<WxMerchantSubsidy>(merchantSubsidyQ));
// if (msList.size() > 0) {
// co.setSubsidyNum(msList.get(0).getSubsidy());
// }
co.setSubsidyNum(co.getSubsidy());
Long merchanId = merchantProductIdMap.get(co.getCouponId());
if (null != merchanId) {
if (merchanId == -999L) {
co.setMerchantName("多商户通用");
co.setMerchantId(0L);
}else {
co.setMerchantName(merchantNameMap.get(merchanId));
co.setMerchantId(merchanId);
}
}
//WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.getById(co.getCUserId(), co.getFinalTenantId());
WxCUserBasicInfo basicInfo = cUserMap.get(co.getCUserId());
if (null != basicInfo) {
co.setcuserPhone(basicInfo.getPhone());
co.setUserNickName(basicInfo.getNickName());
}
//WxMerchantBUser buser = wxMerchantBUserService.getById(co.getBUserId());
Long buserMechantId = buserMerchantIdMap.get(co.getBUserId());
if (null != buserMechantId) {
co.setVerifyMerchantName(merchantNameMap.get(buserMechantId));
}
//co.setChannelType();)
WxCouponOrder coo = list.get(i);
WxCouponOrderBVo co = new WxCouponOrderBVo();
try {
BeanUtils.copyProperties(co, coo);
if (co.getCouponOrderStatus().equals(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode())) {
co.setUpdateDate(null);
}
if (null != co.getSendMerchantId()) {
co.setSendMerchantName(merchantNameMap.get(co.getSendMerchantId()));
}
WxCoupon coupon = couponMap.get(co.getCouponId());
if (null != coupon) {
co.setTitle(coupon.getTitle());
co.setSalePrice(coupon.getSalePrice());
co.setUsePrice(coupon.getUsePrice());
co.setPrice(coupon.getPrice());
co.setAutoRefund(coupon.getAutoRefund());
co.setBusiness(coupon.getBusiness());
co.setSubsidyType(coupon.getSubsidyType());
co.setSourceType(coupon.getSourceType());
}
co.setSubsidyNum(co.getSubsidy());
Long merchanId = merchantProductIdMap.get(co.getCouponId());
if (null != merchanId) {
if (merchanId == -999L) {
co.setMerchantName("多商户通用");
co.setMerchantId(0L);
}else {
co.setMerchantName(merchantNameMap.get(merchanId));
co.setMerchantId(merchanId);
}
}
WxCUserBasicInfo basicInfo = cUserMap.get(co.getCUserId());
if (null != basicInfo) {
co.setcuserPhone(basicInfo.getPhone());
co.setUserNickName(basicInfo.getNickName());
}
Long buserMechantId = buserMerchantIdMap.get(co.getBUserId());
if (null != buserMechantId) {
co.setVerifyMerchantName(merchantNameMap.get(buserMechantId));
}
//co.setChannelType();)
retList.add(co);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
return retList;
}
return null;
}
@@ -576,7 +791,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
wxCouponOrder.setCUserId(basicInfo.getId());
}else {
//throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"手机号查询不到会员信息。");
wxCouponOrder.setCUserId(-999L);
wxCouponOrder.setId(-999L);
return;
}
}
@@ -588,9 +803,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
merchantProductIds = wxCouponMerchantMapper.findMerchantProductIds(wxCouponOrder.getTenantId(), merchantIdListQueryParam);
if (null == merchantProductIds || merchantProductIds.size() <= 0) {
//throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"商户下查询不到券信息。");
List<Long> tempCouponIds = new ArrayList<Long>();
tempCouponIds.add(-999L);
wxCouponOrder.setCouponIds(tempCouponIds);
wxCouponOrder.setId(-999L);
return;
}
}
@@ -608,9 +821,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
couponIds = wxCouponMapper.findIdList(wxCouponQuery);
if (null == couponIds || couponIds.size() <= 0) {
//throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"根据券条件搜索不到券信息。");
List<Long> tempCouponIds = new ArrayList<Long>();
tempCouponIds.add(-999L);
wxCouponOrder.setCouponIds(tempCouponIds);
wxCouponOrder.setId(-999L);
return;
}
}
@@ -637,9 +848,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
List<Long> merchantIds = wxMerchantMapper.findIdList(merchantQ2);
if (null == merchantIds || merchantIds.size() <= 0 ){
//throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"核销商户名称查询不到商户记录.");
List<Long> tempBUserIds = new ArrayList<Long>();
tempBUserIds.add(-999L);
wxCouponOrder.setBUserIdList(tempBUserIds);
wxCouponOrder.setId(-999L);
return;
}
@@ -648,9 +857,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
List<Long> bUserIdList = wxMerchantBUserMapper.findIdList(merchantBUserQ);
if (null == bUserIdList || bUserIdList.size() <= 0 ){
//throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"核销商户下查询不到员工信息.");
List<Long> tempBUserIds = new ArrayList<Long>();
tempBUserIds.add(-999L);
wxCouponOrder.setBUserIdList(tempBUserIds);
wxCouponOrder.setId(-999L);
return;
}
wxCouponOrder.setBUserIdList(bUserIdList);
@@ -662,10 +869,16 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
@Override
public ResultData detailAdminVo(Long couponOrderId,TenantEntity tenantinfo) {

WxCouponOrderBVo wxCouponOrderBVo = wxCouponOrderMapper.findDetailOfAdmin(couponOrderId,tenantinfo.getTenantId(),tenantinfo.getFinalTenantId());
if (wxCouponOrderBVo == null)
WxCouponOrder couponOrder = wxCouponOrderMapper.findDetailOfAdmin(couponOrderId,tenantinfo.getTenantId(),tenantinfo.getFinalTenantId());
if (null == couponOrder) {
return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL);
}
List<WxCouponOrder> couponOrderList = new ArrayList<WxCouponOrder>();
couponOrderList.add(couponOrder);
List<WxCouponOrderBVo> wxCouponOrderBVoList = handleToCouponOrderBVoList(tenantinfo,couponOrderList);
if (wxCouponOrderBVoList == null || wxCouponOrderBVoList.size() <= 0 )
return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL);
return new ResultData(wxCouponOrderBVo);
return new ResultData(wxCouponOrderBVoList.get(0));
}

@Override
@@ -675,9 +888,9 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
filename = "商品订单";
}
handleWxCouponOrderBVoQueryParam(wxCouponOrder);
List<WxCouponOrderBVo> list = wxCouponOrderMapper.findListOfAdmin(wxCouponOrder);
handleQueryResult(list,wxCouponOrder);
excelService.exportCsv(list, null, filename, WxCouponOrderBVo.class, filename + ".csv", response, false);
List<WxCouponOrder> list = wxCouponOrderMapper.findListOfAdmin(wxCouponOrder);
List<WxCouponOrderBVo> bolist = handleQueryResult(list,wxCouponOrder);
excelService.exportCsv(bolist, null, filename, WxCouponOrderBVo.class, filename + ".csv", response, false);
}

private WxAppinfo getAppinfo(TenantEntity tenantEntity,Integer payWay) {


+ 1
- 2
mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml Wyświetl plik

@@ -254,8 +254,7 @@
</foreach>
</if>
</select>


<select id="findList1" resultMap="BaseResultMap">
select
<include refid="allColumns"/>


+ 7
- 1
mallinkService/src/main/resources/mapper/WxCouponMapper.xml Wyświetl plik

@@ -314,8 +314,14 @@
</select>
<select id="findTenantSimpleList" parameterType="com.iformall.domain.po.WxCoupon" resultMap="BaseResultMap">
select id,title,sale_price,use_price,price,auto_refund,business,subsidy_type,source_type
select id,title,sale_price,use_price,price,auto_refund,business,subsidy_type,source_type,type,unit
from wx_coupon c where c.`tenant_id` = #{tenantId}
<if test=" null != ids ">
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
</if>
</select>
<select id="findIdList" parameterType="com.iformall.domain.po.WxCoupon" resultType="Long">


+ 58
- 134
mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml Wyświetl plik

@@ -157,7 +157,51 @@
select <include refid="allColumns" /> from wx_coupon_order
<include refid="dynamicWhereConditions" />
</select>
<select id="findListOfVerifiedByDateForBUser" parameterType="map" resultMap="BaseResultMap">
co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark,co.pay_vendor,
co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`,
co.b_user_id,co.c_user_id
from wx_coupon_order co
where co.tenant_id = #{tenantId}
AND co.coupon_order_status = '1'
<if test=" null != bUserIds ">
and co.b_user_id in
<foreach collection="bUserIds" index="index" item="bUserIdItem" open="(" separator="," close=")">
#{bUserIdItem}
</foreach>
</if>
<if test="startDate != null">
AND co.update_date &gt; #{startDate,jdbcType=TIMESTAMP}
</if>
<if test="endDate != null">
AND co.update_date &lt; #{endDate,jdbcType=TIMESTAMP}
</if>
order by co.update_date desc
</select>
<select id="findListOfOrderedByDateForBUser" parameterType="map" resultMap="BaseResultMap">
co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark,co.pay_vendor,
co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`,
co.b_user_id,co.c_user_id
from wx_coupon_order co
where co.tenant_id = #{tenantId}
<if test=" null != couponIds ">
and co.coupon_id in
<foreach collection="couponIds" index="index" item="couponIdItem" open="(" separator="," close=")">
#{couponIdItem}
</foreach>
</if>
<if test="startDateTimes != null">
AND co.create_date_times &gt; #{startDateTimes}
</if>
<if test="endDate != null">
AND co.create_date_times &lt; #{endDateTimes}
</if>
order by co.create_date_times desc

</select>
<update id="updateVerifyCouponOrder" parameterType="com.iformall.domain.po.WxCouponOrder">
update wx_coupon_order
set `coupon_order_status` = #{couponOrderStatus},
@@ -779,57 +823,6 @@
and shipping_type = 2 and shipping_status = 24 and coupon_order_status = 0
</select>

<resultMap id="BVoResultMap" type="com.iformall.domain.vo.WxCouponOrderBVo">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="tenant_id" jdbcType="BIGINT" property="tenantId" />
<result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId" />
<result column="coupon_id" jdbcType="BIGINT" property="couponId" />
<result column="coupon_type" jdbcType="INTEGER" property="couponType" />
<result column="c_user_id" jdbcType="BIGINT" property="cUserId" />
<result column="owner_id" jdbcType="BIGINT" property="ownerId" />
<result column="b_user_id" jdbcType="BIGINT" property="bUserId" />
<result column="order_id" jdbcType="BIGINT" property="orderId" />
<result column="expired_time" jdbcType="TIMESTAMP" property="expiredTime" />
<result column="coupon_order_status" jdbcType="INTEGER" property="couponOrderStatus" />
<result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
<result column="coupon_price" jdbcType="INTEGER" property="couponPrice" />
<result column="pay_vendor" jdbcType="INTEGER" property="payVendor" />
<result column="verify_type" jdbcType="INTEGER" property="verifyType" />
<result column="verify_remark" jdbcType="VARCHAR" property="verifyRemark" />

<result column="freight_price" jdbcType="INTEGER" property="freightPrice"/>
<result column="shipping_type" jdbcType="INTEGER" property="shippingType"/>
<result column="shipping_address" jdbcType="VARCHAR" property="shippingAddress"/>
<result column="shipping_status" jdbcType="INTEGER" property="shippingStatus"/>
<result column="delivery_info" jdbcType="VARCHAR" property="deliveryInfo"/>

<result column="merchant_id" jdbcType="BIGINT" property="merchantId"/>
<result column="type" jdbcType="INTEGER" property="type" />
<result column="title" jdbcType="VARCHAR" property="title" />
<result column="sale_price" jdbcType="INTEGER" property="salePrice" />
<result column="use_price" jdbcType="INTEGER" property="usePrice" />
<result column="price" jdbcType="INTEGER" property="price" />
<result column="auto_refund" jdbcType="INTEGER" property="autoRefund" />
<result column="business" jdbcType="INTEGER" property="business"/>
<result column="subsidy_num" jdbcType="INTEGER" property="subsidyNum"/>
<result column="subsidy_type" jdbcType="INTEGER" property="subsidyType"/>
<result column="name" jdbcType="VARCHAR" property="bUserName" />
<result column="bphone" jdbcType="VARCHAR" property="bUserPhone" />
<result column="phone" jdbcType="VARCHAR" property="cUserPhone" />
<result column="merchant_name" jdbcType="VARCHAR" property="merchantName" />
<result column="verify_merchant_name" jdbcType="VARCHAR" property="verifyMerchantName"/>
<collection column="{productId=coupon_id,tenantId=tenant_id}" property="merchantVoList"
ofType="com.iformall.domain.vo.WxMerchantVo"
javaType="java.util.List"
select="com.iformall.mapper.WxCouponMerchantMapper.findMerchantNameList" >
</collection>
</resultMap>

<resultMap id="AdminBVoResultMap" type="com.iformall.domain.vo.WxCouponOrderBVo">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="tenant_id" jdbcType="BIGINT" property="tenantId" />
@@ -878,21 +871,16 @@
<result column="send_merchant_id" jdbcType="INTEGER" property="sendMerchantId" />
</resultMap>

<sql id="allAdminCouponOrderDetailColumns">
co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,
co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark, co.pay_vendor,
co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`,
c.type,c.title,c.sale_price,c.use_price,c.price,c.unit,c.auto_refund,c.business,c.subsidy_type,ms.subsidy subsidy_num,
bu.name, bu.phone as bphone,
cu.phone,
m.name as merchant_name,m.id as merchant_id
</sql>

<select id="findListOfAdmin" parameterType="com.iformall.domain.vo.WxCouponOrderBVo" resultMap="AdminBVoResultMap">

<select id="findListOfAdmin" parameterType="com.iformall.domain.vo.WxCouponOrderBVo" resultMap="BaseResultMap">
select co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.expired_time,co.coupon_order_status,co.order_id,
co.create_date,co.update_date,co.coupon_price, co.verify_type, co.verify_remark,co.pay_vendor,
co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`,co.send_merchant_id,co.subsidy
FROM wx_coupon_order co where co.`tenant_id` = #{tenantId}
<if test=" null != id and '' != id">
and co.`id` = #{id}
</if>
<choose>
<when test=" null != couponType">
and co.coupon_type = #{couponType}
@@ -972,9 +960,17 @@
</if>
<if test=" null != sortColumns"> order by ${sortColumns} </if>
<if test=" null == sortColumns">order by co.create_date desc,co.id desc</if>
<if test=" null == sortColumns">order by co.id desc</if>
</select>
<select id="findDetailOfAdmin" parameterType="java.util.HashMap" resultMap="BaseResultMap">
co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,
co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark, co.pay_vendor,
co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`,co.subsidy
where co.id = #{id} and co.tenant_id = #{tenantId} and cu.final_tenant_id = #{finalTenantId}
</select>

<select id="findGoodsList" parameterType="com.iformall.domain.vo.WxCouponOrderBVo" resultMap="AdminBVoResultMap">
select
@@ -1062,78 +1058,6 @@

</select>


<select id="findDetailOfAdmin" parameterType="java.util.HashMap" resultMap="BVoResultMap">
select <include refid="allAdminCouponOrderDetailColumns" />
from wx_coupon c, wx_coupon_order co
left join wx_c_user_basic_info cu on cu.id = co.c_user_id
left join wx_merchant_b_user bu on co.b_user_id = bu.id
left join wx_merchant m on m.id = bu.merchant_id
left join wx_merchant_subsidy ms on co.id = ms.coupon_order_id and ms.type = 1
where co.id = #{id} and co.tenant_id = #{tenantId} and cu.final_tenant_id = #{finalTenantId}
and c.id = co.coupon_id
</select>

<sql id="allBUserVerifiedCouponOrderColumns">
co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark,co.pay_vendor,
co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`,
c.type,c.title,c.sale_price,c.use_price,c.price,c.unit,
bu.name,
cu.phone
</sql>

<sql id="allBUserOrderedCouponOrderColumns">
co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark,co.pay_vendor,
co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`,
c.type,c.title,c.sale_price,c.use_price,c.price,c.unit,
cu.phone
</sql>


<select id="findListOfOrderedByDateForBUser" parameterType="map" resultMap="BVoResultMap">
select <include refid="allBUserOrderedCouponOrderColumns" />
from wx_coupon_order co,wx_coupon c,wx_c_user_basic_info cu,wx_coupon_merchant cm,
(select tco.id as tcoid,
(select count(*) from wx_coupon_merchant tcm
where tcm.product_id = tco.coupon_id
and tcm.status = 0) as mc
from wx_coupon_order tco) com
where com.mc = 1
and com.tcoid = co.id
and cm.merchant_id = #{merchantId}
and co.tenant_id = #{tenantId}
and cm.product_id = c.id
and cm.status = 0
and co.coupon_id = c.id
and cu.id = co.c_user_id
<if test="startDate != null">
AND co.create_date &gt; #{startDate,jdbcType=TIMESTAMP}
</if>
<if test="endDate != null">
AND co.create_date &lt; #{endDate,jdbcType=TIMESTAMP}
</if>
order by co.create_date desc

</select>

<select id="findListOfVerifiedByDateForBUser" parameterType="map" resultMap="BVoResultMap">
select <include refid="allBUserVerifiedCouponOrderColumns" />
from wx_coupon_order co,wx_coupon c,wx_c_user_basic_info cu,wx_merchant_b_user bu
where co.coupon_id = c.id
and co.tenant_id = #{tenantId}
and cu.id = co.c_user_id
and bu.id = co.b_user_id
and bu.merchant_id = #{merchantId}
<if test="startDate != null">
AND co.update_date &gt; #{startDate,jdbcType=TIMESTAMP}
</if>
<if test="endDate != null">
AND co.update_date &lt; #{endDate,jdbcType=TIMESTAMP}
</if>
AND co.coupon_order_status = '1'
order by co.update_date desc
</select>

<sql id="allCouponOrderColumns">
co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,
co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark,co.pay_vendor,


+ 12
- 0
mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml Wyświetl plik

@@ -114,6 +114,18 @@
from wx_merchant_b_user
<include refid="dynamicWhereConditions"/>
</select>
<select id="findSimpleList" parameterType="com.iformall.domain.po.WxMerchantBUser" resultMap="BaseResultMap">
select id,name,phone,merchant_id
from wx_merchant_b_user
where `tenant_id` = #{tenantId}
<if test=" null != ids ">
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
</if>
</select>

<select id="findSelMerchantList" parameterType="com.iformall.domain.po.WxMerchantBUser" resultType="com.iformall.domain.vo.WxMerchantBuInfoVo">
select


Ładowanie…
Anuluj
Zapisz