Przeglądaj źródła

Merge commit 'refs/tags/jenkins-back-end-560^{}' into release

release_toaliyun_real
hupeng 7 lat temu
rodzic
commit
6ba425c1ee
38 zmienionych plików z 519 dodań i 154 usunięć
  1. +12
    -12
      mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java
  2. +8
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/WxCarCallBackController.java
  3. +1
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/WxMsgController.java
  4. +10
    -0
      mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java
  5. +8
    -8
      mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java
  6. +1
    -1
      mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java
  7. +2
    -2
      mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java
  8. +44
    -0
      mallinkCApi/src/main/java/com/iformall/controller/WxMerchantController.java
  9. +1
    -1
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java
  10. +32
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxCouponChannel.java
  11. +11
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxWiWideInfo.java
  12. +18
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/WxCUserBasicInfoVo.java
  13. +0
    -38
      mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantDiscountVo.java
  14. +2
    -1
      mallinkService/src/main/java/com/iformall/enums/EnumRentContractType.java
  15. +36
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumWiWideInfoStatus.java
  16. +3
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java
  17. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCarCmdLogMapper.java
  18. +4
    -2
      mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java
  19. +19
    -9
      mallinkService/src/main/java/com/iformall/service/WxCarCmdLogService.java
  20. +11
    -2
      mallinkService/src/main/java/com/iformall/service/WxMerchantService.java
  21. +13
    -0
      mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java
  22. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java
  23. +32
    -29
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java
  24. +8
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java
  25. +7
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCarCmdLogServiceImpl.java
  26. +6
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java
  27. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantSubsidyServiceImpl.java
  28. +6
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java
  29. +16
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java
  30. +23
    -0
      mallinkService/src/main/java/com/iformall/utils/HashUtil.java
  31. +100
    -0
      mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml
  32. +5
    -2
      mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml
  33. +6
    -1
      mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml
  34. +3
    -3
      mallinkService/src/main/resources/mapper/WxCouponInjectMapper.xml
  35. +34
    -25
      mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml
  36. +22
    -1
      mallinkService/src/main/resources/mapper/WxMerchantMapper.xml
  37. +8
    -2
      mallinkService/src/main/resources/mapper/WxOrderMapper.xml
  38. +2
    -2
      mallinkService/src/main/resources/mapper/WxWiwideInfoMapper.xml

+ 12
- 12
mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java Wyświetl plik

