diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java b/mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java index 05acebf8c..3bd0b4289 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java @@ -57,6 +57,13 @@ public class WxBusinessController extends BaseController { final List busList = wxBusinessService.findList(bq); return new ResultData(busList); } + + @ApiOperation("业态树接口") + @GetMapping("treeList") + public ResultData treeList() { + final List busList = wxBusinessService.findTreeList(getTenantInfo()); + return new ResultData(busList); + } @ApiOperation("业态分析接口") @GetMapping("businessDataList") diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java index 8edc30d11..a7c44639f 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java @@ -6,11 +6,13 @@ import com.iformall.annotation.RedisCache; import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.domain.po.*; +import com.iformall.domain.vo.WxCouponOrderCVo; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.service.*; import com.iformall.service.order.OrderFactory; import com.iformall.service.order.entity.WxComposeOrder; +import com.iformall.utils.DateUtils; import com.iformall.utils.IPUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -24,6 +26,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; +import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -335,6 +338,17 @@ public class WxMicroPayController extends BaseController { // 获取C用户 WxCUserBasicInfo cUser = null; if (StringUtils.isNotBlank(cUserIdStr)) { + String _memberId = WxCouponOrderCVo.getDecodeExpiredCouponOrderId(cUserIdStr); + if (_memberId.contains(WxCouponOrderCVo.arg)) { + String[] decodeids = _memberId.split(WxCouponOrderCVo.arg); + cUserIdStr = decodeids[0]; + String expiredtimeStr = decodeids[1]; + Date expiredtime = DateUtils.string2Date(expiredtimeStr).getTime(); + if (expiredtime.before(new Date())) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"码已失效,请更新二维码后重试"); + } + } + Long cUserId = 0L; try { cUserId = Long.valueOf(cUserIdStr); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index bacd09d83..93860ef60 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -780,7 +780,7 @@ public class WxUserGrantController extends BaseController { SysConfig sysConfig = sysConfigService.getByKey(SysConfigConstant.member_seconds_key, getTenantInfo()); if (null == sysConfig || StringUtils.isBlank(sysConfig.getConfigItemValue())) { - return new ResultData(ErrorCode.SYS_CONFIG_VIERFY_SECODES_UNSET); + return new ResultData(ErrorCode.SYS_CONFIG_MEMBER_SECODES_UNSET); } Map result = new HashMap(); diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index dc5e6c994..f3e92d8a3 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -37,7 +37,7 @@ public enum ErrorCode{ SYS_CONFIG_VIERFY_SECODES_UNSET(1030,"系统设置【券码刷新时间】未配置"), SYS_CONFIG_CARD_VIERFY_SECODES_UNSET(1030,"系统设置【电子卡码刷新时间】未配置"), SYS_CONFIG_DEFAULT_MERCHANT_B_USER_UNSET(1031,"系统配置【外部设备核销默认商户员工编号】未配置"), - + SYS_CONFIG_MEMBER_SECODES_UNSET(1030,"系统设置【会员码刷新时间】未配置"), /** * 菜单 */ diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBusiness.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBusiness.java index 7927696f5..2d9ce72ca 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBusiness.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBusiness.java @@ -8,6 +8,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.util.Date; +import java.util.List; @TableName(value = "wx_business") @Data @@ -49,4 +50,7 @@ public class WxBusiness extends TenantEntityWithoutFinalTenantId { @TableField(exist = false) private Integer isRoot; + @TableField(exist = false) + private List children; + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java b/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java index 5240cd1d4..9769a340d 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java @@ -31,6 +31,7 @@ public interface WxBusinessService { * @return */ List findList(WxBusiness record); + List findTreeList(TenantEntity tenantEntity); /** * 查询全部列表 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java index 789924c18..16b83cf79 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java @@ -228,4 +228,53 @@ public class WxBusinessServiceImpl implements WxBusinessService { return map; } + @Override + public List findTreeList(TenantEntity tenantEntity) { + WxBusiness bq = new WxBusiness(); + bq.setFinalTenantId(tenantEntity.getFinalTenantId()); + bq.setIsDel(EnumYesOrNo.NO.getCode()); + List alls = wxBusinessMapper.findListAll(bq); + if (null != alls && alls.size() > 0) { + List roots = new ArrayList(); + Map> childMap = new HashMap>(); + for (int i = 0 ; i < alls.size() ; i ++) { + WxBusiness business = alls.get(i); + List childs = childMap.get(business.getId()); + if (null == childs) { + childMap.put(business.getId(), new ArrayList()); + } + if (null == business.getParentId() || business.getParentId() == 0) { + roots.add(business); + }else { + childMap.get(business.getParentId()).add(business); + } + } + if (roots.size() > 0 ) { + for (int i = 0 ; i < roots.size() ; i ++) { + buildChildTree(roots.get(i),childMap); + } + return roots; + } + } + return null; + } + + private void buildChildTree(WxBusiness parent,Map> childMap) { + if (null == childMap || childMap.size() <= 0 ) { + return ; + } + List childs = childMap.get(parent.getId()); + if (null == childs || childs.size() <= 0 ) { + return ; + } + //子集 + List treeList = new ArrayList(); + for (WxBusiness business:childs) { + buildChildTree(business,childMap); + } + if (treeList.size() > 0 ) { + parent.setChildren(treeList); + } + } + }