From 85f044c9ebf5887bc7073e962e1642dd5df4c294 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Wed, 22 Mar 2023 18:21:37 +0800 Subject: [PATCH 1/3] fix member code --- .../com/iformall/controller/WxMemController.java | 15 +++++++++++++++ .../controller/WxUserGrantController.java | 12 ++++++++++++ .../com/iformall/common/SysConfigConstant.java | 1 + 3 files changed, 28 insertions(+) diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMemController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMemController.java index e5d544786..5471a9395 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMemController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMemController.java @@ -4,6 +4,7 @@ import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.vo.WxCUserVo; +import com.iformall.domain.vo.WxCouponOrderCVo; import com.iformall.domain.vo.WxLevelMerchantCVo; import com.iformall.enums.EnumCreditLockedStatus; import com.iformall.enums.EnumLevelConfigDiscountStatus; @@ -11,6 +12,8 @@ import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCUserService; import com.iformall.service.WxLevelConfigService; import com.iformall.service.WxMerchantService; +import com.iformall.utils.DateUtils; + import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; @@ -22,6 +25,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.Date; import java.util.List; import java.util.Map; @@ -56,6 +60,17 @@ public class WxMemController extends BaseController { logger.error("memCode不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "memCode不能为空"); } + + String _memberId = WxCouponOrderCVo.getDecodeExpiredCouponOrderId(memCode); + if (_memberId.contains(WxCouponOrderCVo.arg)) { + String[] decodeids = _memberId.split(WxCouponOrderCVo.arg); + memCode = 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 id = null; try { diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index 4e00b65f9..bacd09d83 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -9,9 +9,11 @@ import com.iformall.annotation.TenantIgnore; import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; +import com.iformall.common.SysConfigConstant; import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.WxCUserVo; +import com.iformall.domain.vo.WxCouponOrderCVo; import com.iformall.domain.vo.WxLevelMerchantCVo; import com.iformall.enums.*; import com.iformall.exception.MallinkException; @@ -92,6 +94,9 @@ public class WxUserGrantController extends BaseController { @Autowired private QrCodeService qrCodeService; + + @Autowired + SysConfigService sysConfigService; /** @@ -772,9 +777,16 @@ public class WxUserGrantController extends BaseController { levelMerchant.updateTenantInfo(getTenantInfo()); levelMerchant.setLevelId(levelId); List levelMerchantList = wxLevelConfigService.findListCVo(levelMerchant); + + 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); + } Map result = new HashMap(); result.put("id", member.getId()); + result.put("dynamicId", WxCouponOrderCVo.calcuteExpiredCouponOrderId(String.valueOf(member.getId()),Integer.parseInt(sysConfig.getConfigItemValue()),null)); + result.put("expiredSeconds", Integer.parseInt(sysConfig.getConfigItemValue())); result.put("level", level); result.put("levelMerchantList", levelMerchantList); return new ResultData(result); diff --git a/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java b/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java index a79c45bd5..309dca9c7 100644 --- a/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java +++ b/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java @@ -7,5 +7,6 @@ public class SysConfigConstant { public static final String default_merchant_b_user = "defaultMerchantBUserId"; public static final String coupon_detail_show_selled = "couponDetailShowSelled"; public static final String coupon_list_show_selled = "couponListShowSelled"; + public static final String member_seconds_key="memberSeconds"; } From 474ca06fe66763cd5d320c0ffa9e1d1b60f8b778 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 23 Mar 2023 13:43:52 +0800 Subject: [PATCH 2/3] fix business --- .../controller/sys/WxBusinessController.java | 7 +++ .../controller/WxMicroPayController.java | 14 ++++++ .../controller/WxUserGrantController.java | 2 +- .../java/com/iformall/common/ErrorCode.java | 2 +- .../com/iformall/domain/po/WxBusiness.java | 4 ++ .../iformall/service/WxBusinessService.java | 1 + .../service/impl/WxBusinessServiceImpl.java | 49 +++++++++++++++++++ 7 files changed, 77 insertions(+), 2 deletions(-) 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); + } + } + } From c1551a93dc2d2c95cd457258e4e904f1856778d0 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 23 Mar 2023 14:10:48 +0800 Subject: [PATCH 3/3] fix business --- .../controller/sys/WxBusinessController.java | 45 +++++++++++++++++++ .../iformall/service/WxBusinessService.java | 2 +- .../service/impl/WxBusinessServiceImpl.java | 17 +++++++ 3 files changed, 63 insertions(+), 1 deletion(-) 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 3bd0b4289..eb6af3352 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java @@ -1,11 +1,16 @@ package com.iformall.controller.sys; import com.iformall.annotation.SystemControllerLog; +import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.WxBusiness; +import com.iformall.domain.po.WxCoupon; import com.iformall.domain.vo.WxBusinessDataVo; +import com.iformall.enums.EnumCouponContentType; +import com.iformall.enums.EnumCouponSourceType; +import com.iformall.enums.EnumRentContractAppStatus; import com.iformall.enums.EnumYesOrNo; import com.iformall.service.ExcelService; import com.iformall.service.WxBusinessService; @@ -64,6 +69,46 @@ public class WxBusinessController extends BaseController { final List busList = wxBusinessService.findTreeList(getTenantInfo()); return new ResultData(busList); } + + @ApiOperation("新增/修改接口") + @PostMapping("saveOrUpdate") + public ResultData saveOrUpdate(@RequestBody WxBusiness wxBusiness) { + TenantEntity tenantEntity = getTenantInfo(); + wxBusiness.setFinalTenantId(tenantEntity.getFinalTenantId()); + if (null != wxBusiness.getId()) { + //不能修改系统默认的 + WxBusiness b = wxBusinessService.getById(wxBusiness.getId(), wxBusiness.getFinalTenantId()); + if (null == b) { + return new ResultData(Result.ERROR,"未查询到业态"); + } + if (b.getIsSystem().intValue() == EnumYesOrNo.YES.getCode().intValue()) { + return new ResultData(Result.ERROR,"不能修改系统默认业态"); + } + } + wxBusinessService.saveOrUpdate(wxBusiness); + return new ResultData(); + } + + @ApiOperation("删除接口") + @PostMapping("del") + public ResultData delete(@RequestBody WxBusiness wxBusiness) { + TenantEntity tenantEntity = getTenantInfo(); + wxBusiness.setFinalTenantId(tenantEntity.getFinalTenantId()); + if (null == wxBusiness.getId()) { + return new ResultData(Result.ERROR,"参数错误"); + } + //不能修改系统默认的 + WxBusiness b = wxBusinessService.getById(wxBusiness.getId(), wxBusiness.getFinalTenantId()); + if (null == b) { + return new ResultData(Result.ERROR,"未查询到业态"); + } + if (b.getIsSystem().intValue() == EnumYesOrNo.YES.getCode().intValue()) { + return new ResultData(Result.ERROR,"不能修改系统默认业态"); + } + b.setIsDel(EnumYesOrNo.YES.getCode()); + wxBusinessService.saveOrUpdate(b); + return new ResultData(); + } @ApiOperation("业态分析接口") @GetMapping("businessDataList") diff --git a/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java b/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java index 9769a340d..0fd23cff2 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java @@ -55,6 +55,6 @@ public interface WxBusinessService { ResultData devoteList(WxBusiness wxBusiness,Integer pageNum, Integer pageSize); - + void saveOrUpdate(WxBusiness record); } 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 16b83cf79..0ab31e19f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java @@ -3,6 +3,7 @@ package com.iformall.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.iformall.common.IdWorker; import com.iformall.common.ResultData; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.WxBusiness; @@ -25,6 +26,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; import java.util.Collection; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -277,4 +279,19 @@ public class WxBusinessServiceImpl implements WxBusinessService { } } + @Override + public void saveOrUpdate(WxBusiness record) { + if (null == record.getId()) { + record.setType(1); + record.setCreateDate(new Date()); + record.setUpdateDate(new Date()); + record.setIsSystem(EnumYesOrNo.NO.getCode()); + record.setIsDel(EnumYesOrNo.NO.getCode()); + wxBusinessMapper.insert(record); + }else { + record.setUpdateDate(new Date()); + wxBusinessMapper.updateById(record); + } + } + }