@@ -262,8 +262,8 @@ public class WxCUserBasicInfoController extends BaseController {

@GetMapping("/queryTemplateCount")
public ResultData queryTemplateCount() {
String userId = getUser().getId().toString();
Map entries = stringRedisTemplate.opsForHash().entries(userId);
String importKey = "import-" + getUser().getId();
Map entries = stringRedisTemplate.opsForHash().entries(importKey);
logger.info(JSONArray.toJSONString(entries) + ">>>>>>>>>>>>>>>>>>>>>1");
if (entries.size() < 4) {
entries.clear();
@@ -274,22 +274,22 @@ public class WxCUserBasicInfoController extends BaseController {
String successCount = entries.get("successCount").toString();
String failCount = entries.get("failCount").toString();

if (allCount.equals(failCount)) {//stringRedisTemplate.expire(userId,1,TimeUnit.SECONDS);
if (StringUtils.isNotBlank(failCount) && allCount.equals(failCount)) {//stringRedisTemplate.expire(userId,1,TimeUnit.SECONDS);
logger.info(JSONArray.toJSONString(entries) + ">>>>>>>>>>>>>>>>>>>>>2");
//完全失败
stringRedisTemplate.opsForHash().delete(userId, "allCount");
stringRedisTemplate.opsForHash().delete(userId, "allSuccessCount");
stringRedisTemplate.opsForHash().delete(userId, "successCount");
stringRedisTemplate.opsForHash().delete(userId, "failCount");
stringRedisTemplate.opsForHash().delete(importKey, "allCount");
stringRedisTemplate.opsForHash().delete(importKey, "allSuccessCount");
stringRedisTemplate.opsForHash().delete(importKey, "successCount");
stringRedisTemplate.opsForHash().delete(importKey, "failCount");
return new ResultData(ErrorCode.MEM_IMPORT_ERR);
}
//导入完成
if (allSuccessCount.equals(successCount)) {
if (StringUtils.isNotBlank(allSuccessCount) && allSuccessCount.equals(successCount)) {
ResultData ok = new ResultData(Result.SUCCESS, "ok", entries);
stringRedisTemplate.opsForHash().delete(userId, "allCount");
stringRedisTemplate.opsForHash().delete(userId, "allSuccessCount");
stringRedisTemplate.opsForHash().delete(userId, "successCount");
stringRedisTemplate.opsForHash().delete(userId, "failCount");
stringRedisTemplate.opsForHash().delete(importKey, "allCount");
stringRedisTemplate.opsForHash().delete(importKey, "allSuccessCount");
stringRedisTemplate.opsForHash().delete(importKey, "successCount");
stringRedisTemplate.opsForHash().delete(importKey, "failCount");
return ok;
}
return new ResultData(Result.SUCCESS, "查询成功", entries);


+ 8
- 1
mallinkAdmin/src/main/java/com/iformall/controller/WxCarCallBackController.java Wyświetl plik

@@ -228,10 +228,17 @@ public class WxCarCallBackController extends BaseController {
logger.info("["+getIpAddr()+"etcpPaidCallback: " + paramMap.toString());
String carNumber = paramMap.get("plateNumber");

// TODO how to get the parkId
// 根据orderId获取入场信息,确定租户ID
String orderId = paramMap.get("orderId");
HashMap<String, String> map = new HashMap<String, String>();
map.put("synId", orderId);
String tenant_id = wxCarCmdLogService.getTenantIdBySynId(map);

Date currentDate = new Date();
WxCarCmdLog wxCarCmdLog = new WxCarCmdLog();
if(StringUtils.isNotBlank(tenant_id)) {
wxCarCmdLog.setTenantId(tenant_id);
}
wxCarCmdLog.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_PAY_MANUAL.getCode());
wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap));


+ 1
- 1
mallinkAdmin/src/main/java/com/iformall/controller/WxMsgController.java Wyświetl plik

@@ -107,7 +107,7 @@ public class WxMsgController extends BaseController {
if (phones.equals("")) {//没有手工输入手机号时解析标签,有,继续流转
phones = parselabel(wxMsg.getTenantId(), wxMsg);
if (phones.equals("")) {//解析之后手机号依然不存在时返回
return new ResultData(ErrorCode.MSG_PHONE_NOT_FOUND);
return new ResultData(ErrorCode.MSG_NO_VALID_PHONE);
}
}



+ 10
- 0
mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java Wyświetl plik

@@ -10,6 +10,7 @@ import com.iformall.enums.EnumMerchantBUserStatus;
import com.iformall.enums.EnumMerchantStatus;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.*;
import com.iformall.utils.HashUtil;
import com.iformall.utils.IPUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -81,6 +82,15 @@ public class WxMerchantBUserController extends BaseController {
resultMap.put("service_phone", mall.getServicePhone());
resultMap.put("tenant_id",merchant.getTenantId());
resultMap.put("merchant_id",merchant.getId());
String mid = null;
try {
mid = String.valueOf(merchant.getId());
if(mid != null) {
resultMap.put("merchant_id_scan", HashUtil.EncoderByMd5(mid));
}
}catch (Exception e) {
logger.error(e.getMessage());
}

return new ResultData(resultMap);
}


+ 8
- 8
mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java Wyświetl plik

@@ -45,22 +45,22 @@ public class WxCardPayController extends BaseController {
@Autowired
WxCardSpendService wxCardSpendService;

@ApiOperation(value = "C端扫B端储值卡支付订单", notes = "params:{\"cardId\":\"String\",\"merchantCode\":\"String\",\"totalFee\":\"String(元)\"}")
@ApiOperation(value = "C端扫B端储值卡支付订单", notes = "params:{\"cardId\":\"String\",\"merchantId\":\"String\",\"totalFee\":\"String(元)\"}")
@PostMapping("order_create")
public ResultData saveCardPayOrder(@RequestBody Map<String, String> paramMap, HttpServletRequest request) {
String ipStr = getIpAddr();
logger.info("saveCardPayOrder: " + ipStr + " :" + paramMap.toString());
String cardIdStr = paramMap.get("cardId");
String merchantCode = paramMap.get("merchantCode");
String merchantStr = paramMap.get("merchantId");
String totalFeeStr = paramMap.get("totalFee");

if (StringUtils.isBlank(cardIdStr)) {
logger.error("cardId不能为空");
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "cardId不能为空");
}
if (StringUtils.isBlank(merchantCode)) {
logger.error("merchantCode不能为空");
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "merchantCode不能为空");
if (StringUtils.isBlank(merchantStr)) {
logger.error("merchantId不能为空");
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "merchantId不能为空");
}
if (StringUtils.isBlank(totalFeeStr)) {
logger.error("totalFee不能为空");
@@ -76,10 +76,10 @@ public class WxCardPayController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "cardIdStr转换失败");
}
try {
merchantId = Long.valueOf(merchantCode);
merchantId = Long.valueOf(merchantStr);
} catch (Exception e) {
logger.error("merchantCode convert failed:" + merchantCode);
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "merchantCode转换失败");
logger.error("merchantCode convert failed:" + merchantStr);
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "merchantId转换失败");
}

BigDecimal totalFee = new BigDecimal(totalFeeStr);


+ 1
- 1
mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java Wyświetl plik

@@ -37,7 +37,7 @@ public class WxCouponChannelController extends BaseController {
wxCouponChannel.setTenantId(getTenantId());
wxCouponChannel.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode());
wxCouponChannel.setSortColumns(WxCouponChannel.Field.CreateDate_DESC);
wxCouponChannel.setIsCRequest(0);//标记为C端调用
return new ResultData(wxCouponChannelService.listPageCVo(wxCouponChannel, pageNum, pageSize));
}



+ 2
- 2
mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java Wyświetl plik

@@ -5,7 +5,7 @@ import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxMerchantDiscountVo;
import com.iformall.domain.vo.WxMerchantVo;
import com.iformall.enums.EnumMerchantStatus;
import com.iformall.service.*;
import io.swagger.annotations.Api;
@@ -123,7 +123,7 @@ public class WxMallController extends BaseController {
WxMerchant merchantQ = new WxMerchant();
merchantQ.setTenantId(user.getTenantId());
merchantQ.setStatus(EnumMerchantStatus.VALID.getCode());
List<WxMerchantDiscountVo> list = wxMerchantService.getDisCountList(merchantQ);
List<WxMerchantVo> list = wxMerchantService.getDisCountList(merchantQ);
return new ResultData(Result.SUCCESS, "查询成功", list);
}



+ 44
- 0
mallinkCApi/src/main/java/com/iformall/controller/WxMerchantController.java Wyświetl plik

@@ -0,0 +1,44 @@
package com.iformall.controller;

import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.domain.vo.WxMerchantVo;
import com.iformall.service.WxMerchantService;
import com.iformall.utils.HashUtil;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;

/**
* @author Stormeye
*/
@RestController
@RequestMapping("/api/merchant")
public class WxMerchantController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxMerchantService wxMerchantService;


@ApiOperation("根据code查询接口")
@GetMapping("/findByCode")
@ApiImplicitParam(name = "merchantCode", value = "merchantCode", dataType = "String", paramType = "query", required = true)
public ResultData findByCode(String merchantCode) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::findByCode");
if(merchantCode == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
HashMap<String, String> params = new HashMap<String, String>();
params.put("tenantId", getTenantId());
params.put("merchantCode", HashUtil.DecodeByMD5(merchantCode));
WxMerchantVo wxMerchant = wxMerchantService.getMerchantInfo(params);
return new ResultData(wxMerchant);
}

}

+ 1
- 1
mallinkService/src/main/java/com/iformall/common/ErrorCode.java Wyświetl plik

@@ -253,7 +253,7 @@ public enum ErrorCode{
/**
* 会员
*/
MEM_IMPORT_ERR(13000, "模板导入失败"),
MEM_IMPORT_ERR(13000, "模板导入失败,请尝试重新导入"),
MEM_SCORE_NOT_ENOUGH(13001, "成长值不够扣减值"),

/**


+ 32
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxCouponChannel.java Wyświetl plik

@@ -40,6 +40,15 @@ public class WxCouponChannel implements Serializable {
this.ids = ids;
}

@Transient
private Integer isCRequest;

@Transient
private Date startdate;

@Transient
private Date enddate;


@Transient
protected List<Long> couponIds;
@@ -89,6 +98,13 @@ public class WxCouponChannel implements Serializable {
@io.swagger.annotations.ApiModelProperty(value="子频道ID",name="subTargetId")
private Long subTargetId;

public Integer getIsCRequest() {
return isCRequest;
}

public void setIsCRequest(Integer isCRequest) {
this.isCRequest = isCRequest;
}

public String getTenantId() {
return tenantId;
@@ -165,6 +181,22 @@ public class WxCouponChannel implements Serializable {
this.subTargetId = subTargetId;
}

public Date getStartdate() {
return startdate;
}

public void setStartdate(Date startdate) {
this.startdate = startdate;
}

public Date getEnddate() {
return enddate;
}

public void setEnddate(Date enddate) {
this.enddate = enddate;
}



public static enum Field


+ 11
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxWiWideInfo.java Wyświetl plik

@@ -59,6 +59,9 @@ public class WxWiWideInfo implements Serializable {
@io.swagger.annotations.ApiModelProperty(value="expiredTime",name="expiredTime")
private Date expiredTime;

/*卖外迪信息类型列表,1,支持客流 2,支持wifi*/
@io.swagger.annotations.ApiModelProperty(value="capability",name="capability")
private String capability;

public String getTenantId() {
return tenantId;
@@ -105,6 +108,14 @@ public class WxWiWideInfo implements Serializable {
this.expiredTime = expiredTime;
}

public String getCapability() {
return capability;
}

public void setCapability(String capability) {
this.capability = capability;
}

public static enum Field
{
Id_ASC("`id` ASC"),Id_DESC("`id` DESC")


+ 18
- 0
mallinkService/src/main/java/com/iformall/domain/vo/WxCUserBasicInfoVo.java Wyświetl plik

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

import com.iformall.domain.po.WxCUserBasicInfo;

public class WxCUserBasicInfoVo extends WxCUserBasicInfo {

/**用户tags*/
@io.swagger.annotations.ApiModelProperty(value="用户tags",name="tags")
private String tags;

public String getTags() {
return tags;
}

public void setTags(String tags) {
this.tags = tags;
}
}

+ 0
- 38
mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantDiscountVo.java Wyświetl plik

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

public class WxMerchantDiscountVo extends WxMerchantVo {
private static final long serialVersionUID = 6687964942922444531L;

@io.swagger.annotations.ApiModelProperty(value="VIP折扣率1",name="vipDiscountRate1")
private Integer vipDiscountRate1;

@io.swagger.annotations.ApiModelProperty(value="VIP折扣率2",name="vipDiscountRate2")
private Integer vipDiscountRate2;

@io.swagger.annotations.ApiModelProperty(value="VIP折扣率3",name="vipDiscountRate3")
private Integer vipDiscountRate3;

public Integer getVipDiscountRate1() {
return vipDiscountRate1;
}

public void setVipDiscountRate1(Integer vipDiscountRate1) {
this.vipDiscountRate1 = vipDiscountRate1;
}

public Integer getVipDiscountRate2() {
return vipDiscountRate2;
}

public void setVipDiscountRate2(Integer vipDiscountRate2) {
this.vipDiscountRate2 = vipDiscountRate2;
}

public Integer getVipDiscountRate3() {
return vipDiscountRate3;
}

public void setVipDiscountRate3(Integer vipDiscountRate3) {
this.vipDiscountRate3 = vipDiscountRate3;
}
}

+ 2
- 1
mallinkService/src/main/java/com/iformall/enums/EnumRentContractType.java Wyświetl plik

@@ -8,7 +8,8 @@ package com.iformall.enums;
public enum EnumRentContractType {

RENT_BY_AREA(1, "面积"),
RENT_BY_JOINT(2, "联营扣点")
RENT_BY_JOINT(2, "联营扣点"),
RENT_BY_AREA_AND_JOINT(3, "面积与联营扣点取高")
;

public static EnumRentContractType getEnum(Integer code) {


+ 36
- 0
mallinkService/src/main/java/com/iformall/enums/EnumWiWideInfoStatus.java Wyświetl plik

@@ -0,0 +1,36 @@
package com.iformall.enums;

/**
* Created by Stormeye on 2018/08/09.
*/
public enum EnumWiWideInfoStatus {

INVALID(0, "未开通"),
VALID(1, "已开通")
;

public static EnumWiWideInfoStatus getEnum(Integer code) {
for (EnumWiWideInfoStatus value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;

EnumWiWideInfoStatus(Integer code, String message) {
this.code = code;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}
}

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

@@ -4,6 +4,7 @@ import com.iformall.common.CommonMapper;
import com.iformall.domain.dto.WxCUserBasicInfoDto;
import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.domain.vo.CUserBaseVo;
import com.iformall.domain.vo.WxCUserBasicInfoVo;

import java.util.List;

@@ -22,4 +23,6 @@ public interface WxCUserBasicInfoMapper extends CommonMapper<WxCUserBasicInfo, S
long findCountByScore(WxCUserBasicInfoDto dto);

long findCount(WxCUserBasicInfoDto dto);

List<WxCUserBasicInfoVo> findVoList(WxCUserBasicInfo wxCUserBasicInfo);
}

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

@@ -23,4 +23,6 @@ public interface WxCarCmdLogMapper extends CommonMapper<WxCarCmdLog, Long> {

List<Map<String,Object>> queryPlateNumberList(Map<String,Object> carParams);

String queryTenantIdBySynId(HashMap<String,String> params);

}

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

@@ -3,13 +3,15 @@ package com.iformall.mapper;
import java.util.*;
import com.iformall.common.CommonMapper;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.vo.WxMerchantDiscountVo;
import com.iformall.domain.vo.WxMerchantVo;

public interface WxMerchantMapper extends CommonMapper<WxMerchant, Long> {

List<WxMerchant> findList(WxMerchant wxMerchant);

List<WxMerchantDiscountVo> findDiscountList(WxMerchant wxMerchant);
List<WxMerchantVo> findDiscountList(WxMerchant wxMerchant);

WxMerchantVo getMerchantByCode(HashMap<String, String> params);



+ 19
- 9
mallinkService/src/main/java/com/iformall/service/WxCarCmdLogService.java Wyświetl plik

@@ -3,14 +3,16 @@ package com.iformall.service;
import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxCarCmdLog;

import java.util.HashMap;

public interface WxCarCmdLogService {

/**
* 根据实体查询分页列表
*
* @param record
* @param offset
* @param limit
* @param pageIndex
* @param pageSize
* @return
*/
PageInfo<WxCarCmdLog> listAsPage(WxCarCmdLog record, Integer pageIndex, Integer pageSize);
@@ -36,12 +38,20 @@ public interface WxCarCmdLogService {
* @param id
*/
void deleteById(Long id);


/**
* 根据synId获取tenantId
* @param params
* @return
*/
String getTenantIdBySynId(HashMap<String, String> params);








}

+ 11
- 2
mallinkService/src/main/java/com/iformall/service/WxMerchantService.java Wyświetl plik

@@ -3,8 +3,9 @@ package com.iformall.service;
import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.vo.WxMerchantDiscountVo;
import com.iformall.domain.vo.WxMerchantVo;

import java.util.HashMap;
import java.util.List;

/**
@@ -28,7 +29,15 @@ public interface WxMerchantService {
* @param record
* @return
*/
List<WxMerchantDiscountVo> getDisCountList(WxMerchant record);
List<WxMerchantVo> getDisCountList(WxMerchant record);

/**
* 根据code查询
*
* @param params
* @return
*/
WxMerchantVo getMerchantInfo(HashMap<String, String> params);

/**
* 根据实体查询分页列表


+ 13
- 0
mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java Wyświetl plik

@@ -1,5 +1,6 @@
package com.iformall.service.impl;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
@@ -673,6 +674,18 @@ public class DataTowerServiceImpl implements DataTowerService {
return new ResultData(ErrorCode.WIWIDE_INFO_NOT_FOUND);
}
wiWideInfo = list.get(0);
List<Integer> cap = JSONArray.parseArray(wiWideInfo.getCapability(), Integer.class);
Integer dataType;
try {
dataType = Integer.valueOf(params.get("dataType"));
params.remove("dataType");
}catch (Exception e){
return new ResultData(ErrorCode.WIWIDE_INFO_NOT_FOUND);
}

if (cap == null || !cap.stream().anyMatch(c->c.equals(dataType))) {
return new ResultData(ErrorCode.WIWIDE_INFO_NOT_FOUND);
}
String res = WiwideUtil.queryData(wiWideInfo, getWiwideToken(wiWideInfo), params);
JSONObject result = JSONObject.parseObject(res);
if (result.getInteger("result") == 200){


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java Wyświetl plik

@@ -568,7 +568,7 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService {
if (markingCouponDataReportDto.getStartTime() != null)
params1.put("startTime", convertDateAndAdd(markingCouponDataReportDto.getStartTime(),0));
if (markingCouponDataReportDto.getEndTime() != null)
params1.put("endTime", convertDateAndAdd(markingCouponDataReportDto.getEndTime(), 1));
params1.put("endTime", markingCouponDataReportDto.getEndTime());
PageHelper.startPage(pageIndex, pageSize);
List<TouchUsersReportVo> wxUserVisitList = wxUserVisitMapper.touchUsersReportList(params1);

@@ -582,7 +582,7 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService {
if (markingCouponDataReportDto.getStartTime() != null)
params2.put("startTime", convertDateAndAdd(markingCouponDataReportDto.getStartTime(),0));
if (markingCouponDataReportDto.getEndTime() != null)
params2.put("endTime", convertDateAndAdd(markingCouponDataReportDto.getEndTime(), 1));
params2.put("endTime", markingCouponDataReportDto.getEndTime());
List<TouchUsersReportVo> couponDatalist = wxCouponOrderMapper.touchUsersReportList(params2);

Map<String,TouchUsersReportVo> visitMap = couponDatalist.stream().collect(Collectors.toMap(TouchUsersReportVo::getxTime, p -> p));


+ 32
- 29
mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java Wyświetl plik

@@ -18,6 +18,7 @@ import com.iformall.domain.po.WxTags;
import com.iformall.domain.vo.CUserBaseInfoT;
import com.iformall.domain.vo.CUserBaseVo;
import com.iformall.domain.vo.CUserTagVo;
import com.iformall.domain.vo.WxCUserBasicInfoVo;
import com.iformall.enums.EnumAssignTagsTrigger;
import com.iformall.enums.EnumScoreType;
import com.iformall.mapper.WxCUserBasicInfoMapper;
@@ -155,7 +156,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
public void exportData(HttpServletRequest request, HttpServletResponse response, String tenantId) {
WxCUserBasicInfo basicInfoQ = new WxCUserBasicInfo();
basicInfoQ.setTenantId(tenantId);
List<WxCUserBasicInfo> memberlist = wxCUserBasicInfoMapper.findList(basicInfoQ);
List<WxCUserBasicInfoVo> memberlist = wxCUserBasicInfoMapper.findVoList(basicInfoQ);

XSSFWorkbook workbook;
String filepath = Constant.fileDirectory;
@@ -168,6 +169,9 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

WxTags wxTagsQ = new WxTags();
List<WxTags> tagList = wxTagsMapper.findList(wxTagsQ);

try {
File file = new File(filepath);
workbook = new XSSFWorkbook();
@@ -211,7 +215,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
tagCellTwo = rowtwo.createCell(9);
scoreCellTwo = rowtwo.createCell(10);

WxCUserBasicInfo entity = memberlist.get(i);
WxCUserBasicInfoVo entity = memberlist.get(i);

String sexStr = "保密";
if (entity.getSex() == 1)
@@ -229,21 +233,22 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
updateDateCellTwo.setCellValue(sdf.format(entity.getUpdateDate()));
createDateCellTwo.setCellValue(sdf.format(entity.getCreateDate()));
if (entity != null) {
if (entity.getTagId() != null) {
WxCUserTags uTag = wxCUserTagsMapper.selectByPrimaryKey(entity.getTagId());
if (uTag != null && StringUtils.isNotBlank(uTag.getTags())) {
List<Long> ids = JSONObject.parseArray(uTag.getTags(), Long.class);
if (entity.getTagId() != null && entity.getTags() != null) {
if (StringUtils.isNotBlank(entity.getTags())) {
List<Long> ids = JSONObject.parseArray(entity.getTags(), Long.class);
if (!ids.isEmpty()) {
WxTags wxTagsQ = new WxTags();
wxTagsQ.setIds(ids);
List<WxTags> tagList = wxTagsMapper.findList(wxTagsQ);
String tagNames = "";
String tagIds = "";
List<Long> tagIdList = new ArrayList<>();
for (WxTags wt : tagList) {
tagNames += wt.getName() + "/";
tagIds += wt.getId() + ",";
tagIdList.add(wt.getId());
for(Long id: ids) {
for(WxTags tag: tagList) {
if(id.equals(tag.getId())) {
tagNames += tag.getName() + "/";
tagIds += tag.getId() + ",";
tagIdList.add(tag.getId());
break;
}
}
}
if (StringUtils.isNotBlank(tagNames)) {
entity.setTagNames(tagNames.substring(0, tagNames.length() - 1));
@@ -513,27 +518,25 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {

final IdWorker idWorker = IdWorker.get();

String importKey = "import-" + userId;

//默认添加到redis里
stringRedisTemplate.opsForHash().put(importKey, "allCount", "");
stringRedisTemplate.opsForHash().put(importKey, "allSuccessCount", "0");
stringRedisTemplate.opsForHash().put(importKey, "successCount", "0");
stringRedisTemplate.opsForHash().put(importKey, "failCount", "0");

ImportParams params = new ImportParams();
//IExcelDataHandler<CUserBaseInfoT> handler = new UserExcelHandler();
//handler.setNeedHandlerFields(new String[]{"姓名", "性别", "手机号", "微信昵称", "学历", "生日", "地址", "上次活跃时间", "注册时间", "标签", "成长值"});// 注意这里对应的是excel的列名。也就是对象上指定的列名。
//params.setDataHandler(handler);
//params.setVerifyHandler();
// 需要验证
params.setImportFields(new String[]{"姓名", "性别", "手机号", "微信昵称", "学历", "生日", "地址", "上次活跃时间", "注册时间", "标签", "成长值"});
params.setNeedVerify(true);

try {

ExcelImportResult<CUserBaseInfoT> datalist = ExcelImportUtil.importExcelMore(file.getInputStream(), CUserBaseInfoT.class, params);
List<CUserBaseInfoT> successList = datalist.getList();
List<CUserBaseInfoT> failList = datalist.getFailList();
logger.info("验证通过的数量:" + successList.size());
logger.info("验证未通过的数量:" + failList.size());
//如果不存在就添加
stringRedisTemplate.opsForHash().put(userId, "allCount", successList.size() + failList.size() + "");
stringRedisTemplate.opsForHash().put(userId, "allSuccessCount", successList.size() + "");
stringRedisTemplate.opsForHash().put(userId, "successCount", "0");
stringRedisTemplate.opsForHash().put(userId, "failCount", failList.size() + "");
logger.info("验证通过的数量: " + successList.size());
logger.info("验证未通过的数量: " + failList.size());

successList.parallelStream().forEach(uBase->{

@@ -645,12 +648,12 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
stringRedisTemplate.opsForHash().increment(userId,"successCount",1);
});
} catch (Exception e) {
stringRedisTemplate.opsForHash().put(importKey, "allCount", "1");
stringRedisTemplate.opsForHash().put(importKey, "allSuccessCount", "0");
stringRedisTemplate.opsForHash().put(importKey, "successCount", "0");
stringRedisTemplate.opsForHash().put(importKey, "failCount", "1");
e.printStackTrace();
logger.error("导入模板失败:"+e.getMessage());
stringRedisTemplate.opsForHash().put(userId, "allCount", "1");
stringRedisTemplate.opsForHash().put(userId, "allSuccessCount", "0");
stringRedisTemplate.opsForHash().put(userId, "successCount", "0");
stringRedisTemplate.opsForHash().put(userId, "failCount", "1");
}

return new ResultData();


+ 8
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java Wyświetl plik

@@ -126,11 +126,14 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {
String str = JSON.toJSONString(tagId);
hs.addAll(wxCUserTagsMapper.findByTags(str, tenantId));
}
List<Long> userIds = new ArrayList<>();
userIds.addAll(hs);
WxCUserBasicInfo wxCUserBasicInfo = new WxCUserBasicInfo();
wxCUserBasicInfo.setIds(userIds);
return wxCUserBasicInfoMapper.findList(wxCUserBasicInfo);
if (!hs.isEmpty()) {
List<Long> userIds = new ArrayList<>();
userIds.addAll(hs);
WxCUserBasicInfo wxCUserBasicInfo = new WxCUserBasicInfo();
wxCUserBasicInfo.setIds(userIds);
return wxCUserBasicInfoMapper.findList(wxCUserBasicInfo);
}
return new ArrayList<>();
}




+ 7
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxCarCmdLogServiceImpl.java Wyświetl plik

@@ -11,6 +11,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.iformall.common.IdWorker;

import java.util.HashMap;

@Service
public class WxCarCmdLogServiceImpl implements WxCarCmdLogService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@@ -47,7 +49,11 @@ public class WxCarCmdLogServiceImpl implements WxCarCmdLogService {
}
@Override
public String getTenantIdBySynId(HashMap<String,String> params) {
return wxCarCmdLogMapper.queryTenantIdBySynId(params);
}



+ 6
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java Wyświetl plik

@@ -7,7 +7,6 @@ import com.iformall.common.IdWorker;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxMerchantDiscountVo;
import com.iformall.domain.vo.WxMerchantVo;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
@@ -102,10 +101,15 @@ public class WxMerchantServiceImpl implements WxMerchantService {
}

@Override
public List<WxMerchantDiscountVo> getDisCountList(WxMerchant record) {
public List<WxMerchantVo> getDisCountList(WxMerchant record) {
return wxMerchantMapper.findDiscountList(record);
}

@Override
public WxMerchantVo getMerchantInfo(HashMap<String, String> params) {
return wxMerchantMapper.getMerchantByCode(params);
}

@Override
public List<WxMerchant> etcpList(WxMerchant record) {
record.setCarVendorType(EnumCarVendor.CAR_ETCP.getCode());


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxMerchantSubsidyServiceImpl.java Wyświetl plik

@@ -131,7 +131,7 @@ public class WxMerchantSubsidyServiceImpl implements WxMerchantSubsidyService {

WxMerchantSubsidyVo entity = subsidyVoList.get(i);

idCellTwo.setCellValue(String.valueOf(entity.getId()));
idCellTwo.setCellValue(String.valueOf(entity.getOrderId()));
merchantNameCellTwo.setCellValue(entity.getMerchantName());
if (entity.getCreateDate() != null)
createDateCellTwo.setCellValue(sdf.format(entity.getCreateDate()));


+ 6
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java Wyświetl plik

@@ -613,6 +613,9 @@ public class WxOrderServiceImpl implements WxOrderService {
throw new MallinkException(ErrorCode.COUPON_IS_NOT_FREE);
}

// 减库存操作
stockReduce(user, coupon, couponIdStr);

int payment = coupon.getSalePrice();

Date curr = new Date();
@@ -692,6 +695,9 @@ public class WxOrderServiceImpl implements WxOrderService {
throw new MallinkException(ErrorCode.COUPON_IS_NOT_FREE);
}

// 减库存操作
stockReduce(user, coupon, couponIdStr);

int payment = coupon.getSalePrice();

Date curr = new Date();


+ 16
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java Wyświetl plik

@@ -165,6 +165,22 @@ public class WxRentContractServiceImpl implements WxRentContractService {
return new ResultData(ErrorCode.RENT_CONTRACT_WITH_SHOP_IS_FOUND);
}
wxRentContractMapper.insertSelective(record);
//建立账单
if (record.getMerchantId() != null && record.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode())
&& record.getReceivePeriod() != null && record.getDeposit() > 0 && record.getPrice() > 0) {
WxBillRent wxBillRent = new WxBillRent();
wxBillRent.setMerchantId(record.getMerchantId());
List<Map<String, Object>> billRentList = wxBillRentMapper.queryBillRentList(wxBillRent);
if (billRentList.size() == 0) {
WxMerchant wxMerchant = new WxMerchant();
wxMerchant.setId(record.getMerchantId());
wxMerchant.setTenantId(record.getTenantId());
//租金
buildRent(wxMerchant);
//押金
buildDeposit(wxMerchant);
}
}
} catch (Exception e) {
logger.error("保存租赁合同信息失败,e:" + e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage());


+ 23
- 0
mallinkService/src/main/java/com/iformall/utils/HashUtil.java Wyświetl plik

@@ -1,6 +1,8 @@
package com.iformall.utils;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.util.Base64;

/**
* @author Stormeye
@@ -82,4 +84,25 @@ public class HashUtil {
}
return diff == 0;
}

public static String EncoderByMd5(String str) {
if (str == null) {
return null;
}
try {
String enc = hash("md5", str);
enc = new String(Base64.getUrlEncoder().encode(enc.getBytes("utf-8")));
return enc;
} catch (UnsupportedEncodingException e) {
return null;
}
}

public static String DecodeByMD5(String str) {
if (str == null) {
return null;
}
String dec = new String(Base64.getUrlDecoder().decode(str));
return dec;
}
}

+ 100
- 0
mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml Wyświetl plik

@@ -194,4 +194,104 @@
</if>
</select>

<resultMap id="VoBaseResultMap" type="com.iformall.domain.vo.WxCUserBasicInfoVo">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="phone" jdbcType="VARCHAR" property="phone"/>
<result column="birthdate" jdbcType="TIMESTAMP" property="birthdate"/>
<result column="education" jdbcType="VARCHAR" property="education"/>
<result column="sex" jdbcType="INTEGER" property="sex"/>
<result column="email" jdbcType="VARCHAR" property="email"/>
<result column="address" jdbcType="VARCHAR" property="address"/>
<result column="poins" jdbcType="INTEGER" property="poins"/>
<result column="tag_id" jdbcType="BIGINT" property="tagId"/>
<result column="create_date" jdbcType="TIMESTAMP" property="createDate"/>
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/>
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="level" jdbcType="VARCHAR" property="level"/>
<result column="nick_name" jdbcType="VARCHAR" property="nickName"/>

<result column="tags" jdbcType="VARCHAR" property="tags"/>
</resultMap>

<sql id="allVoColumns">
cu.`id`,cu.`phone`,cu.`birthdate`,cu.`education`,cu.`sex`,cu.`email`,cu.`address`,cu.`poins`,cu.`tag_id`,
cu.`create_date`,cu.`update_date`,cu.`tenant_id`,cu.`name`,cu.`level`,cu.`nick_name`,
cut.`tags`
</sql>

<sql id="dynamicVoWhereConditions">
where 1 = 1

<if test=" null != id ">
and cu.`id` = #{id}
</if>

<if test=" null != tenantId ">
and cu.`tenant_id` = #{tenantId}
</if>

<if test=" null != phone ">
and cu.`phone` like concat('%', #{phone},'%')
</if>

<if test=" null != birthdate ">
and cu.`birthdate` = #{birthdate}
</if>

<if test=" null != education ">
and cu.`education` like concat('%', #{education},'%')
</if>

<if test=" null != sex ">
and cu.`sex` = #{sex}
</if>

<if test=" null != email ">
and cu.`email` like concat('%', #{email},'%')
</if>

<if test=" null != address ">
and cu.`address` like concat('%', #{address},'%')
</if>

<if test=" null != poins ">
and cu.`poins` = #{poins}
</if>

<if test=" null != tagId ">
and cu.`tag_id` = #{tagId}
</if>

<if test=" null != createDate ">
and cu.`create_date` = #{createDate}
</if>

<if test=" null != updateDate ">
and cu.`update_date` = #{updateDate}
</if>

<if test=" null != name ">
and `name` like concat('%', #{name},'%')
</if>
<if test=" null != startTime and null!=endTime">
and cu.`create_date` between #{startTime} and #{endTime}
</if>
<if test=" null != ids ">
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
</if>
<if test=" null != sortColumns">order by ${sortColumns}</if>
</sql>

<select id="findVoList" parameterType="com.iformall.domain.vo.WxCUserBasicInfoVo" resultMap="VoBaseResultMap">
select
<include refid="allVoColumns"/>
from wx_c_user_basic_info cu
left join wx_c_user_tags cut on cut.`id` = cu.`tag_id`
<include refid="dynamicVoWhereConditions"/>
</select>

</mapper>

+ 5
- 2
mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml Wyświetl plik

@@ -103,8 +103,11 @@
and json_unquote(JSON_EXTRACT(cmd_json,'$.plateNumber')) is not null
group by plateNumber
</select>

<select id="queryTenantIdBySynId" parameterType="hashmap" resultType="String">
select `tenant_id` from wx_car_cmd_log
where cmd_type = 601 and json_extract(cmd_json, "$.synId") = #{synId}
</select>

</mapper>

+ 6
- 1
mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml Wyświetl plik

@@ -52,7 +52,11 @@
and cc.`business` = #{business}
</if>

<if test=" null != beginTime and null != endTime and null != targetAd and 2 == targetAd">
<if test=" null != startdate and null!=enddate">
and cc.`create_date` between #{startdate} and #{enddate}
</if>

<if test="null !=isCRequest and null != targetAd and 2 == targetAd">
and cc.`begin_time` &lt; now()
and cc.`end_time` &gt; now()
</if>
@@ -68,6 +72,7 @@
<if test=" null != updateDate ">
and cc.`update_date` = #{updateDate}
</if>

<if test=" null != subTargetId ">
and cc.`sub_target_id` = #{subTargetId}
</if>


+ 3
- 3
mallinkService/src/main/resources/mapper/WxCouponInjectMapper.xml Wyświetl plik

@@ -55,9 +55,9 @@
<if test=" null != couponId ">
and `coupon_id` = #{couponId}
</if>
<if test=" null != couponName ">
</if>
<if test=" null != couponName and couponName!=''">
and `coupon_name` like concat('%', #{couponName},'%')
</if>


+ 34
- 25
mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml Wyświetl plik

@@ -145,33 +145,38 @@
</select>

<select id="couponDataList" resultType="com.iformall.domain.vo.MarkingCouponDataReportVo" parameterType="hashmap">
SELECT DATE_FORMAT(wx_coupon_order.create_date,'%Y-%m-%d') as createTime,wx_coupon_order.coupon_id as couponId
,COUNT(DISTINCT c_user_id) as couponUserCount,count(*) as couponCount
,(select Count(coupon_id) from wx_coupon_order c
SELECT DATE_FORMAT(wx_coupon_order.create_date,'%Y-%m-%d') as createTime,
wx_coupon_order.coupon_id as couponId
,COUNT(DISTINCT c_user_id) as couponUserCount,count(*) as couponCount
,(case when coupon_type &lt; 7 then
(select Count(coupon_id) from wx_coupon_order c
where coupon_order_status=1
and DATE_FORMAT(create_date,'%Y-%m-%d')=createTime
and DATE_FORMAT(update_date,'%Y-%m-%d')=createTime
and tenant_id=#{tenantId}
and c.coupon_id=couponId
<if test="startTime != null">
and c.update_date &gt;= #{startTime}
</if>
<if test="endTime != null">
and c.update_date &lt;= #{endTime}
</if>
) as verifyCount
,(select Count(DISTINCT c_user_id) from wx_coupon_order d
) else
(select Count(card_id) from wx_coupon_order c, wx_card_spend cs
where DATE_FORMAT(cs.create_date,'%Y-%m-%d')=createTime
and c.tenant_id=#{tenantId}
and c.coupon_id=couponId
and c.id=cs.card_id
) end)
as verifyCount
,(case when coupon_type &lt; 7 then
(select Count(DISTINCT c_user_id) from wx_coupon_order d
where coupon_order_status=1
and d.coupon_id=couponId
and DATE_FORMAT(create_date,'%Y-%m-%d')=createTime
and DATE_FORMAT(update_date,'%Y-%m-%d')=createTime
and tenant_id=#{tenantId}
and d.coupon_id=couponId
<if test="startTime != null">
and d.update_date &gt;= #{startTime}
</if>
<if test="endTime != null">
and d.update_date &lt;= #{endTime}
</if>
) as verifyUserCount
) else
(select Count(DISTINCT cs.owner_id) from wx_coupon_order c, wx_card_spend cs
where DATE_FORMAT(cs.create_date,'%Y-%m-%d')=createTime
and c.tenant_id=#{tenantId}
and c.coupon_id=couponId
and c.id=cs.card_id
) end)
as verifyUserCount
from wx_coupon_order
join wx_coupon on wx_coupon_order.coupon_id=wx_coupon.id
where wx_coupon_order.tenant_id=#{tenantId}
@@ -187,7 +192,7 @@
<if test="couponTitle != null">
and wx_coupon.title like concat('%', #{couponTitle},'%')
</if>
GROUP BY createTime,couponId
GROUP BY createTime,couponId,coupon_type
order by createTime desc
</select>

@@ -373,8 +378,8 @@
<if test=" null != couponOrderStatus ">
and co.coupon_order_status = #{couponOrderStatus}
</if>
<if test=" null != merchantName ">
<if test=" null != merchantName and merchantName!=''">
and (case when com.mc=1 then
(select m.name from wx_merchant m, wx_coupon_merchant cm
where m.id = cm.merchant_id and cm.product_id=co.coupon_id) else '[多商户通用]' end)
@@ -388,9 +393,13 @@
<if test="endDate != null">
AND co.create_date &lt; #{endDate,jdbcType=TIMESTAMP}
</if>

<if test=" null != id ">
and co.id = #{id}
</if>
<if test=" null != sortColumns"> order by ${sortColumns} </if>

</select>




+ 22
- 1
mallinkService/src/main/resources/mapper/WxMerchantMapper.xml Wyświetl plik

@@ -98,7 +98,7 @@
m.vip_discount_rate1, m.vip_discount_rate2, m.vip_discount_rate3
</sql>

<resultMap id="MerchantDiscountVoResultMap" type="com.iformall.domain.vo.WxMerchantDiscountVo">
<resultMap id="MerchantDiscountVoResultMap" type="com.iformall.domain.vo.WxMerchantVo">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="img_url" jdbcType="VARCHAR" property="merchantImgUrl"/>
<result column="name" jdbcType="VARCHAR" property="merchantName"/>
@@ -135,5 +135,26 @@
</where>
</select>

<select id="getMerchantByCode" parameterType="java.util.Map" resultMap="MerchantDiscountVoResultMap">
select
<include refid="allMerchantDiscountVoColumns"/>
FROM wx_merchant m
left join wx_merchant_shop ms on ms.merchant_id = m.id and ms.is_del = 0
left join wx_shop s on ms.shop_id = s.id
left join wx_mall_building mb on s.building = mb.id
left join wx_mall_floor mf on s.floor = mf.id
<where>
<if test=" null != tenantId ">
and m.`tenant_id` = #{tenantId}
</if>
<if test=" null != status ">
and m.`status` = #{status}
</if>
<if test=" null != merchantCode ">
and md5(m.`id`) = #{merchantCode}
</if>
</where>
</select>


</mapper>

+ 8
- 2
mallinkService/src/main/resources/mapper/WxOrderMapper.xml Wyświetl plik

@@ -427,7 +427,7 @@
o.order_status,o.create_date,o.update_date,o.detail,'[多商户交易]' merchant_name,cubi.`name` c_user_name,cubi.phone
from
(
select o.* from wx_order o where o.type in (0,3) and o.id in(
select o.* from wx_order o where o.type=0 and o.id in(
select o.id from wx_order o left join wx_coupon_merchant cm
on o.product_id=cm.product_id group by o.id having count(o.id)>1)) o
left join wx_c_user_basic_info cubi on o.c_user_id=cubi.id
@@ -436,7 +436,7 @@
o.order_status,o.create_date,o.update_date,o.detail,m.`name` merchant_name,cubi.`name` c_user_name,cubi.phone
from(
select o.*,cm.merchant_id from (
select o.* from wx_order o where o.type in (0,3) and o.id not in(
select o.* from wx_order o where o.type=0 and o.id not in(
select o.id from wx_order o left join wx_coupon_merchant cm
on o.product_id=cm.product_id group by o.id having count(o.id)>1)
) o
@@ -447,6 +447,12 @@
where type in (1,2))o
left join wx_merchant m on o.merchant_id=m.id
left join wx_c_user_basic_info cubi on o.c_user_id=cubi.id
union all
select o.id,o.order_number,o.tenant_id,o.c_user_id,o.product_id,o.type,o.payment_type,o.payment,o.payment_time,
o.order_status,o.create_date,o.update_date,o.detail,m.`name` merchant_name,cubi.`name` c_user_name,cubi.phone
from wx_order o left join wx_merchant m on o.product_id=m.id
left join wx_c_user_basic_info cubi on o.c_user_id=cubi.id
where o.type=3
) o
<where>
<if test="tenantId!=null">


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

@@ -9,11 +9,11 @@
<result column="wiwide_url" jdbcType="VARCHAR" property="wiwideUrl"/>
<result column="token" jdbcType="VARCHAR" property="token"/>
<result column="expired_time" jdbcType="TIMESTAMP" property="expiredTime"/>
<result column="capability" jdbcType="VARCHAR" property="capability"/>
</resultMap>

<sql id="allColumns">
`id`,`tenant_id`,`wiwide_id`,`wiwide_key`,`wiwide_url`, `token`,`expired_time`
`id`,`tenant_id`,`wiwide_id`,`wiwide_key`,`wiwide_url`, `token`,`expired_time`,`capability`
</sql>

<sql id="dynamicWhereConditions">


Ładowanie…
Anuluj
Zapisz