Просмотр исходного кода

Merge branch 'release_real_202103' of https://git.malls.iformall.com/server/formallProject into release_real_202103

release_toaliyun_real
xiaohanzi 5 лет назад
Родитель
Сommit
69239c8d51
67 измененных файлов: 3135 добавлений и 488 удалений
  1. +74
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/AliBusinessCircleOrderController.java
  2. +27
    -2
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxBusinessCircleOrderController.java
  3. +2
    -2
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java
  4. +74
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxThirdPartyOrdersController.java
  5. +1
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/mem/MemCouponController.java
  6. +24
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java
  7. +13
    -0
      mallinkAdmin/src/main/resources/db/migration/V202105270001__tt_add_.sql
  8. +499
    -0
      mallinkAdmin/src/main/resources/db/migration/V202105290001__business_circle_.sql
  9. +499
    -0
      mallinkAdmin/src/main/resources/db/migration/V202105290002__business_circle_.sql
  10. +499
    -0
      mallinkAdmin/src/main/resources/db/migration/V202105290003__business_circle_.sql
  11. +20
    -0
      mallinkAdmin/src/main/resources/db/migration/V202105290004__businessPermission.sql
  12. +2
    -2
      mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java
  13. +9
    -0
      mallinkCApi/src/main/java/com/iformall/controller/WxMsgController.java
  14. +2
    -0
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java
  15. +7
    -0
      mallinkService/src/main/java/com/iformall/domain/po/BusinessCircleBase.java
  16. +9
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java
  17. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxPayAccount.java
  18. +3
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java
  19. +9
    -0
      mallinkService/src/main/java/com/iformall/domain/po/base/BaseEntity.java
  20. +12
    -0
      mallinkService/src/main/java/com/iformall/domain/po/tt/TtCoupon.java
  21. +20
    -7
      mallinkService/src/main/java/com/iformall/domain/po/tt/TtOrder.java
  22. +3
    -0
      mallinkService/src/main/java/com/iformall/domain/po/tt/TtUserCollectFollow.java
  23. +90
    -57
      mallinkService/src/main/java/com/iformall/douyin/pay/DouYinPayHelper.java
  24. +22
    -7
      mallinkService/src/main/java/com/iformall/douyin/pay/preOrder/DouYinCreatePreOrder.java
  25. +4
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumTemplateType.java
  26. +8
    -6
      mallinkService/src/main/java/com/iformall/enums/EnumTtOrderStatus.java
  27. +1
    -1
      mallinkService/src/main/java/com/iformall/mapper/TtCUserMapper.java
  28. +1
    -0
      mallinkService/src/main/java/com/iformall/mapper/TtCouponMapper.java
  29. +9
    -0
      mallinkService/src/main/java/com/iformall/mapper/TtOrderMapper.java
  30. +4
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java
  31. +2
    -0
      mallinkService/src/main/java/com/iformall/service/AliBusinessCircleOrderService.java
  32. +2
    -1
      mallinkService/src/main/java/com/iformall/service/WxBusinessCircleOrderService.java
  33. +8
    -0
      mallinkService/src/main/java/com/iformall/service/WxMerchantService.java
  34. +3
    -0
      mallinkService/src/main/java/com/iformall/service/WxThirdPartyOrdersService.java
  35. +25
    -1
      mallinkService/src/main/java/com/iformall/service/impl/AliBusinessCircleOrderServiceImpl.java
  36. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/TtCUserServiceImpl.java
  37. +27
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java
  38. +37
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java
  39. +48
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java
  40. +14
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java
  41. +13
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxTemplateMsgServiceImpl.java
  42. +39
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxThirdPartyOrdersServiceImpl.java
  43. +3
    -4
      mallinkService/src/main/java/com/iformall/service/tt/TtCouponService.java
  44. +21
    -2
      mallinkService/src/main/java/com/iformall/service/tt/TtOrderService.java
  45. +24
    -38
      mallinkService/src/main/java/com/iformall/service/tt/impl/TtCouponServiceImpl.java
  46. +224
    -109
      mallinkService/src/main/java/com/iformall/service/tt/impl/TtOrderServiceImpl.java
  47. +2
    -0
      mallinkService/src/main/java/com/iformall/utils/Constant.java
  48. +2
    -3
      mallinkService/src/main/java/com/iformall/utils/sign/SignUtils.java
  49. +18
    -6
      mallinkService/src/main/resources/mapper/AliBusinessCircleOrderMapper.xml
  50. +1
    -1
      mallinkService/src/main/resources/mapper/TtCUserMapper.xml
  51. +43
    -11
      mallinkService/src/main/resources/mapper/TtCouponMapper.xml
  52. +129
    -14
      mallinkService/src/main/resources/mapper/TtOrderMapper.xml
  53. +18
    -6
      mallinkService/src/main/resources/mapper/WxBusinessCircleOrderMapper.xml
  54. +70
    -32
      mallinkService/src/main/resources/mapper/WxMerchantMapper.xml
  55. +3
    -1
      mallinkService/src/main/resources/mapper/WxPayAccountMapper.xml
  56. +6
    -1
      mallinkService/src/main/resources/mapper/WxTemplateMsgMapper.xml
  57. +18
    -6
      mallinkService/src/main/resources/mapper/WxThirdPartyOrdersMapper.xml
  58. +24
    -0
      mallinkTTAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java
  59. +8
    -0
      mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtCouponController.java
  60. +1
    -0
      mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtOrderController.java
  61. +96
    -0
      mallinkTTCApi/src/main/java/com/iformall/callback/TtOrderCallbackController.java
  62. +48
    -61
      mallinkTTCApi/src/main/java/com/iformall/controller/TtCouponController.java
  63. +0
    -69
      mallinkTTCApi/src/main/java/com/iformall/controller/TtOrderCallbackController.java
  64. +16
    -8
      mallinkTTCApi/src/main/java/com/iformall/controller/TtOrderController.java
  65. +3
    -0
      mallinkTTCApi/src/main/java/com/iformall/controller/TtUserGrantController.java
  66. +104
    -16
      mallinkTTCApi/src/main/java/com/iformall/controller/WxMerchantController.java
  67. +85
    -0
      mallinkTTCApi/src/main/java/com/iformall/schedule/TtOrderExpiringSchedule.java

+ 74
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/AliBusinessCircleOrderController.java Просмотреть файл

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

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.AliBusinessCircleOrder;
import com.iformall.domain.po.base.BaseEntity;
import com.iformall.service.AliBusinessCircleOrderService;
import com.iformall.utils.Constant;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("aliCircle")
@Api(description = "订单相关接口")
public class AliBusinessCircleOrderController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private AliBusinessCircleOrderService aliBusinessCircleOrderService;

@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true),
})
@SystemControllerLog(description = "-列表")
public ResultData list(@ModelAttribute AliBusinessCircleOrder circleOrder, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxOrderController::list");
if (null == circleOrder) {
circleOrder = new AliBusinessCircleOrder();
}
circleOrder.updateTenantInfo(getTenantInfo());
circleOrder.setSortColumns(BaseEntity.SortField.CreateTime_DESC,BaseEntity.SortField.Id_DESC);
final PageInfo<AliBusinessCircleOrder> page = aliBusinessCircleOrderService.listAsPage(circleOrder, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("详情接口")
@GetMapping("detail")
@ApiImplicitParams({
@ApiImplicitParam(name = "orderId", value = "订单id", dataType = "String", paramType = "query", required = true)
})
public ResultData detail(String orderId) {
if (StringUtils.isBlank(orderId) || orderId.equalsIgnoreCase(Constant.UNDEFINED)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
Long id;
try {
id = Long.valueOf(orderId);
} catch (NumberFormatException e) {
logger.error(e.getMessage());
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "orderId: " + orderId + ", e: " + e.getMessage());
}

AliBusinessCircleOrder order = aliBusinessCircleOrderService.detail(id,getTenantInfo());
return new ResultData(order);
}


}

+ 27
- 2
mallinkAdmin/src/main/java/com/iformall/controller/market/WxBusinessCircleOrderController.java Просмотреть файл

@@ -2,22 +2,26 @@ package com.iformall.controller.market;

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.tt.TtOrder;
import com.iformall.service.*;
import com.iformall.utils.Constant;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("businessCircle")
@RequestMapping("wxCircle")
@Api(description = "订单相关接口")
public class WxBusinessCircleOrderController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@@ -38,10 +42,31 @@ public class WxBusinessCircleOrderController extends BaseController {
circleOrder = new WxBusinessCircleOrder();
}
circleOrder.updateTenantInfo(getTenantInfo());
circleOrder.setSortColumns(BaseEntity.SortField.CreateDate_DESC,BaseEntity.SortField.Id_DESC);
circleOrder.setSortColumns(BaseEntity.SortField.CreateTime_DESC,BaseEntity.SortField.Id_DESC);
final PageInfo<WxBusinessCircleOrder> page = wxBusinessCircleOrderService.listAsPage(circleOrder, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("详情接口")
@GetMapping("detail")
@ApiImplicitParams({
@ApiImplicitParam(name = "orderId", value = "订单id", dataType = "String", paramType = "query", required = true)
})
public ResultData detail(String orderId) {
if (StringUtils.isBlank(orderId) || orderId.equalsIgnoreCase(Constant.UNDEFINED)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
Long id;
try {
id = Long.valueOf(orderId);
} catch (NumberFormatException e) {
logger.error(e.getMessage());
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "orderId: " + orderId + ", e: " + e.getMessage());
}

WxBusinessCircleOrder order = wxBusinessCircleOrderService.detail(id,getTenantInfo());
return new ResultData(order);
}


}

+ 2
- 2
mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java Просмотреть файл

@@ -75,7 +75,7 @@ public class WxCouponController extends BaseController {
}
if(StringUtils.isNotBlank(wxCoupon.getSortColumn())){
String coryColumn = "c."+wxCoupon.getSortColumns();
wxCoupon.setSortColumn(coryColumn);
wxCoupon.setSortColumns(coryColumn);
wxCoupon.setSortColumn(null);
}
if(wxCoupon.getTargetAd() != null && wxCoupon.getTargetAd() == EnumCouponChannelType.COUPON_CHANNEL_ID_TIMED.getCode()){
@@ -114,7 +114,7 @@ public class WxCouponController extends BaseController {
wxCoupon.setTypes(Arrays.asList(typeArray));
if(StringUtils.isNotBlank(wxCoupon.getSortColumn())){
String coryColumn = "c."+wxCoupon.getSortColumns();
wxCoupon.setSortColumn(coryColumn);
wxCoupon.setSortColumns(coryColumn);
wxCoupon.setSortColumn(null);
}
return wxCouponService.list(wxCoupon,wxCoupon, pageNum, pageSize); //全列表


+ 74
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/WxThirdPartyOrdersController.java Просмотреть файл

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

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxThirdPartyOrders;
import com.iformall.domain.po.base.BaseEntity;
import com.iformall.service.WxThirdPartyOrdersService;
import com.iformall.utils.Constant;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("thirdCircle")
@Api(description = "订单相关接口")
public class WxThirdPartyOrdersController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxThirdPartyOrdersService wxThirdPartyOrdersOrderService;

@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true),
})
@SystemControllerLog(description = "-列表")
public ResultData list(@ModelAttribute WxThirdPartyOrders circleOrder, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxOrderController::list");
if (null == circleOrder) {
circleOrder = new WxThirdPartyOrders();
}
circleOrder.updateTenantInfo(getTenantInfo());
circleOrder.setSortColumns(BaseEntity.SortField.CreateTime_DESC,BaseEntity.SortField.Id_DESC);
final PageInfo<WxThirdPartyOrders> page = wxThirdPartyOrdersOrderService.listAsPage(circleOrder, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("详情接口")
@GetMapping("detail")
@ApiImplicitParams({
@ApiImplicitParam(name = "orderId", value = "订单id", dataType = "String", paramType = "query", required = true)
})
public ResultData detail(String orderId) {
if (StringUtils.isBlank(orderId) || orderId.equalsIgnoreCase(Constant.UNDEFINED)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
Long id;
try {
id = Long.valueOf(orderId);
} catch (NumberFormatException e) {
logger.error(e.getMessage());
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "orderId: " + orderId + ", e: " + e.getMessage());
}

WxThirdPartyOrders order = wxThirdPartyOrdersOrderService.detail(id,getTenantInfo());
return new ResultData(order);
}


}

+ 1
- 1
mallinkAdmin/src/main/java/com/iformall/controller/mem/MemCouponController.java Просмотреть файл

@@ -58,7 +58,7 @@ public class MemCouponController extends BaseController {

if(StringUtils.isNotBlank(wxCouponChannel.getSortColumn())){
// String coryColumn = "c."+wxCouponChannel.getSortColumns();
// wxCouponChannel.setSortColumn(coryColumn);
// wxCouponChannel.setSortColumns(coryColumn);
// wxCouponChannel.setSortColumn(null);
}else{
wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC);


+ 24
- 0
mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java Просмотреть файл

@@ -12,6 +12,7 @@ import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.msg.WxMsg;
import com.iformall.enums.EnumSendWay;
import com.iformall.enums.EnumTemplateType;
import com.iformall.service.WxMsgService;
import com.iformall.service.WxTemplateMsgService;
import io.swagger.annotations.ApiImplicitParam;
@@ -71,6 +72,29 @@ public class WxMsgController extends BaseController {
logger.debug("[" + getIpAddr() + "] WxMsgController::list");
if (null == wxTemplateMsg) wxTemplateMsg = new WxTemplateMsg();
wxTemplateMsg.updateTenantInfo(getTenantInfo());
List<Integer> types = new ArrayList<>();
types.add(EnumTemplateType.ACTIVITY_REMIND.getCode());
types.add(EnumTemplateType.LIVE_REMIND.getCode());
wxTemplateMsg.setTypes(types);
final PageInfo<WxTemplateMsg> page = wxTemplateMsgService.listAsPageForMiniApp(wxTemplateMsg, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("模板分页列表接口")
@GetMapping("templateListV1")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
@SystemControllerLog(description = "moban-列表")
public ResultData templateListV1(@ModelAttribute WxTemplateMsg wxTemplateMsg, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxMsgController::list");
if (null == wxTemplateMsg) wxTemplateMsg = new WxTemplateMsg();
wxTemplateMsg.updateTenantInfo(getTenantInfo());
List<Integer> types = new ArrayList<>();
types.add(EnumTemplateType.ACTIVITY_REMIND.getCode());
types.add(EnumTemplateType.LIVE_REMIND.getCode());
types.add(EnumTemplateType.CREDIT_UPD_REMIND.getCode());
wxTemplateMsg.setTypes(types);
final PageInfo<WxTemplateMsg> page = wxTemplateMsgService.listAsPageForMiniApp(wxTemplateMsg, pageNum, pageSize);
return new ResultData(page);
}


+ 13
- 0
mallinkAdmin/src/main/resources/db/migration/V202105270001__tt_add_.sql Просмотреть файл

@@ -0,0 +1,13 @@
ALTER TABLE `wx_merchant`
ADD COLUMN `business_types` json AFTER `business_id`;

ALTER TABLE `wx_pay_account`
ADD COLUMN `notify_token` varchar(255) COMMENT '回调token' AFTER `notify_url`;

ALTER TABLE `wx_merchant`
ADD COLUMN `mark` smallint(1) COMMENT '记号' AFTER `action_desc`;

ALTER TABLE `wx_merchant`
ADD COLUMN `entry_amount` int(11) DEFAULT 0 COMMENT '入账金额' AFTER `credit_locked`;

UPDATE wx_merchant SET entry_amount = 0 ;

+ 499
- 0
mallinkAdmin/src/main/resources/db/migration/V202105290001__business_circle_.sql Просмотреть файл

@@ -0,0 +1,499 @@
ALTER TABLE `ali_business_circle_order_0`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_1`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_2`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_3`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_4`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_5`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_6`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_7`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_8`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_9`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_10`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_11`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_12`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_13`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_14`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_15`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_16`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_17`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_18`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_19`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_20`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_21`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_22`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_23`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_24`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_25`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_26`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_27`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_28`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_29`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_30`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_31`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_32`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_33`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_34`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_35`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_36`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_37`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_38`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_39`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_40`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_41`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_42`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_43`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_44`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_45`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_46`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_47`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_48`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_49`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_50`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_51`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_52`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_53`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_54`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_55`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_56`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_57`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_58`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_59`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_60`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_61`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_62`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_63`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_64`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_65`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_66`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_67`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_68`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_69`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_70`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_71`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_72`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_73`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_74`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_75`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_76`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_77`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_78`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_79`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_80`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_81`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_82`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_83`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_84`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_85`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_86`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_87`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_88`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_89`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_90`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_91`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_92`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_93`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_94`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_95`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_96`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_97`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_98`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `ali_business_circle_order_99`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

+ 499
- 0
mallinkAdmin/src/main/resources/db/migration/V202105290002__business_circle_.sql Просмотреть файл

@@ -0,0 +1,499 @@
ALTER TABLE `wx_business_circle_order_0`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_1`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_2`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_3`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_4`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_5`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_6`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_7`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_8`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_9`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_10`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_11`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_12`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_13`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_14`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_15`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_16`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_17`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_18`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_19`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_20`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_21`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_22`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_23`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_24`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_25`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_26`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_27`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_28`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_29`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_30`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_31`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_32`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_33`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_34`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_35`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_36`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_37`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_38`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_39`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_40`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_41`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_42`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_43`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_44`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_45`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_46`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_47`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_48`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_49`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_50`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_51`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_52`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_53`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_54`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_55`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_56`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_57`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_58`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_59`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_60`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_61`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_62`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_63`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_64`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_65`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_66`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_67`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_68`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_69`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_70`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_71`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_72`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_73`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_74`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_75`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_76`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_77`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_78`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_79`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_80`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_81`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_82`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_83`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_84`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_85`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_86`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_87`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_88`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_89`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_90`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_91`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_92`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_93`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_94`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_95`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_96`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_97`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_98`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_business_circle_order_99`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

+ 499
- 0
mallinkAdmin/src/main/resources/db/migration/V202105290003__business_circle_.sql Просмотреть файл

@@ -0,0 +1,499 @@
ALTER TABLE `wx_third_party_orders_0`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_1`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_2`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_3`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_4`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_5`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_6`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_7`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_8`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_9`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_10`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_11`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_12`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_13`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_14`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_15`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_16`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_17`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_18`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_19`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_20`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_21`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_22`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_23`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_24`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_25`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_26`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_27`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_28`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_29`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_30`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_31`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_32`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_33`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_34`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_35`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_36`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_37`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_38`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_39`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_40`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_41`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_42`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_43`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_44`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_45`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_46`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_47`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_48`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_49`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_50`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_51`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_52`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_53`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_54`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_55`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_56`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_57`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_58`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_59`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_60`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_61`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_62`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_63`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_64`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_65`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_66`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_67`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_68`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_69`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_70`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_71`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_72`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_73`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_74`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_75`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_76`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_77`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_78`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_79`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_80`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_81`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_82`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_83`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_84`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_85`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_86`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_87`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_88`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_89`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_90`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_91`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_92`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_93`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_94`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_95`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_96`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_97`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_98`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

ALTER TABLE `wx_third_party_orders_99`
ADD COLUMN `merchant_name` varchar(255) AFTER `merchant_id`,
ADD COLUMN `c_user_nick_name` varchar(255) AFTER `c_user_id`,
ADD COLUMN `c_user_phone` varchar(255) AFTER `c_user_nick_name`;

+ 20
- 0
mallinkAdmin/src/main/resources/db/migration/V202105290004__businessPermission.sql Просмотреть файл

@@ -0,0 +1,20 @@
--加商圈交易菜单
INSERT INTO `mall_permission`(`id`, `name`, `parent_id`, `available`, `permission`, `resource_type`, `module_color`, `module_color_num`, `url`, `icon`, `version_type`, `sort`) VALUES (420, 'ALI商圈交易', 416, 'Y', NULL, 1, NULL, NULL, 'aliCircle', NULL, 0, 420);
INSERT INTO `mall_permission`(`id`, `name`, `parent_id`, `available`, `permission`, `resource_type`, `module_color`, `module_color_num`, `url`, `icon`, `version_type`, `sort`) VALUES (421, 'WX商圈交易', 416, 'Y', NULL, 1, NULL, NULL, 'wxCircle', NULL, 0, 421);
INSERT INTO `mall_permission`(`id`, `name`, `parent_id`, `available`, `permission`, `resource_type`, `module_color`, `module_color_num`, `url`, `icon`, `version_type`, `sort`) VALUES (422, '麟客交易', 416, 'Y', NULL, 1, NULL, NULL, 'lkCircle', NULL, 0, 422);

--销售类型加权限
update mall_sale_type set menus = '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 201, 202, 203, 204, 205, 206, 209, 211, 212, 221, 222, 251, 299, 300, 301, 302, 303, 304, 305, 306, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 651, 661, 662, 663, 664, 671, 672, 673, 674, 675, 681, 682, 683, 684, 685, 686, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 712, 713, 901, 902, 903, 904, 905, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 60701, 60702]' where id=1;




INSERT INTO `wx_template_msg`(`id`, `tenant_id`, `parent_tenant_id`, `template_id`, `type`, `custom_param`, `create_date`, `update_date`)
select CEILING(RAND()*90000000000+10000000000) ,tenant_id,parent_tenant_id,'',50,'{\"index\": [\"character_string1\", \"character_string2\", \"time4\", \"thing3\"], \"emphasis\": \"\"}',now(),now()
from wx_mall
where id != 1 and id != 10011 and id != 10071 and id != 10141 ;


INSERT INTO `wx_template_msg`(`id`, `tenant_id`, `parent_tenant_id`, `template_id`, `type`, `custom_param`, `create_date`, `update_date`, `on_off`) VALUES (CEILING(RAND()*90000000000+10000000000), '1001', NULL, '', 50, '{\"index\": [\"character_string1\", \"character_string2\", \"time4\", \"thing3\"], \"emphasis\": \"\"}', '2021-05-31 13:09:16', '2021-05-31 13:09:16', 0);
INSERT INTO `wx_template_msg`(`id`, `tenant_id`, `parent_tenant_id`, `template_id`, `type`, `custom_param`, `create_date`, `update_date`, `on_off`) VALUES (CEILING(RAND()*90000000000+10000000000), '1007', NULL, '', 50, '{\"index\": [\"character_string1\", \"character_string2\", \"time4\", \"thing3\"], \"emphasis\": \"\"}', '2021-05-31 13:09:16', '2021-05-31 13:09:16', 0);
INSERT INTO `wx_template_msg`(`id`, `tenant_id`, `parent_tenant_id`, `template_id`, `type`, `custom_param`, `create_date`, `update_date`, `on_off`) VALUES (CEILING(RAND()*90000000000+10000000000), '1014', NULL, '', 50, '{\"index\": [\"character_string1\", \"character_string2\", \"time4\", \"thing3\"], \"emphasis\": \"\"}', '2021-05-31 13:09:16', '2021-05-31 13:09:16', 0);

+ 2
- 2
mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java Просмотреть файл

@@ -72,7 +72,7 @@ public class WxCouponController extends BaseController {

if(StringUtils.isNotBlank(wxCoupon.getSortColumn())){
String coryColumn = "c."+wxCoupon.getSortColumns();
wxCoupon.setSortColumn(coryColumn);
wxCoupon.setSortColumns(coryColumn);
wxCoupon.setSortColumn(null);
}

@@ -102,7 +102,7 @@ public class WxCouponController extends BaseController {
wxCoupon.setMerchantId(getLoginBUser().getMerchantId());
if(StringUtils.isNotBlank(wxCoupon.getSortColumn())){
String coryColumn = "c."+wxCoupon.getSortColumns();
wxCoupon.setSortColumn(coryColumn);
wxCoupon.setSortColumns(coryColumn);
wxCoupon.setSortColumn(null);
}
return wxCouponService.list(wxCoupon,wxCoupon, pageNum, pageSize); //全列表


+ 9
- 0
mallinkCApi/src/main/java/com/iformall/controller/WxMsgController.java Просмотреть файл

@@ -3,6 +3,7 @@ package com.iformall.controller;
import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxTemplateMsg;
import com.iformall.enums.EnumTemplateType;
import com.iformall.service.WxTemplateMsgService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -12,6 +13,9 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;


/**
* @author gongbiao
@@ -33,6 +37,11 @@ public class WxMsgController extends BaseController {
logger.debug("[" + getIpAddr() + "] WxMsgController::list");
if (null == wxTemplateMsg) wxTemplateMsg = new WxTemplateMsg();
wxTemplateMsg.updateTenantInfo(getTenantInfo());
List<Integer> types = new ArrayList<>();
types.add(EnumTemplateType.ACTIVITY_REMIND.getCode());
types.add(EnumTemplateType.LIVE_REMIND.getCode());
types.add(EnumTemplateType.CREDIT_UPD_REMIND.getCode());
wxTemplateMsg.setTypes(types);
final PageInfo<WxTemplateMsg> page = wxTemplateMsgService.listAsPageForMiniApp(wxTemplateMsg, pageNum, pageSize);
return new ResultData(page);
}


+ 2
- 0
mallinkService/src/main/java/com/iformall/common/ErrorCode.java Просмотреть файл

@@ -203,6 +203,8 @@ public enum ErrorCode{
ORDER_USER_NOT_MATCH(2013, "订单用户不匹配"),
ORDER_COUPON_CHANNEL_NOT_MATCH(2014, "订单渠道不匹配"),
ORDER_COUPON_NOT_MATCH(2015, "订单券不匹配"),
ORDER_RECORDED_AMOUNT(2016, "已入账"),
ORDER_RECORDED_AMOUNT_ERROR(2017, "入账失败"),

/**
* 卡券


+ 7
- 0
mallinkService/src/main/java/com/iformall/domain/po/BusinessCircleBase.java Просмотреть файл

@@ -65,9 +65,16 @@ public class BusinessCircleBase extends TenantEntity {

@io.swagger.annotations.ApiModelProperty(value="门店Id,与第三方对齐",name="merchantId")
private Long merchantId;
private String merchantName;
@TableField(exist = false)
private WxMerchant merchant;

@io.swagger.annotations.ApiModelProperty(value="c端会员id,与第三方对齐",name="cUserId")
private Long cUserId;
private String cUserNickName;
private String cUserPhone;
@TableField(exist = false)
private WxCUserBasicInfo basicInfo;

@io.swagger.annotations.ApiModelProperty(value="是否获得积分(1:是,0:否)",name="earnPoints")
private Integer earnPoints;


+ 9
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java Просмотреть файл

@@ -46,6 +46,9 @@ public class WxMerchant extends TenantEntity {
@TableField(exist = false)
private Long rentContractId;

@TableField(exist = false)
private Long cUserId;

@io.swagger.annotations.ApiModelProperty(value="商户编码",name="encode")
@Excel(name="商户编码",width = 20,orderNum = "1")
private String encode;
@@ -245,6 +248,9 @@ public class WxMerchant extends TenantEntity {
private String introduction;
@io.swagger.annotations.ApiModelProperty(value="优惠活动",name="actionDesc")
private String actionDesc;

@io.swagger.annotations.ApiModelProperty(value = "记号1是0否", name = "mark")
private Integer mark;
@io.swagger.annotations.ApiModelProperty(value = "是否删除1是0否", name = "isDel")
private Integer isDel;
@io.swagger.annotations.ApiModelProperty(value = "客服电话", name = "linkLinePhone")
@@ -267,6 +273,9 @@ public class WxMerchant extends TenantEntity {

@io.swagger.annotations.ApiModelProperty(value = "积分锁定0正常1锁定", name = "creditLocked")
private Integer creditLocked;

@io.swagger.annotations.ApiModelProperty(value = "入账金额(分)", name = "entryAmount")
private Integer entryAmount;
@io.swagger.annotations.ApiModelProperty(value = "商户待提现金额(分)", name = "cashOutNumber")
private Integer cashOutNumber;


+ 2
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxPayAccount.java Просмотреть файл

@@ -24,6 +24,8 @@ public class WxPayAccount extends TenantEntity {
private String merchantApiKey;
@io.swagger.annotations.ApiModelProperty(value="微信回调,支持3种回调,(1.url/pay 2.url/refund3.url/separate)",name="notifyUrl")
private String notifyUrl;
@io.swagger.annotations.ApiModelProperty(value="tt回调token",name="notifyToken")
private String notifyToken;
@io.swagger.annotations.ApiModelProperty(value="证书本地存放位置",name="certPath")
private String certPath;
@io.swagger.annotations.ApiModelProperty(value="商户自己的证书",name="merchantCertPath")


+ 3
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java Просмотреть файл

@@ -33,6 +33,9 @@ public class WxTemplateMsg extends TenantEntity {
@TableField(exist = false)
private String typeName;

@TableField(exist = false)
private List<Integer> types;


public String getTypeName(){
if(this.getType() != null) {


+ 9
- 0
mallinkService/src/main/java/com/iformall/domain/po/base/BaseEntity.java Просмотреть файл

@@ -62,6 +62,9 @@ public class BaseEntity implements Serializable {
for (Field field : fieldList) {
SortColumn sortColumnField = field.getAnnotation(SortColumn.class);
if (sortColumnField != null && field.getName().equals(sortColumn)) {
if(StringUtils.isBlank(sortOrder)){
return sortColumnField.column();
}
return sortColumnField.column() + " "+sortOrder;
}
}
@@ -79,6 +82,9 @@ public class BaseEntity implements Serializable {
}

//默认驼峰解析
if(StringUtils.isBlank(sortOrder)){
return underscoreName(sortColumn);
}
return underscoreName(sortColumn) +" "+sortOrder;
}
} catch (Exception e) {
@@ -161,6 +167,9 @@ public class BaseEntity implements Serializable {
UpdateDate_ASC("`update_date` ASC"),
UpdateDate_DESC("`update_date` DESC"),

CUpdateDate_ASC("c.`update_date` ASC"),
CUpdateDate_DESC("c.`update_date` DESC"),

CCUpdateDate_ASC("cc.`update_date` ASC"),
CCUpdateDate_DESC("cc.`update_date` DESC"),



+ 12
- 0
mallinkService/src/main/java/com/iformall/domain/po/tt/TtCoupon.java Просмотреть файл

@@ -23,6 +23,9 @@ public class TtCoupon extends TenantEntity {

protected Long id;

@TableField(exist = false)
private Long cUserId;

@TableField(exist = false)
protected List<Integer> types;

@@ -56,6 +59,9 @@ public class TtCoupon extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="副标题",name="subTitle")
private String subTitle;

@io.swagger.annotations.ApiModelProperty(value="type=1时,课时",name="countClass")
private Integer countClass;

@io.swagger.annotations.ApiModelProperty(value="",name="videoId")
private String videoId;
@io.swagger.annotations.ApiModelProperty(value="视频时长(秒)",name="videoTime")
@@ -108,6 +114,8 @@ public class TtCoupon extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="收藏数",name="collectCount")
private Integer collectCount;

@io.swagger.annotations.ApiModelProperty(value = "记号1是0否", name = "mark")
private Integer mark;
@io.swagger.annotations.ApiModelProperty(value = "是否删除1是0否", name = "isDel")
private Integer isDel;

@@ -141,6 +149,10 @@ public class TtCoupon extends TenantEntity {
@TableField(exist = false)
private List<TtCoupon> columnCoupons;

@TableField(exist = false)
@io.swagger.annotations.ApiModelProperty(value="是否可观看",name="view")
private boolean view;

@TableField(exist = false)
@io.swagger.annotations.ApiModelProperty(value = "审批流参数", name = "flowParams")
private Map<String, Object> flowParams;


+ 20
- 7
mallinkService/src/main/java/com/iformall/domain/po/tt/TtOrder.java Просмотреть файл

@@ -3,6 +3,7 @@ package com.iformall.domain.po.tt;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.base.TenantEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -28,25 +29,25 @@ public class TtOrder extends TenantEntity {
private String phone;
@io.swagger.annotations.ApiModelProperty(value="产品ID(couponId)",name="productId")
private Long productId;
@TableField(exist = false)
private String productTitle;
@TableField(exist = false)
private String productPic;
@TableField(exist = false)
private Long authorId;
private Integer productSalePrice;
private Long merchantId;
@TableField(exist = false)
private String author;
@TableField(exist = false)
private String authorPic;
@io.swagger.annotations.ApiModelProperty(value="支付类型(1:微信,)",name="type")
@io.swagger.annotations.ApiModelProperty(value="支付类型5 头条担保支付",name="type")
private Integer type;
@io.swagger.annotations.ApiModelProperty(value="支付渠道:2-支付宝,1-微信,3-银行卡",name="way")
private Integer way;
@io.swagger.annotations.ApiModelProperty(value="0: 付款 1: 退款",name="paymentType")
private Integer paymentType;

@io.swagger.annotations.ApiModelProperty(value="支付金额(分):允许有负数,退款时为负值。",name="payment")
private Integer payment;
@io.swagger.annotations.ApiModelProperty(value="支付时间",name="paymentTime")
private Date paymentTime;
private String paymentTime;

@Excel(name = "订单状态", width = 20, orderNum = "9", replace = {"待付款_0", "已支付_1", "已取消_2", "待退款_3", "已退款_4", "退款失败_5", " _-1"})
@io.swagger.annotations.ApiModelProperty(value="\"待付款_0\", \"已支付_1\", \"已取消_2\", \"待退款_3\", \"已退款_4\", \"退款失败_5\", \" _-1\"",name="orderStatus")
@@ -58,6 +59,12 @@ public class TtOrder extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate")
private Date updateDate;

@io.swagger.annotations.ApiModelProperty(value="是否入账",name="isRecorded")
private Integer isRecorded;

@io.swagger.annotations.ApiModelProperty(value="入账时间",name="recordedDate")
private Date recordedDate;


public String getPaymentStr() {
return payment != null ? new BigDecimal(payment).divide(new BigDecimal(100)).toPlainString() : paymentStr;
@@ -68,7 +75,13 @@ public class TtOrder extends TenantEntity {
private String paymentStr;

@TableField(exist = false)
protected TtCoupon ttCoupon;
protected TtCUser cUser;

@TableField(exist = false)
protected TtCoupon coupon;

@TableField(exist = false)
protected WxMerchant merchant;

@TableField(exist = false)
protected List<Integer> statusS;


+ 3
- 0
mallinkService/src/main/java/com/iformall/domain/po/tt/TtUserCollectFollow.java Просмотреть файл

@@ -31,4 +31,7 @@ public class TtUserCollectFollow extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="查询-结束时间",name="enddate")
private Date enddate;

@TableField(exist = false)
private String name;

}

+ 90
- 57
mallinkService/src/main/java/com/iformall/douyin/pay/DouYinPayHelper.java Просмотреть файл

@@ -3,11 +3,13 @@ package com.iformall.douyin.pay;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.*;
import java.util.Map.Entry;

import com.iformall.utils.sign.SignUtils;
import org.apache.commons.lang3.StringUtils;

import com.alibaba.fastjson.JSON;
@@ -27,66 +29,94 @@ import lombok.extern.slf4j.Slf4j;
*/
@Slf4j
public class DouYinPayHelper {
/**
* urlEncode
*
* @param src
* 微信参数
* @return String
* @throws UnsupportedEncodingException
* 编码错误
*/
private static String urlEncode(String src) throws UnsupportedEncodingException {
return URLEncoder.encode(src, Charset.forName("UTF-8").name()).replace("+", "%20");
}
/**
* 组装签名的字段
*
* @param params
* 参数
* @param urlEncoder
* 是否urlEncoder
* @return String
*/
private static String packageSign(Map<String, String> params, boolean urlEncoder) {
// 先将参数以其参数名的字典序升序进行排序
TreeMap<String, String> sortedParams = new TreeMap<String, String>(params);
// 遍历排序后的字典,字段内容(不包含 key)与支付 SALT 一起进行字典序排序后,使用&符号链接
StringBuilder sb = new StringBuilder();
boolean first = true;
for (Entry<String, String> param : sortedParams.entrySet()) {
String value = param.getValue();
if (StringUtils.isBlank(value)) {


public static String getSign(Map<String, Object> paramsMap) {
List<String> paramsArr = new ArrayList<>();
for (Map.Entry<String, Object> entry : paramsMap.entrySet()) {
String key = entry.getKey();
if (key.equals("other_settle_params")) {
continue;
}
if (first) {
first = false;
} else {
sb.append("&");
String value = entry.getValue().toString();

value = value.trim();
if (value.startsWith("\"") && value.endsWith("\"") && value.length() > 1) {
value = value.substring(1, value.length() - 1);
}
value = value.trim();
if (value.equals("") || value.equals("null")) {
continue;
}
if (urlEncoder) {
try {
value = urlEncode(value);
} catch (UnsupportedEncodingException e) {
}
switch (key) {
case "app_id":
case "thirdparty_id":
case "sign":
break;
default:
paramsArr.add(value);
break;
}
sb.append(value);
}
return sb.toString();
Collections.sort(paramsArr);
StringBuilder signStr = new StringBuilder();
String sep = "";
for (String s : paramsArr) {
signStr.append(sep).append(s);
sep = "&";
}
return md5FromStr(signStr.toString());
}
public static String createSign(Map<String, String> params, String sercrect) {
// 生成签名前先去除sign
params.remove("sign");
params.remove("app_id");
params.remove("thirdparty_id");
String stringA = packageSign(params, false);
String stringSignTemp = stringA + "&" + sercrect;
return HashUtil.md5(stringSignTemp).toUpperCase();

public static String md5FromStr(String inStr) {
MessageDigest md5;
try {
md5 = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return "";
}

byte[] byteArray = inStr.getBytes(StandardCharsets.UTF_8);
byte[] md5Bytes = md5.digest(byteArray);
StringBuilder hexValue = new StringBuilder();
for (byte md5Byte : md5Bytes) {
int val = ((int) md5Byte) & 0xff;
if (val < 16) {
hexValue.append("0");
}
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}

public static String getTTBackSign(Map<String, Object> params, String signMethod) {
List<String> paramsArr = new ArrayList<>();
for (Map.Entry<String, Object> entry : params.entrySet()) {
String key = entry.getKey();
String value = entry.getValue().toString();

value = value.trim();
if (value.startsWith("\"") && value.endsWith("\"") && value.length() > 1) {
value = value.substring(1, value.length() - 1);
}
value = value.trim();
if (value.equals("") || value.equals("null")) {
continue;
}
paramsArr.add(value);
}
Collections.sort(paramsArr);
StringBuilder signStr = new StringBuilder();
String sep = "";
for (String s : paramsArr) {
signStr.append(sep).append(s);
}
return SignUtils.encrypt(signStr.toString(),signMethod);
}

public static String doPost(String url, Map<String, String> params) {
public static String doPost(String url, Map<String, Object> params) {
return HttpUtil.payPost(url, JSON.toJSONString(params));
}
@@ -119,12 +149,15 @@ public class DouYinPayHelper {
//订单查询
public static OrderQueryResult orderQuery(String appId,String secrect,String orderNo,String thirdParytyId) {
public static OrderQueryResult orderQuery(String appId,String salt,String orderNo,String thirdParytyId) {
Map map = new HashMap();
map.put("app_id",appId);
map.put("salt",salt);
map.put("out_order_no",orderNo);
map.put("sign",createSign(map, secrect));
// map.put("sign",createSign(map, secrect));
map.put("sign",getSign(map));
String response = doPost("https://developer.toutiao.com/api/apps/ecpay/v1/query_order", map);
log.info("查询订单结果 response:"+response);
JSONObject jsonObject = JSON.parseObject(response);
JSONObject info = jsonObject.getJSONObject("payment_info");
if (null != info) {


+ 22
- 7
mallinkService/src/main/java/com/iformall/douyin/pay/preOrder/DouYinCreatePreOrder.java Просмотреть файл

@@ -6,12 +6,14 @@ import java.util.Map;
import com.iformall.douyin.pay.DouYinPayHelper;

import lombok.Data;
import org.apache.commons.lang3.StringUtils;

@Data
public class DouYinCreatePreOrder {

private String appId;//小程序 AppID
private String sercrect;//密钥
private String salt;//
private String outOrderNo;//开发者侧的订单号, 同一小程序下不可重复
private Integer totalAmount;//支付价格; 接口中参数支付金额单位为[分]
private String subject;//商品描述; 长度限制 128 字节,不超过 42 个汉字
@@ -27,19 +29,32 @@ public class DouYinCreatePreOrder {
public Map toRequestMap() {
Map map = new HashMap();
map.put("app_id", appId);
map.put("salt",salt);
map.put("out_order_no", outOrderNo);
map.put("total_amount", totalAmount);
map.put("subject", subject);
map.put("body", body);
map.put("valid_time", validTime);
map.put("cp_extra", cpExtra);
map.put("notify_url", notifyUrl);
map.put("thirdparty_id", thirdpartyId);
map.put("disable_msg", disableMsg);
map.put("msg_page", msgPage);
map.put("store_uid", storeUid);
if(StringUtils.isNotBlank(cpExtra)){
map.put("cp_extra", cpExtra);
}
if(StringUtils.isNotBlank(notifyUrl)){
map.put("notify_url", notifyUrl);
}
if(StringUtils.isNotBlank(thirdpartyId)){
map.put("thirdparty_id", thirdpartyId);
}
if(disableMsg != null){
map.put("disable_msg", disableMsg);
}
if(StringUtils.isNotBlank(msgPage)){
map.put("msg_page", msgPage);
}
if(StringUtils.isNotBlank(storeUid)){
map.put("store_uid", storeUid);
}
map.put("sign", DouYinPayHelper.createSign(map, sercrect));
map.put("sign", DouYinPayHelper.getSign(map));
return map;
}
}

+ 4
- 0
mallinkService/src/main/java/com/iformall/enums/EnumTemplateType.java Просмотреть файл

@@ -11,8 +11,12 @@ public enum EnumTemplateType {
VERIFY_FAIL(2, "核销失败消息",""), // 小程序(作废)
PRESS_SUCCESS(3, "砍价成功消息",""), // 小程序(作废)

/**
*
*/
ACTIVITY_REMIND(4, "活动开始提醒","386"), // 小程序
LIVE_REMIND(5, "直播开播提醒","8501"), // 小程序
CREDIT_UPD_REMIND(50, "积分变更提醒","310"), // 小程序

AUDIT_MESSAGE(101, "公众号审核结果通知",""), // 公众号
VERIFY_RESULT(102, "公众号卡券核销通知",""), // 公众号


+ 8
- 6
mallinkService/src/main/java/com/iformall/enums/EnumTtOrderStatus.java Просмотреть файл

@@ -7,12 +7,14 @@ public enum EnumTtOrderStatus {


ORDER_STATUS_PENDING_PAYMENT(0, "待付款"),
ORDER_STATUS_PAYMENT_ING(1,"支付中"),
ORDER_STATUS_PAYMENT_SUCCESS(1, "已支付"),
ORDER_STATUS_OVERTIME_CANCEL(2, "已取消"),
ORDER_STATUS_PENDING_REFUND(3, "待退款"),
ORDER_STATUS_REFUND_SUCCESS(4,"已退款"),
ORDER_STATUS_REFUND_FAILD(5, "退款失败"),
// ORDER_STATUS_PAYMENT_ING(1,"支付中"),
ORDER_STATUS_PAYMENT_SUCCESS(2, "已支付"),
ORDER_STATUS_OVERTIME_CANCEL(3, "已取消"),//已关闭


ORDER_STATUS_PENDING_REFUND(4, "待退款"),
ORDER_STATUS_REFUND_SUCCESS(5,"已退款"),
ORDER_STATUS_REFUND_FAILD(6, "退款失败"),

;
public static EnumTtOrderStatus getEnum(Integer code) {


+ 1
- 1
mallinkService/src/main/java/com/iformall/mapper/TtCUserMapper.java Просмотреть файл

@@ -19,7 +19,7 @@ public interface TtCUserMapper extends CommonMapper<TtCUser, Long> {

TtCUser findByToken(@Param("token")String token,@Param("tenantId")String tenantId);

TtCUser selectById(@Param("id")Long id,@Param("tenantId")String tenantId);
TtCUser getById(@Param("id")Long id,@Param("tenantId")String tenantId);
long findCount(WxCUserBasicInfoDto dto);



+ 1
- 0
mallinkService/src/main/java/com/iformall/mapper/TtCouponMapper.java Просмотреть файл

@@ -63,4 +63,5 @@ public interface TtCouponMapper extends CommonMapper<TtCoupon, Long> {
*/
int addPopularity(@Param("id")Long id,@Param("popularity")Integer popularity);

List<TtCoupon> findCollectList(TtCoupon record);
}

+ 9
- 0
mallinkService/src/main/java/com/iformall/mapper/TtOrderMapper.java Просмотреть файл

@@ -8,6 +8,7 @@ import com.iformall.domain.po.tt.TtOrder;
import com.iformall.domain.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -16,5 +17,13 @@ public interface TtOrderMapper extends CommonMapper<TtOrder, Long> {

List<TtOrder> findList(TtOrder record);

List<TtOrder> findCList(TtOrder record);

Integer findListCount(TtOrder orderQ);

// int updateExpire(@Param("expireDate")Date expireDate,@Param("orderStatus") Integer orderStatus);

List<Long> findBeforeIdList(@Param("beforeDate")Date beforeDate,@Param("orderStatus") Integer orderStatus,@Param("isRecorded") Integer isRecorded);

int updateIsRecorded(@Param("id")Long id, @Param("isRecorded")Integer isRecorded);
}

+ 4
- 0
mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java Просмотреть файл

@@ -53,4 +53,8 @@ public interface WxMerchantMapper extends CommonMapper<WxMerchant, Long> {
void reSetCashCount(WxMerchant record);

WxMerchant getMerchantByEncode(@Param("encode")String encode);

List<WxMerchant> findFollowList(WxMerchant record);

int recordedAmount(WxMerchant record);
}

+ 2
- 0
mallinkService/src/main/java/com/iformall/service/AliBusinessCircleOrderService.java Просмотреть файл

@@ -3,6 +3,7 @@ package com.iformall.service;
import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.AliBusinessCircleOrder;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.base.TenantEntity;

import java.util.List;

@@ -25,6 +26,7 @@ public interface AliBusinessCircleOrderService {
* @return
*/
AliBusinessCircleOrder getById(Long id, String tenantId);
AliBusinessCircleOrder detail(Long id, TenantEntity tenantInfo);

/**
* transactionId+tenantId


+ 2
- 1
mallinkService/src/main/java/com/iformall/service/WxBusinessCircleOrderService.java Просмотреть файл

@@ -2,6 +2,7 @@ package com.iformall.service;

import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxBusinessCircleOrder;
import com.iformall.domain.po.base.TenantEntity;

import java.util.List;

@@ -24,6 +25,7 @@ public interface WxBusinessCircleOrderService {
* @return
*/
WxBusinessCircleOrder getById(Long id, String tenantId);
WxBusinessCircleOrder detail(Long id, TenantEntity tenantInfo);

/**
* transactionId+tenantId
@@ -49,5 +51,4 @@ public interface WxBusinessCircleOrderService {
*/
void updateIsPointsNotify(WxBusinessCircleOrder record);


}

+ 8
- 0
mallinkService/src/main/java/com/iformall/service/WxMerchantService.java Просмотреть файл

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

import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.domain.dto.WxMerchantDto;
import com.iformall.domain.po.base.TenantEntity;
@@ -106,6 +107,7 @@ public interface WxMerchantService {
* @param id
* @return
*/
WxMerchant selectById(Long id);
WxMerchant getById(Long id);

/**
@@ -161,4 +163,10 @@ public interface WxMerchantService {
List<Long> getMerchantShopIds(Long merchantId);


void followMerchant(TenantEntity tenantEntity, Long memberId, Long id);
void cancelFollow(Long memberId, Long id);
int getfollow(Long memberId, Long id);
PageInfo<WxMerchant> followListAsPage(WxMerchant record, Integer pageNum, Integer pageSize);

}

+ 3
- 0
mallinkService/src/main/java/com/iformall/service/WxThirdPartyOrdersService.java Просмотреть файл

@@ -2,6 +2,7 @@ package com.iformall.service;

import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxThirdPartyOrders;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumThirdOrderType;

import java.util.List;
@@ -25,6 +26,7 @@ public interface WxThirdPartyOrdersService {
* @return
*/
WxThirdPartyOrders getById(Long id, String tenantId);
WxThirdPartyOrders detail(Long id, TenantEntity tenantInfo);

/**
* transactionId+tenantId
@@ -51,4 +53,5 @@ public interface WxThirdPartyOrdersService {
* @param record
*/
void pointDeduction(WxThirdPartyOrders record);

}

+ 25
- 1
mallinkService/src/main/java/com/iformall/service/impl/AliBusinessCircleOrderServiceImpl.java Просмотреть файл

@@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.*;
import com.iformall.mapper.AliBusinessCircleOrderMapper;
import com.iformall.service.*;
@@ -16,7 +17,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@@ -59,6 +59,21 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder
return aliBusinessCircleOrderMapper.getById(recordQ);
}

@Override
public AliBusinessCircleOrder detail(Long id, TenantEntity tenantInfo) {
AliBusinessCircleOrder order = this.getById(id, tenantInfo.getTenantId());
if(order.getMerchantId() != null){
order.setMerchant(wxMerchantService.selectById(order.getMerchantId()));
}
if(order.getCUserId() != null){
order.setBasicInfo(wxCUserBasicInfoService.getById(id,tenantInfo.getFinalTenantId()));
}
// if(order.getIsRefund() != null && order.getIsRefund().equals(EnumYesOrNo.YES.getCode())){
//
// }
return order;
}

@Override
public AliBusinessCircleOrder getOrderByTransactionId(String transactionId, String tenantId) {
AliBusinessCircleOrder recordQ = new AliBusinessCircleOrder();
@@ -110,6 +125,7 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder
// logger.error("--Ali商圈付款通知消息未找到门店--mallStoreId="+record.getMallStoreId());
// }
record.setMerchantId(wxMerchant.getId());
record.setMerchantName(wxMerchant.getName());

AliPayCUser userQ = new AliPayCUser();
userQ.updateTenantInfo(record);
@@ -120,6 +136,8 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder
WxCUserBasicInfo infoByPhone = wxCUserBasicInfoService.registerByPhone(aliUser, aliUser.getPhone(),aliUser.getName(),null,null);
if(infoByPhone != null ){
record.setCUserId(infoByPhone.getId());
record.setCUserNickName(infoByPhone.getNickName());
record.setCUserPhone(infoByPhone.getPhone());
}else{
logger.error("--Ali商圈付款通知消息未找到会员--aliUserId="+record.getBuyerId());
}
@@ -129,6 +147,7 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder
aliBusinessCircleOrderMapper.insertNoticeOrder(record);

if(record.getCUserId() == null){
redisLock.unlock(lockKey, timeStr);
return;
}
Integer businessId = EnumBusiness.BUSINESS_ID6.getCode();
@@ -153,6 +172,7 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder
creditNum = creditHistory.getCreditNum();
}
if(creditNum == 0){
redisLock.unlock(lockKey, timeStr);
return;
}
record.setIncreasedPoints(creditNum);
@@ -221,7 +241,10 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder
record.setAmount(order.getAmount());
record.setPayAmount(order.getPayAmount());
record.setCUserId(order.getCUserId());
record.setCUserNickName(order.getCUserNickName());
record.setCUserPhone(order.getCUserPhone());
record.setMerchantId(order.getMerchantId());
record.setMerchantName(order.getMerchantName());
aliBusinessCircleOrderMapper.insertRefundNoticeOrder(record);

order.setOrderStatus(2);//全额退款 订单关闭
@@ -257,6 +280,7 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder
creditNum = creditHistory.getCreditNum();
}
if(creditNum == 0){
redisLock.unlock(lockKey, timeStr);
return;
}



+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/TtCUserServiceImpl.java Просмотреть файл

@@ -64,7 +64,7 @@ public class TtCUserServiceImpl implements TtCUserService {

@Override
public TtCUser getById(Long id,String tenantId) {
return ttCUserMapper.selectById(id,tenantId);
return ttCUserMapper.getById(id,tenantId);
}

@Override


+ 27
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java Просмотреть файл

@@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.*;
import com.iformall.mapper.WxBusinessCircleOrderMapper;
import com.iformall.service.*;
@@ -39,6 +40,9 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe
@Autowired
WxCUserService wxCUserService;

@Autowired
WxCUserBasicInfoService wxCUserBasicInfoService;

@Autowired
WxCreditHistoryService creditHistoryService;

@@ -59,6 +63,21 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe
return wxBusinessCircleOrderMapper.getById(recordQ);
}

@Override
public WxBusinessCircleOrder detail(Long id, TenantEntity tenantInfo) {
WxBusinessCircleOrder order = this.getById(id, tenantInfo.getTenantId());
if(order.getMerchantId() != null){
order.setMerchant(wxMerchantService.selectById(order.getMerchantId()));
}
if(order.getCUserId() != null){
order.setBasicInfo(wxCUserBasicInfoService.getById(id,tenantInfo.getFinalTenantId()));
}
// if(order.getIsRefund() != null && order.getIsRefund().equals(EnumYesOrNo.YES.getCode())){
//
// }
return order;
}

@Override
public WxBusinessCircleOrder getOrderByTransactionId(String transactionId, String tenantId) {
WxBusinessCircleOrder recordQ = new WxBusinessCircleOrder();
@@ -106,6 +125,7 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe
WxMerchant wxMerchant = wxMerchantService.getMerchantByEncode(record.getWxShopNumber());
if (wxMerchant != null) {
record.setMerchantId(wxMerchant.getId());
record.setMerchantName(wxMerchant.getName());
} else {
logger.error("--wx商圈付款通知消息未找到门店--shopName=" + record.getWxShopName() + "&shopNumber=" + record.getWxShopNumber());
}
@@ -116,6 +136,8 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe
WxCUser user = wxCUserService.getByOpenId(userQ);
if (user != null && user.getUserId() != null) {
record.setCUserId(user.getUserId());
record.setCUserNickName(user.getNickName());
record.setCUserPhone(user.getPhone());
} else {
logger.error("--Wx商圈付款通知消息未找到会员--openid=" + record.getOpenid());
}
@@ -143,6 +165,7 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe
creditNum = creditHistory.getCreditNum();
}
if(creditNum == 0){
redisLock.unlock(lockKey, timeStr);
return;
}
record.setIncreasedPoints(creditNum);
@@ -208,7 +231,10 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe
record.setUpdateTime(now);

record.setCUserId(order.getCUserId());
record.setCUserNickName(order.getCUserNickName());
record.setCUserPhone(order.getCUserPhone());
record.setMerchantId(order.getMerchantId());
record.setMerchantName(order.getMerchantName());
wxBusinessCircleOrderMapper.insertRefundNoticeOrder(record);

if((refundAmount + record.getRefundAmount()) == amount){
@@ -248,6 +274,7 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe
creditNum = creditHistory.getCreditNum();
}
if(creditNum == 0){
redisLock.unlock(lockKey, timeStr);
return;
}



+ 37
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java Просмотреть файл

@@ -11,15 +11,13 @@ import com.iformall.common.IdWorker;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.msg.WxMsg;
import com.iformall.domain.vo.MerchantCreditRankingVo;
import com.iformall.domain.vo.WxCreditHistoryVo;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
import com.iformall.service.ExcelService;
import com.iformall.service.WxCreditHistoryService;
import com.iformall.service.WxMallService;
import com.iformall.service.WxScoreRulesService;
import com.iformall.service.*;
import com.iformall.utils.CreditUtil;
import com.iformall.utils.RedisLock;
import com.iformall.utils.UserUtil;
@@ -91,6 +89,12 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {
@Autowired
private WxMallService wxMallService;

@Autowired
private WxMsgService wxMsgService;

@Autowired
private WxTemplateMsgService wxTemplateMsgService;

@Override
public void clearCreditByYear() {
WxScoreRules wxScoreRules = new WxScoreRules();
@@ -308,6 +312,35 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {
wxCUserBasicInfoMapper.updateById(wxCUserBasicInfoNew);
}

//发消息
try {
WxTemplateMsg temp = new WxTemplateMsg();
temp.updateTenantInfo(record);
temp.setType(EnumTemplateType.CREDIT_UPD_REMIND.getCode());
temp = wxTemplateMsgService.getByObj(temp);
if(temp.getId() != null){
WxMsg msg = new WxMsg();
msg.updateTenantInfo(record);
msg.setWay(EnumSendWay.APPINFOR.getCode());
msg.setIsright(EnumMsgSend.MSG_SEND_IMMEDIATELY.getCode());
msg.setPhones(wxCUserBasicInfo.getPhone());
msg.setModelId(temp.getId());
Map<String,String> map = new HashMap<>();
map.put("character_string1",record.getCreditNum().toString());
map.put("character_string2",record.getCreditAmount().toString());
map.put("time4",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(record.getCreateDate()));
map.put("thing3",record.getChangePurpose());
map.put("goToPage","pages/index/index?type=jf");
msg.setMsg(JSONObject.toJSONString(map));
msg.setName(EnumTemplateType.CREDIT_UPD_REMIND.name());
msg.setSignature(EnumTemplateType.CREDIT_UPD_REMIND.name());
wxMsgService.add(msg);
}
} catch (Exception e) {
logger.error("积分消息发送异常");
}


} else {
//wxCreditHistoryMapper.updateById(record);
}


+ 48
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java Просмотреть файл

@@ -12,6 +12,7 @@ import com.iformall.domain.dto.WxMerchantDto;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.tt.TtUserFollow;
import com.iformall.domain.vo.*;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
@@ -102,12 +103,12 @@ public class WxMerchantServiceImpl implements WxMerchantService {
@Autowired
WxPropertyContractService wxPropertyContractService;

@Autowired
TtUserFollowMapper ttUserFollowMapper;

@Override
public PageInfo<WxMerchant> listAsPage(WxMerchant record, Integer pageIndex, Integer pageSize) {
PageHelper.startPage(pageIndex, pageSize);
List<WxMerchant> merchants = wxMerchantMapper.findList(record);
PageInfo<WxMerchant> pageInfo = new PageInfo<>(merchants);
return pageInfo;
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxMerchantMapper.findList(record));
}
@Override
@@ -154,6 +155,11 @@ public class WxMerchantServiceImpl implements WxMerchantService {
return collect;
}

@Override
public WxMerchant selectById(Long id) {
return wxMerchantMapper.selectById(id);
}

@Override
public WxMerchant getById(Long id) {
WxMerchant wxMerchant = wxMerchantMapper.selectById(id);
@@ -941,4 +947,42 @@ public class WxMerchantServiceImpl implements WxMerchantService {
return wxMerchantShopMapper.findShopIds(merchantId);
}

@Override
public void followMerchant(TenantEntity tenantEntity, Long memberId, Long id) {
final IdWorker idWorker = IdWorker.get();
TtUserFollow userFollow = new TtUserFollow();
userFollow.setId(idWorker.nextId());
userFollow.updateTenantInfo(tenantEntity);
userFollow.setUserId(memberId);
userFollow.setMerchernId(id);
userFollow.setCreateDate(new Date());
userFollow.setUpdateDate(new Date());
try {
ttUserFollowMapper.insert(userFollow);
} catch (Exception e) {
// e.printStackTrace();
}
}

@Override
public void cancelFollow(Long memberId, Long id) {
TtUserFollow userFollow = new TtUserFollow();
userFollow.setUserId(memberId);
userFollow.setMerchernId(id);
int delete = ttUserFollowMapper.delete(new QueryWrapper<>(userFollow));
}

@Override
public int getfollow(Long memberId, Long id) {
TtUserFollow userFollow = new TtUserFollow();
userFollow.setUserId(memberId);
userFollow.setMerchernId(id);
return ttUserFollowMapper.selectCount(new QueryWrapper<>(userFollow));
}

@Override
public PageInfo<WxMerchant> followListAsPage(WxMerchant record, Integer pageNum, Integer pageSize) {
return PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxMerchantMapper.findFollowList(record));
}

}

+ 14
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java Просмотреть файл

@@ -366,6 +366,7 @@ public class WxMsgServiceImpl implements WxMsgService {
}
}

@Async
@Override
public void batchSendAppinfo(WxMsg wxMsg) {
TenantEntity tenantEntity = new TenantEntity();
@@ -418,6 +419,19 @@ public class WxMsgServiceImpl implements WxMsgService {
customParam.getString("thing4"),
customParam.getString("thing5")
));
}else if(wxTemplateMsg.getType() == EnumTemplateType.CREDIT_UPD_REMIND.getCode()){
/**
* 变更数量{{character_string1.DATA}}
* 积分余额{{character_string2.DATA}}
* 变动时间{{time4.DATA}}
* 变更原因{{thing3.DATA}}
*/
smartAppMsg.setDataList(Lists.newArrayList(
customParam.getString("character_string1"),
customParam.getString("character_string2"),
customParam.getString("time4"),
customParam.getString("thing3")
));
}else{
return;
}


+ 13
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxTemplateMsgServiceImpl.java Просмотреть файл

@@ -57,6 +57,10 @@ public class WxTemplateMsgServiceImpl implements WxTemplateMsgService {
wxTemplateMsg.setType(EnumTemplateType.LIVE_REMIND.getCode());
wxTemplateMsg.setCustomParam("{\"index\": [\"thing1\", \"date3\", \"thing4\", \"thing5\"], \"emphasis\": \"\"}");
wxTemplateMsgMapper.insert(wxTemplateMsg);
wxTemplateMsg.setId(null);
wxTemplateMsg.setType(EnumTemplateType.CREDIT_UPD_REMIND.getCode());
wxTemplateMsg.setCustomParam("{\"index\": [\"character_string1\", \"character_string2\", \"time4\", \"thing3\"], \"emphasis\": \"\"}");
wxTemplateMsgMapper.insert(wxTemplateMsg);
}

@Override
@@ -131,6 +135,15 @@ public class WxTemplateMsgServiceImpl implements WxTemplateMsgService {
} catch (WxErrorException e) {
return new ResultData(ErrorCode.TEMPLATE_ADD_ERROR);
}
}else if(byId.getType() == EnumTemplateType.CREDIT_UPD_REMIND.getCode()){
try {
s = wxMaService.getSubscribeService().addTemplate(EnumTemplateType.CREDIT_UPD_REMIND.getTid(),
Lists.newArrayList(1, 2, 4, 3),EnumTemplateType.CREDIT_UPD_REMIND.getMessage());
} catch (WxErrorException e) {
return new ResultData(ErrorCode.TEMPLATE_ADD_ERROR);
}
}else{
return new ResultData(ErrorCode.TEMPLATE_NOT_FOUND);
}
if(StringUtils.isBlank(s)){
return new ResultData(ErrorCode.TEMPLATE_ADD_ERROR);


+ 39
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxThirdPartyOrdersServiceImpl.java Просмотреть файл

@@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxThirdPartyOrdersMapper;
@@ -64,6 +65,21 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService
return wxThirdPartyOrdersMapper.getById(recordQ);
}

@Override
public WxThirdPartyOrders detail(Long id, TenantEntity tenantInfo) {
WxThirdPartyOrders order = this.getById(id, tenantInfo.getTenantId());
if(order.getMerchantId() != null){
order.setMerchant(wxMerchantService.selectById(order.getMerchantId()));
}
if(order.getCUserId() != null){
order.setBasicInfo(wxCUserBasicInfoService.getById(id,tenantInfo.getFinalTenantId()));
}
// if(order.getIsRefund() != null && order.getIsRefund().equals(EnumYesOrNo.YES.getCode())){
//
// }
return order;
}

@Override
public WxThirdPartyOrders getOrderByTransactionId(EnumThirdOrderType orderType, String transactionId, String tenantId) {
WxThirdPartyOrders recordQ = new WxThirdPartyOrders();
@@ -101,6 +117,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService
WxThirdPartyOrders byTransactionId = this.getOrderByTransactionId(EnumThirdOrderType.RMB_PAY,record.getTransactionId(),record.getTenantId());
if(byTransactionId != null){
logger.error("--第三方付款--通知消息已存在---byTransactionId="+byTransactionId.getTransactionId());
redisLock.unlock(lockKey, timeStr);
throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "订单数据已存在");
}else{
Date now = new Date();
@@ -116,10 +133,12 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService
WxMerchant wxMerchant = wxMerchantService.getMerchantByEncode(record.getShopNumber());
if(wxMerchant != null){
record.setMerchantId(wxMerchant.getId());
record.setShopName(wxMerchant.getName());
record.setMerchantName(wxMerchant.getName());
// record.setShopName(wxMerchant.getName());
}else{
if(StringUtils.isBlank(record.getShopName())){
record.setShopName("第三方门店");
// record.setShopName("第三方门店");
record.setMerchantName("未知门店");
}
logger.info("--第三方付款通知消息未找到门店--shopName="+record.getShopName()+"&shopNumber="+record.getShopNumber());
}
@@ -138,12 +157,15 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService

if(basicInfo != null){
record.setCUserId(basicInfo.getId());
record.setCUserNickName(basicInfo.getNickName());
record.setCUserPhone(basicInfo.getPhone());
}else{
logger.error("--第三方付款通知消息未找到会员--userPhone="+record.getUserPhone()+"$userNumer="+record.getId());
}
wxThirdPartyOrdersMapper.insertNoticeOrder(record);

if(record.getCUserId() == null){
redisLock.unlock(lockKey, timeStr);
return;
}
Integer businessId = EnumBusiness.BUSINESS_ID6.getCode();
@@ -168,6 +190,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService
creditNum = creditHistory.getCreditNum();
}
if(creditNum == 0){
redisLock.unlock(lockKey, timeStr);
return;
}
record.setIncreasedPoints(creditNum);
@@ -231,9 +254,11 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService
}
if(refundAmount >= amount){
logger.error("--第三方退款--已经退款--transactionId="+record.getTransactionId());
redisLock.unlock(lockKey, timeStr);
throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "已经退款");
}else if((refundAmount + record.getRefundAmount()) > amount ){
logger.error("--第三方退款--退款金额超限--transactionId="+record.getTransactionId());
redisLock.unlock(lockKey, timeStr);
throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "退款金额超限");
}else{

@@ -252,7 +277,10 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService
record.setAmount(order.getAmount());
record.setPayAmount(order.getPayAmount());
record.setCUserId(order.getCUserId());
record.setCUserNickName(order.getCUserNickName());
record.setCUserPhone(order.getCUserPhone());
record.setMerchantId(order.getMerchantId());
record.setMerchantName(order.getMerchantName());
wxThirdPartyOrdersMapper.insertRefundNoticeOrder(record);

if((refundAmount + record.getRefundAmount()) == amount){
@@ -292,6 +320,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService
creditNum = creditHistory.getCreditNum();
}
if(creditNum == 0){
redisLock.unlock(lockKey, timeStr);
return;
}

@@ -341,6 +370,8 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService
}

record.setCUserId(basicInfo.getId());
record.setCUserNickName(basicInfo.getNickName());
record.setCUserPhone(basicInfo.getPhone());

String lockKey = StringUtils.join(THIRD_CIRCLE_KEY,record.getTransactionId(), ":CP:", "lock");
long time = System.currentTimeMillis() + 2000;
@@ -349,6 +380,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService
WxThirdPartyOrders byTransactionId = this.getOrderByTransactionId(EnumThirdOrderType.CREDIT_PAY,record.getTransactionId(),record.getTenantId());
if(byTransactionId != null){
logger.error("--第三方积分订单--数据已存在---byTransactionId="+byTransactionId.getTransactionId());
redisLock.unlock(lockKey, timeStr);
throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "订单数据已存在");
}else{
Date now = new Date();
@@ -364,10 +396,12 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService
WxMerchant wxMerchant = wxMerchantService.getMerchantByEncode(record.getShopNumber());
if(wxMerchant != null){
record.setMerchantId(wxMerchant.getId());
record.setShopName(wxMerchant.getName());
record.setMerchantName(wxMerchant.getName());
// record.setShopName(wxMerchant.getName());
}else{
if(StringUtils.isBlank(record.getShopName())){
record.setShopName("第三方门店");
// record.setShopName("第三方门店");
record.setMerchantName("未知门店");
}
logger.info("--第三方积分抵扣未找到门店--shopName="+record.getShopName()+"&shopNumber="+record.getShopNumber());
}
@@ -387,6 +421,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService
creditNum = creditHistory.getCreditNum();
}
if(creditNum == 0){
redisLock.unlock(lockKey, timeStr);
throw new MallinkException(ErrorCode.CREDIT_ZERO.getCode(), "本次扣减积分为0");
}
wxThirdPartyOrdersMapper.insertNoticeOrder(record);


+ 3
- 4
mallinkService/src/main/java/com/iformall/service/tt/TtCouponService.java Просмотреть файл

@@ -1,6 +1,7 @@
package com.iformall.service.tt;

import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.tt.TtCoupon;
@@ -50,11 +51,8 @@ public interface TtCouponService {
void collectCoupon(TenantEntity tenantEntity,Long memberId, Long id);
void cancelCollect(Long memberId, Long id);
int getcollect(Long memberId, Long id);
PageInfo<TtCoupon> collectListAsPage(TtCoupon record, Integer pageNum, Integer pageSize);

@Async
void followMerchant(TenantEntity tenantEntity, Long memberId, Long id);
void cancelFollow(Long memberId, Long id);
int getfollow(Long memberId, Long id);

ResultData auditPass(Long id);

@@ -64,4 +62,5 @@ public interface TtCouponService {
int addSeeCount(Long id);

int addSellCount(Long id);

}

+ 21
- 2
mallinkService/src/main/java/com/iformall/service/tt/TtOrderService.java Просмотреть файл

@@ -1,12 +1,18 @@
package com.iformall.service.tt;

import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.domain.dto.OrderSaveDto;
import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxPayAccount;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.tt.TtOrder;
import com.iformall.enums.EnumPayWay;
import org.springframework.scheduling.annotation.Async;

import java.util.Date;
import java.util.List;

public interface TtOrderService {

@@ -19,8 +25,9 @@ public interface TtOrderService {
* @return
*/
PageInfo<TtOrder> listAsPage(TtOrder record, Integer pageIndex, Integer pageSize);
PageInfo<TtOrder> listCAsPage(TtOrder order, Integer pageNum, Integer pageSize);

ResultData saveOrder(Long couponId, Long memberId, EnumPayWay payWay, TenantEntity tenantInfo);
ResultData saveOrder(Long couponId, Long memberId, EnumPayWay payWay);

ResultData cancelOrder(Long orderId, Long memberId);

@@ -28,5 +35,17 @@ public interface TtOrderService {

ResultData createPay(TenantEntity tenantEntity,Long orderId, Long memberId, WxAppinfo appinfo);

ResultData updateOrderStatus(TenantEntity tenantInfo, Long orderId, Long memberId, WxAppinfo cAppInfo);
ResultData updateOrderStatus(Long orderId, WxAppinfo cAppInfo, WxPayAccount payAccount);

boolean isByMember(Long memberId, Long id);

List<Long> findExpireIdList(Date expireDate);

List<Long> findRecordedIdList(Date recordedDate);

/**
* 入账
* @return
*/
ResultData recordedAmount(Long orderId);
}

+ 24
- 38
mallinkService/src/main/java/com/iformall/service/tt/impl/TtCouponServiceImpl.java Просмотреть файл

@@ -68,12 +68,17 @@ public class TtCouponServiceImpl implements TtCouponService {
if (StringUtils.isNotEmpty(record.getOrigPriceStr())) {
record.setOrigPrice(new BigDecimal(record.getOrigPriceStr()).multiply(new BigDecimal(100)).intValue());
}
if(record.getSalePrice() == null || record.getSalePrice().intValue() == 0){
record.setSalePrice(0);
record.setIsPayment(EnumYesOrNo.NO.getCode());
record.setPreviewDuration(0);
}else{
record.setIsPayment(EnumYesOrNo.YES.getCode());
// if(!record.getType().equals(EnumTtCouponType.COUPON_MORE.getCode())){
if(record.getSalePrice() == null || record.getSalePrice().intValue() == 0){
record.setSalePrice(0);
record.setIsPayment(EnumYesOrNo.NO.getCode());
// record.setPreviewDuration(0);
}else{
record.setIsPayment(EnumYesOrNo.YES.getCode());
}
// }
if(record.getFalseSellCount() != null && record.getFalseSellCount().intValue() > 0){
record.setPopularity(record.getFalseSellCount()*20);//虚拟人气
}

if (StringUtils.isBlank(record.getCoverPicture())) {
@@ -93,8 +98,8 @@ public class TtCouponServiceImpl implements TtCouponService {
record.setStatus(EnumTtCouponStatus.TTCOUPON_STATUS_EXAMINE.getCode());
}

final IdWorker idWorker = IdWorker.get();
if (record.getId() == null) {
final IdWorker idWorker = IdWorker.get();
record.setId(idWorker.nextId());
record.setCreateDate(new Date());
record.setUpdateDate(new Date());
@@ -110,12 +115,21 @@ public class TtCouponServiceImpl implements TtCouponService {
TtCoupon couponD = new TtCoupon();
couponD.setColumnId(record.getId());
couponD.setType(EnumTtCouponType.COUPON_MORE.getCode());
couponD.setCountClass(record.getColumnCoupons().size());
ttCouponMapper.delete(new QueryWrapper<TtCoupon>(couponD));
for (TtCoupon ttc:record.getColumnCoupons()) {
if(ttc.getId() == null){
ttc.setId(idWorker.nextId());
ttc.setCreateDate(new Date());
}
ttc.updateTenantInfo(record);
ttc.setType(EnumTtCouponType.COUPON_MORE.getCode());
ttc.setColumnId(record.getId());
this.saveOrUpdate(ttc);
ttc.setSalePrice(record.getSalePrice());
ttc.setIsPayment(record.getIsPayment());
ttc.setStatus(EnumTtCouponStatus.TTCOUPON_STATUS_DRAFT.getCode());
ttc.setUpdateDate(new Date());
ttCouponMapper.insert(ttc);
}
}
return new ResultData();
@@ -215,36 +229,8 @@ public class TtCouponServiceImpl implements TtCouponService {
}

@Override
public void followMerchant(TenantEntity tenantEntity, Long memberId, Long id) {
final IdWorker idWorker = IdWorker.get();
TtUserFollow userFollow = new TtUserFollow();
userFollow.setId(idWorker.nextId());
userFollow.updateTenantInfo(tenantEntity);
userFollow.setUserId(memberId);
userFollow.setMerchernId(id);
userFollow.setCreateDate(new Date());
userFollow.setUpdateDate(new Date());
try {
ttUserFollowMapper.insert(userFollow);
} catch (Exception e) {
// e.printStackTrace();
}
}

@Override
public void cancelFollow(Long memberId, Long id) {
TtUserFollow userFollow = new TtUserFollow();
userFollow.setUserId(memberId);
userFollow.setMerchernId(id);
int delete = ttUserFollowMapper.delete(new QueryWrapper<>(userFollow));
}

@Override
public int getfollow(Long memberId, Long id) {
TtUserFollow userFollow = new TtUserFollow();
userFollow.setUserId(memberId);
userFollow.setMerchernId(id);
return ttUserFollowMapper.selectCount(new QueryWrapper<>(userFollow));
public PageInfo<TtCoupon> collectListAsPage(TtCoupon record, Integer pageNum, Integer pageSize) {
return PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> ttCouponMapper.findCollectList(record));
}

@Override


+ 224
- 109
mallinkService/src/main/java/com/iformall/service/tt/impl/TtOrderServiceImpl.java Просмотреть файл

@@ -17,16 +17,19 @@ import com.iformall.douyin.pay.preOrder.DouYinCreatePreOrder;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
import com.iformall.service.TtCUserService;
import com.iformall.service.WxAppinfoService;
import com.iformall.service.WxCUserBasicInfoService;
import com.iformall.service.tt.TtCouponService;
import com.iformall.service.*;
import com.iformall.service.tt.TtOrderService;
import com.iformall.utils.Constant;
import com.iformall.utils.RedisLock;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.text.SimpleDateFormat;
import java.util.*;


@@ -37,11 +40,22 @@ public class TtOrderServiceImpl implements TtOrderService {

private final Integer time_out = 30*60;

private final String TT_ORDER_KEY = "ORDER:TT:";

@Autowired
RedisLock redisLock;

@Autowired
private TtOrderMapper ttOrderMapper;

@Autowired
private TtCouponService ttCouponService;
private TtCouponMapper ttcouponMapper;

@Autowired
private TtCUserMapper ttCUserMapper;

@Autowired
private WxMerchantMapper wxMerchantMapper;

// @Autowired
// private WxCUserBasicInfoService wxCUserBasicInfoService;
@@ -52,15 +66,34 @@ public class TtOrderServiceImpl implements TtOrderService {
@Autowired
private WxAppinfoService wxAppinfoService;

@Autowired
private WxPayAccountService payAccountService;

@Override
public PageInfo<TtOrder> listAsPage(TtOrder record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> ttOrderMapper.findList(record));
}

@Override
public ResultData saveOrder(Long couponId,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity) {
public PageInfo<TtOrder> listCAsPage(TtOrder record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> ttOrderMapper.findCList(record));
}

@Override
public ResultData saveOrder(Long couponId,Long cUserId,EnumPayWay payWay) {
TtCoupon coupon = ttcouponMapper.selectById(couponId);
if (null == coupon) {
return new ResultData(ErrorCode.TTCOUPON_IS_EMPTY);
}
if (!coupon.getStatus().equals(EnumTtCouponStatus.TTCOUPON_STATUS_SHELFING.getCode())) {
return new ResultData(ErrorCode.TTCOUPON_IS_TAKE_OFF);
}
if(coupon.getSalePrice() == null || coupon.getSalePrice().intValue() == 0){
return new ResultData(ErrorCode.TTCOUPON_IS_TAKE_OFF);
}

logger.info("OrderSave: couponId:" + couponId + "---cUserId:"+cUserId);
TtCUser byId = ttCUserService.getById(cUserId, tenantEntity.getTenantId());
TtCUser byId = ttCUserService.getById(cUserId, coupon.getTenantId());
// WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(cUserId,tenantEntity.getFinalTenantId());
// if(wxCUserBasicInfo == null){
if(byId == null){
@@ -71,6 +104,7 @@ public class TtOrderServiceImpl implements TtOrderService {
orderQ.setProductId(couponId);
List<Integer> statuss = new ArrayList<>();
statuss.add(EnumTtOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode());
// statuss.add(EnumTtOrderStatus.ORDER_STATUS_PAYMENT_ING.getCode());
statuss.add(EnumTtOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode());
orderQ.setStatusS(statuss);
Integer listCount = ttOrderMapper.findListCount(orderQ);
@@ -82,16 +116,7 @@ public class TtOrderServiceImpl implements TtOrderService {
// logger.info("会员权益被锁定:cUserId:" + cUserId);
// return new ResultData(ErrorCode.MEMBER_IS_LOCKED);
// }
TtCoupon coupon = ttCouponService.getById(couponId);
if (null == coupon) {
return new ResultData(ErrorCode.TTCOUPON_IS_EMPTY);
}
if (!coupon.getStatus().equals(EnumTtCouponStatus.TTCOUPON_STATUS_SHELFING.getCode())) {
return new ResultData(ErrorCode.TTCOUPON_IS_TAKE_OFF);
}
if(coupon.getSalePrice() == null || coupon.getSalePrice().intValue() == 0){
return new ResultData(ErrorCode.TTCOUPON_IS_TAKE_OFF);
}


try {
// 4.2 保存订单
@@ -99,22 +124,25 @@ public class TtOrderServiceImpl implements TtOrderService {
Date now = new Date();
TtOrder order = new TtOrder();
order.setId(idWorker.nextId());
order.updateTenantInfo(tenantEntity);
order.updateTenantInfo(coupon);
order.setCUserId(cUserId);
order.setProductId(coupon.getId());
order.setProductTitle(coupon.getTitle());
order.setProductPic(coupon.getCoverImg());
order.setProductSalePrice(coupon.getSalePrice());
order.setMerchantId(coupon.getMerchantId());
order.setType(payWay.getCode());
order.setPaymentType(EnumPayType.PAY_PAYMENT.getCode());
order.setPayment(coupon.getSalePrice());
if(order.getPayment() == null || order.getPayment().intValue() == 0){
order.setOrderStatus(EnumTtOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode());
order.setPaymentTime(now);
// order.setPaymentTime(now);
}else{
order.setOrderStatus(EnumTtOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode());
}
order.setCreateDate(now);
order.setUpdateDate(now);
ttOrderMapper.insert(order);
ttCouponService.addSellCount(coupon.getId());
return new ResultData(order);
} catch (MallinkException e) {
logger.error(e.getMessage());
@@ -169,8 +197,9 @@ public class TtOrderServiceImpl implements TtOrderService {
if(memberId != null && !ttOrder.getCUserId().equals(memberId)){
return null;
}
TtCoupon coupon = ttCouponService.detail(ttOrder.getProductId());
ttOrder.setTtCoupon(coupon);
ttOrder.setCUser(ttCUserMapper.selectById(ttOrder.getCUserId()));
ttOrder.setCoupon(ttcouponMapper.selectById(ttOrder.getProductId()));
ttOrder.setMerchant(wxMerchantMapper.selectById(ttOrder.getMerchantId()));
return ttOrder;
}

@@ -199,7 +228,11 @@ public class TtOrderServiceImpl implements TtOrderService {
if(appInfo == null) {
return new ResultData(ErrorCode.APP_ID_NOT_FOUND);
}
TtCoupon coupon = ttCouponService.getById(order.getProductId());
WxPayAccount payAcount = payAccountService.getById(appInfo.getPayId());
if(payAcount == null){
return new ResultData(ErrorCode.APP_ID_NOT_FOUND);
}
TtCoupon coupon = ttcouponMapper.selectById(order.getProductId());
if (!coupon.getStatus().equals(EnumTtCouponStatus.TTCOUPON_STATUS_SHELFING.getCode())) {
logger.error("券已经下架了>>>" + order.getProductId());
return new ResultData(ErrorCode.COUPON_CHANNEL_IS_TAKE_OFF);
@@ -208,109 +241,191 @@ public class TtOrderServiceImpl implements TtOrderService {
if (order.getPaymentType() != EnumPayType.PAY_PAYMENT.getCode()) {
return new ResultData(ErrorCode.PAY_ORDER_IS_NOT_PAYMENT);
}

if (order.getOrderStatus() == EnumTtOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()) {
logger.error("订单已支付: " + order.toString());
ResultData resultData = this.updateOrderStatus(orderId, appInfo, payAcount);
if(resultData.code == ResultData.SUCCESS){
return new ResultData(ErrorCode.ORDER_HAD_PAY);
} else if (order.getOrderStatus() == EnumTtOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()) {
logger.error("订单已取消: " + order.toString());
return new ResultData(ErrorCode.ORDER_HAD_CANCEL);
} else if(order.getOrderStatus() == EnumTtOrderStatus.ORDER_STATUS_PAYMENT_ING.getCode()){
logger.info("订单支付中: " + order.toString());
OrderQueryResult orderQueryResult = DouYinPayHelper.orderQuery(appInfo.getAppId(), appInfo.getSecret(), order.getId().toString(), null);
String trade_state = orderQueryResult.getOrderStatus();
if ("PROCESSING".equals(trade_state)) {//处理中
return new ResultData(ErrorCode.PAY_ORDER_PAYING);
}else if ("SUCCESS".equals(trade_state)) {//成功
TtOrder orderSuc = new TtOrder();
orderSuc.setId(order.getId());
orderSuc.setOrderStatus(EnumTtOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode());
orderSuc.setUpdateDate(new Date());
ttOrderMapper.updateById(orderSuc);
return new ResultData(ErrorCode.PAY_ORDER_EXIST,"该订单已经支付,请勿重复支付!");
}else if ("FAIL".equals(trade_state)) {//失败

}else if ("TIMEOUT".equals(trade_state)) {//超时
}else if(resultData.code == ErrorCode.PAY_ORDER_NOT_PAY.getCode() ){
DouYinCreatePreOrder preOrder = new DouYinCreatePreOrder();
preOrder.setAppId(appInfo.getAppId());
preOrder.setSercrect(appInfo.getSecret());
preOrder.setSalt(payAcount.getApiKey());
preOrder.setOutOrderNo(order.getId().toString());
preOrder.setTotalAmount(order.getPayment());
preOrder.setSubject(coupon.getTitle());
preOrder.setBody(coupon.getTitle());
preOrder.setValidTime(time_out);
// preOrder.setNotifyUrl();//回调地址

CreatePreOrderResult preOrderResult = DouYinPayHelper.createPreOrder(preOrder);
// if(preOrderResult.isSuccess()){
// TtOrder orderSuc = new TtOrder();
// orderSuc.setId(order.getId());
// orderSuc.setOrderStatus(EnumTtOrderStatus.ORDER_STATUS_PAYMENT_ING.getCode());
// orderSuc.setUpdateDate(new Date());
// ttOrderMapper.updateById(orderSuc);
// }
return new ResultData(preOrderResult);
}else{
return resultData;
}

}

@Override
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public ResultData updateOrderStatus(Long orderId, WxAppinfo appInfo, WxPayAccount payAccount) {
String lockKey = StringUtils.join(TT_ORDER_KEY,orderId, ":", "lock");
long time = System.currentTimeMillis() + 5000;
String timeStr = String.valueOf(time);
if (redisLock.lock2(lockKey, timeStr)) {

TtOrder order = ttOrderMapper.selectById(orderId);
if (null == order) {
logger.error("pay order, order not allow, orderId: " + orderId);
return new ResultData(ErrorCode.ORDER_IS_NOT_FIND);
}
Boolean isExpire = false;//是否过期
Date now = new Date();
Date expireDate = new Date(now.getTime() - Constant.PRESS_TIME_OUT );
if(order.getCreateDate().before(expireDate)){
isExpire = true;
}
if(appInfo == null || payAccount == null) {
return new ResultData(ErrorCode.APP_ID_NOT_FOUND);
}
if(order.getOrderStatus() == EnumTtOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()){
String msg = "";
//待付款
OrderQueryResult orderQueryResult = DouYinPayHelper.orderQuery(appInfo.getAppId(), payAccount.getApiKey(), order.getId().toString(), null);
if(orderQueryResult == null){
msg = "查询-单号不存在";
}else{
String trade_state = orderQueryResult.getOrderStatus();
if ("PROCESSING".equals(trade_state)) {//处理中
msg = "查询-处理中";
}else if ("SUCCESS".equals(trade_state)) {//成功
TtOrder orderSuc = new TtOrder();
orderSuc.setId(order.getId());
orderSuc.setOrderStatus(EnumTtOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode());
orderSuc.setWay(orderQueryResult.getWay());
orderSuc.setPaymentTime(orderQueryResult.getPayTime());
orderSuc.setUpdateDate(new Date());
ttOrderMapper.updateById(orderSuc);
ttcouponMapper.addSellCount(order.getProductId());

redisLock.unlock(lockKey, timeStr);
return new ResultData();
}else if ("FAIL".equals(trade_state)) {//失败
msg = "查询-支付失败";
}else if ("TIMEOUT".equals(trade_state)) {//超时
msg = "查询-支付超时";
}else{
msg = "查询-单号异常";
}
}

if(isExpire){
TtOrder orderSuc = new TtOrder();
orderSuc.setId(order.getId());
orderSuc.setOrderStatus(EnumTtOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode());
orderSuc.setUpdateDate(new Date());
ttOrderMapper.updateById(orderSuc);

redisLock.unlock(lockKey, timeStr);
return new ResultData(ErrorCode.PAY_ORDER_CLOSED);
}

redisLock.unlock(lockKey, timeStr);
return new ResultData(ErrorCode.PAY_ORDER_NOT_PAY,msg);
}
} else{
if (order.getOrderStatus() != EnumTtOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()) {
logger.error("订单已支付: " + order.toString());
return new ResultData(ErrorCode.ORDER_IS_NOT_PAY);
// else if(order.getOrderStatus() == EnumTtOrderStatus.ORDER_STATUS_PAYMENT_ING.getCode()){
// //支付中
// }
else if(order.getOrderStatus() == EnumTtOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()){
//已支付

redisLock.unlock(lockKey, timeStr);
return new ResultData();
}
else if(order.getOrderStatus() == EnumTtOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()){
//已取消,已关闭

redisLock.unlock(lockKey, timeStr);
return new ResultData(ErrorCode.PAY_ORDER_CLOSED);
}
else{

redisLock.unlock(lockKey, timeStr);
return new ResultData(ErrorCode.PAY_ORDER_ERROR,"订单状态异常");
}

}else {
logger.debug("CacheAspect 业务等待中, key:{}: " + lockKey);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}finally {
redisLock.unlock(lockKey, timeStr);
}
}
DouYinCreatePreOrder preOrder = new DouYinCreatePreOrder();
preOrder.setAppId(appInfo.getAppId());
preOrder.setOutOrderNo(order.getId().toString());
preOrder.setTotalAmount(order.getPayment());
preOrder.setSubject(coupon.getTitle());
preOrder.setBody(coupon.getTitle());
preOrder.setValidTime(time_out);
// preOrder.setNotifyUrl();//回调地址
return new ResultData(ErrorCode.PAY_ORDER_ERROR,"请重试!");

}

CreatePreOrderResult preOrderResult = DouYinPayHelper.createPreOrder(preOrder);
if(preOrderResult.isSuccess()){
TtOrder orderSuc = new TtOrder();
orderSuc.setId(order.getId());
orderSuc.setOrderStatus(EnumTtOrderStatus.ORDER_STATUS_PAYMENT_ING.getCode());
orderSuc.setUpdateDate(new Date());
ttOrderMapper.updateById(orderSuc);
@Override
public boolean isByMember(Long memberId, Long id) {
TtOrder orderQ = new TtOrder();
orderQ.setCUserId(memberId);
orderQ.setProductId(id);
List<Integer> statuss = new ArrayList<>();
statuss.add(EnumTtOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode());
orderQ.setStatusS(statuss);
int listCount = ttOrderMapper.findListCount(orderQ);
if(listCount > 0){
return true;
}
return new ResultData(preOrderResult);
return false;
}

@Override
public List<Long> findExpireIdList(Date expireDate) {
return ttOrderMapper.findBeforeIdList(expireDate,EnumTtOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode(),null);
}

@Override
public List<Long> findRecordedIdList(Date recordedDate) {
return ttOrderMapper.findBeforeIdList(recordedDate,EnumTtOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode(),EnumYesOrNo.NO.getCode());
}

@Override
public ResultData updateOrderStatus(TenantEntity tenantEntity, Long orderId, Long memberId, WxAppinfo appInfo) {
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public ResultData recordedAmount(Long orderId) {
TtOrder order = ttOrderMapper.selectById(orderId);
if (null == order) {
logger.error("pay order, order not allow, orderId: " + orderId);
return new ResultData(ErrorCode.ORDER_IS_NOT_FIND);
}
if(!order.getCUserId().equals(memberId)){
return new ResultData(ErrorCode.ORDER_USER_NOT_MATCH);
}
TtCUser byId = ttCUserService.getById(memberId, tenantEntity.getTenantId());
// WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(memberId,tenantEntity.getFinalTenantId());
// if ( null == wxCUserBasicInfo) {
if ( byId == null) {
logger.error("用户不存在."+memberId);
return new ResultData(ErrorCode.USER_IS_EMPTY.getCode(),"用户不存在."+memberId);
}
// if (null != wxCUserBasicInfo && EnumCreditLockedStatus.CLOSE.getCode().equals(wxCUserBasicInfo.getStatus())) {
// return new ResultData(ErrorCode.MEMBER_IS_LOCKED);
// }
// WxAppinfo appInfo = wxAppinfoService.getByAppId(appId);
if(appInfo == null) {
return new ResultData(ErrorCode.APP_ID_NOT_FOUND);
}
if(order.getOrderStatus() == EnumTtOrderStatus.ORDER_STATUS_PAYMENT_ING.getCode()){
logger.info("订单支付中: " + order.toString());
OrderQueryResult orderQueryResult = DouYinPayHelper.orderQuery(appInfo.getAppId(), appInfo.getSecret(), order.getId().toString(), null);
String trade_state = orderQueryResult.getOrderStatus();
if ("PROCESSING".equals(trade_state)) {//处理中
return new ResultData(ErrorCode.PAY_ORDER_PAYING);
}else if ("SUCCESS".equals(trade_state)) {//成功
TtOrder orderSuc = new TtOrder();
orderSuc.setId(order.getId());
orderSuc.setOrderStatus(EnumTtOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode());
orderSuc.setUpdateDate(new Date());
ttOrderMapper.updateById(orderSuc);
return new ResultData(ErrorCode.PAY_ORDER_EXIST,"该订单已经支付,请勿重复支付!");
}else if ("FAIL".equals(trade_state)) {//失败
TtOrder orderSuc = new TtOrder();
orderSuc.setId(order.getId());
orderSuc.setOrderStatus(EnumTtOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode());
orderSuc.setUpdateDate(new Date());
ttOrderMapper.updateById(orderSuc);
}else if ("TIMEOUT".equals(trade_state)) {//超时
TtOrder orderSuc = new TtOrder();
orderSuc.setId(order.getId());
orderSuc.setOrderStatus(EnumTtOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode());
orderSuc.setUpdateDate(new Date());
ttOrderMapper.updateById(orderSuc);
if(order.getOrderStatus() == EnumTtOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()){
if(order.getIsRecorded() == null || !order.getIsRecorded().equals(EnumYesOrNo.YES.getCode())){
WxMerchant merchant = new WxMerchant();
merchant.setId(order.getMerchantId());
merchant.setEntryAmount(order.getPayment());
merchant.setCashOutNumber(order.getPayment());
int i = wxMerchantMapper.recordedAmount(merchant);
if(i == 1){
ttOrderMapper.updateIsRecorded(order.getId(),EnumYesOrNo.YES.getCode());
return new ResultData();
}else{
throw new MallinkException(ErrorCode.ORDER_RECORDED_AMOUNT_ERROR);
}
}else{
return new ResultData(ErrorCode.ORDER_RECORDED_AMOUNT);
}

}else{
return new ResultData(ErrorCode.PAY_ORDER_NOT_PAY,"订单不是支付状态");
}
return new ResultData();
}

}

+ 2
- 0
mallinkService/src/main/java/com/iformall/utils/Constant.java Просмотреть файл

@@ -10,6 +10,8 @@ public class Constant {

public static final int WX_LIMIT_DAYS = 30; // 微信分账限制30天

public static final long PRESS_TIME_OUT = 30 * 60 * 1000;//必须30分钟内支付;

//游戏常量
public static final int limit = 0;//游戏玩法不限次数
public static final int notLimit = -1;//游戏玩法不限能玩


+ 2
- 3
mallinkService/src/main/java/com/iformall/utils/sign/SignUtils.java Просмотреть файл

@@ -5,8 +5,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.security.MessageDigest;
import java.util.Arrays;
import java.util.Map;
import java.util.*;

public class SignUtils {

@@ -53,7 +52,7 @@ public class SignUtils {
return encrypt(str, "MD5");
}

private static String encrypt(String str, String algorithm) {
public static String encrypt(String str, String algorithm) {
try {
MessageDigest md = MessageDigest.getInstance(algorithm);
md.update(str.getBytes("UTF-8"));


+ 18
- 6
mallinkService/src/main/resources/mapper/AliBusinessCircleOrderMapper.xml Просмотреть файл

@@ -25,7 +25,10 @@
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>

<result column="merchant_id" jdbcType="BIGINT" property="merchantId"/>
<result column="merchant_name" jdbcType="VARCHAR" property="merchantName" />
<result column="c_user_id" jdbcType="BIGINT" property="cUserId"/>
<result column="c_user_nick_name" jdbcType="VARCHAR" property="cUserNickName" />
<result column="c_user_phone" jdbcType="VARCHAR" property="cUserPhone" />

<result column="earn_points" jdbcType="TINYINT" property="earnPoints"/>
<result column="increased_points" jdbcType="INTEGER" property="increasedPoints"/>
@@ -44,7 +47,8 @@
`id`, `tenant_id`, `parent_tenant_id`, `notice_id`, `notice_create_time`, `notice_event_type`,
`summary`,`mall_id`, `mall_name`, `mall_store_id`, `buyer_id`,
`time_end`, `amount`, `pay_amount`, `transaction_id`, `create_time`, `update_time`,
`merchant_id`, `c_user_id`, `earn_points`, `increased_points`, `points_update_time`,
`merchant_id`,`merchant_name`, `c_user_id`, `c_user_nick_name`, `c_user_phone`,
`earn_points`, `increased_points`, `points_update_time`,
`is_refund`, `order_status`, `refund_id`, `refund_amount`
</sql>

@@ -88,10 +92,18 @@
<if test=" null != merchantId ">
and `merchant_id` = #{merchantId}
</if>

<if test=" null != merchantName and ''!=merchantName">
and `merchant_name` like concat('%', #{merchantName},'%')
</if>
<if test=" null != cUserId ">
and `c_user_id` = #{cUserId}
</if>
<if test=" null != cUserNickName and ''!=cUserNickName">
and `c_user_nick_name` like concat('%', #{cUserNickName},'%')
</if>
<if test=" null != cUserPhone and ''!=cUserPhone">
and `c_user_phone` like concat('%', #{cUserPhone},'%')
</if>

<if test=" null != earnPoints ">
and `earn_points` = #{earnPoints}
@@ -164,12 +176,12 @@
INSERT INTO ali_business_circle_order (
`id`, `tenant_id`, `parent_tenant_id`, `notice_id`, `notice_create_time`, `notice_event_type`,
`summary`, `mall_id`, `mall_name`, `mall_store_id`, `buyer_id`,`time_end`, `amount`, `pay_amount`, `transaction_id`, `create_time`, `update_time`,
`merchant_id`, `c_user_id`, `earn_points`, `is_refund`
`merchant_id`,`merchant_name`, `c_user_id`, `c_user_nick_name`, `c_user_phone`, `earn_points`, `is_refund`
)
VALUES(
#{id},#{tenantId},#{parentTenantId},#{noticeId},#{noticeCreateTime},#{noticeEventType},
#{summary},#{mallId},#{mallName},#{mallStoreId},#{buyerId},#{timeEnd},#{amount},#{payAmount},#{transactionId},#{createTime},#{updateTime},
#{merchantId},#{cUserId},0,0
#{merchantId},#{merchantName},#{cUserId},#{cUserNickName},#{cUserPhone},0,0
);
</insert>

@@ -184,12 +196,12 @@
INSERT INTO ali_business_circle_order (
`id`, `tenant_id`, `parent_tenant_id`,`notice_id`, `notice_create_time`, `notice_event_type`,
`summary`,`mall_id`, `mall_name`, `mall_store_id`, `buyer_id`, `time_end`, `amount`,`pay_amount`, `transaction_id`, `create_time`, `update_time`,
`merchant_id`, `c_user_id`, `earn_points`, `is_refund`, `refund_id`, `refund_amount`
`merchant_id`,`merchant_name`, `c_user_id`, `c_user_nick_name`, `c_user_phone`, `earn_points`, `is_refund`, `refund_id`, `refund_amount`
)
VALUES(
#{id},#{tenantId},#{parentTenantId},#{noticeId},#{noticeCreateTime},#{noticeEventType},
#{summary},#{mallId},#{mallName},#{mallStoreId},#{buyerId},#{timeEnd},#{amount},#{payAmount},#{transactionId},#{createTime},#{updateTime},
#{merchantId},#{cUserId},0,1,#{refundId},#{refundAmount}
#{merchantId},#{merchantName},#{cUserId},#{cUserNickName},#{cUserPhone},0,1,#{refundId},#{refundAmount}
);
</insert>



+ 1
- 1
mallinkService/src/main/resources/mapper/TtCUserMapper.xml Просмотреть файл

@@ -277,7 +277,7 @@
where `token` = #{token} and `tenant_id` = #{tenantId}
</select>
<select id="selectById" parameterType="java.util.HashMap" resultMap="BaseResultMap">
<select id="getById" parameterType="java.util.HashMap" resultMap="BaseResultMap">
select <include refid="allColumns"/> from tt_c_user where id = #{id} and `tenant_id` = #{tenantId}
</select>



+ 43
- 11
mallinkService/src/main/resources/mapper/TtCouponMapper.xml Просмотреть файл

@@ -11,6 +11,8 @@
<result column="detail_picture" jdbcType="VARCHAR" property="detailPicture"/>
<result column="title" jdbcType="VARCHAR" property="title"/>
<result column="sub_title" jdbcType="VARCHAR" property="subTitle"/>

<result column="count_class" jdbcType="INTEGER" property="countClass"/>
<result column="video_id" jdbcType="VARCHAR" property="videoId"/>
<result column="video_time" jdbcType="VARCHAR" property="videoTime"/>
<result column="video_url" jdbcType="VARCHAR" property="videoUrl"/>
@@ -34,6 +36,7 @@
<result column="sell_count" jdbcType="INTEGER" property="sellCount"/>
<result column="assess_count" jdbcType="INTEGER" property="assessCount"/>
<result column="collect_count" jdbcType="INTEGER" property="collectCount"/>
<result column="mark" jdbcType="INTEGER" property="mark"/>
<result column="is_del" jdbcType="INTEGER" property="isDel"/>
<result column="column_id" jdbcType="BIGINT" property="columnId"/>
<result column="popularity" jdbcType="INTEGER" property="popularity"/>
@@ -48,10 +51,10 @@

<sql id="allColumns">
c.`id`, c.`tenant_id`, c.`parent_tenant_id`, c.`type`, c.`cover_img`, c.`cover_picture`, c.`detail_picture`,
c.`title`, c.`sub_title`, c.`video_id`, c.`video_time`,c.`video_url`, c.`html`, c.`is_landscape`, c.`is_payment`,
c.`title`, c.`sub_title`, c.`count_class`, c.`video_id`, c.`video_time`,c.`video_url`, c.`html`, c.`is_landscape`, c.`is_payment`,
c.`sale_price`, c.`orig_price`, c.`is_preview`, c.`preview_duration`, c.`detail`, c.`false_sell_count`,
c.`dy_title`, c.`inventory`, c.`remark`, c.`status`, c.`create_date`, c.`update_date`,
c.`see_count`, c.`sell_count`, c.`assess_count`, c.`collect_count`, c.`is_del`,
c.`see_count`, c.`sell_count`, c.`assess_count`, c.`collect_count`, c.`mark`, c.`is_del`,
c.`column_id`, c.`popularity`, c.`merchant_id`, c.`business_id`, c.`business_name`,
m.name merchant_name, m.img_url merchant_pic
</sql>
@@ -101,6 +104,10 @@
and c.`status` = #{status}
</if>

<if test=" null != mark">
and c.`mark` = #{mark}
</if>

<if test="startdate != null">
and c.`create_date` &gt;= #{startdate}
</if>
@@ -123,8 +130,7 @@
</foreach>
</if>

order by c.`update_date` desc
<!--<if test=" null != sortColumns">order by ${sortColumns}</if>-->
<if test=" null != sortColumns">order by ${sortColumns}</if>
</sql>

<select id="findList" parameterType="com.iformall.domain.po.tt.TtCoupon" resultMap="BaseResultMap">
@@ -135,6 +141,32 @@
<include refid="dynamicWhereConditions"/>
</select>

<select id="findCollectList" parameterType="com.iformall.domain.po.tt.TtCoupon" resultMap="BaseResultMap">
select
<include refid="allColumns"/>
from tt_user_collect uc
left join tt_coupon c on c.id = uc.coupon_id
left join wx_merchant m on m.id = c.merchant_id
where uc.`is_del` = 0 and uc.`user_id` = ${cUserId}
and c.`is_del` = 0 and c.`type` != 3
<if test=" null != type ">
and c.`type` = #{type}
</if>
<if test=" null != title and ''!=title">
and c.`title` like concat('%', #{title},'%')
</if>
<if test=" null != status">
and c.`status` = #{status}
</if>
<if test=" null != mark">
and c.`mark` = #{mark}
</if>
<if test=" null != businessId ">
and c.`business_id` = #{businessId}
</if>
order by uc.create_date desc
</select>

<select id="selectById" parameterType="Long" resultMap="BaseResultMap">
select <include refid="allColumns"/>
from tt_coupon c
@@ -147,31 +179,31 @@
</delete>

<update id="addSeeCount" parameterType="Long">
update tt_coupon SET see_count = see_count+1,popularity = popularity+1, update_date=now() where id = #{id}
update tt_coupon SET see_count = see_count+1,popularity = popularity+1 where id = #{id}
</update>

<update id="addSellCount" parameterType="Long">
update tt_coupon SET sell_count = sell_count+1,popularity = popularity+20, false_sell_count = false_sell_count+1, update_date=now() where id = #{id}
update tt_coupon SET sell_count = sell_count+1,popularity = popularity+20, false_sell_count = false_sell_count+1 where id = #{id}
</update>

<update id="reduceSellCount" parameterType="Long">
update tt_coupon SET sell_count = sell_count-1,popularity = popularity-20, false_sell_count = false_sell_count-1, update_date=now() where id = #{id}
update tt_coupon SET sell_count = sell_count-1,popularity = popularity-20, false_sell_count = false_sell_count-1 where id = #{id}
</update>

<update id="addAssessCount" parameterType="Long">
update tt_coupon SET assess_count = assess_count+1,popularity = popularity+10, update_date=now() where id = #{id}
update tt_coupon SET assess_count = assess_count+1,popularity = popularity+10 where id = #{id}
</update>

<update id="addCollectCount" parameterType="Long">
update tt_coupon SET collect_count = collect_count+1,popularity = popularity+5, update_date=now() where id = #{id}
update tt_coupon SET collect_count = collect_count+1,popularity = popularity+5 where id = #{id}
</update>

<update id="reduceCollectCount" parameterType="Long">
update tt_coupon SET collect_count = collect_count-1,popularity = popularity-5, update_date=now() where id = #{id}
update tt_coupon SET collect_count = collect_count-1,popularity = popularity-5 where id = #{id}
</update>

<update id="addPopularity" parameterType="java.util.HashMap">
update tt_coupon SET popularity = popularity+#{popularity}, update_date=now() where id = #{id}
update tt_coupon SET popularity = popularity+#{popularity} where id = #{id}
</update>

</mapper>

+ 129
- 14
mallinkService/src/main/resources/mapper/TtOrderMapper.xml Просмотреть файл

@@ -7,28 +7,35 @@
<result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId" />
<result column="c_user_id" jdbcType="BIGINT" property="cUserId"/>
<result column="product_id" jdbcType="BIGINT" property="productId"/>
<result column="product_title" jdbcType="VARCHAR" property="productTitle"/>
<result column="product_pic" jdbcType="VARCHAR" property="productPic"/>
<result column="product_sale_price" jdbcType="INTEGER" property="productSalePrice"/>
<result column="merchant_id" jdbcType="BIGINT" property="merchantId"/>

<result column="type" jdbcType="TINYINT" property="type"/>
<result column="way" jdbcType="TINYINT" property="way"/>
<result column="payment_type" jdbcType="INTEGER" property="paymentType"/>
<result column="payment" jdbcType="INTEGER" property="payment"/>
<result column="payment_time" jdbcType="TIMESTAMP" property="paymentTime"/>
<result column="payment_time" jdbcType="VARCHAR" property="paymentTime"/>
<result column="order_status" jdbcType="INTEGER" property="orderStatus"/>
<result column="create_date" jdbcType="TIMESTAMP" property="createDate"/>
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/>
<result column="is_recorded" jdbcType="INTEGER" property="isRecorded"/>
<result column="recorded_date" jdbcType="TIMESTAMP" property="recordedDate"/>


<result column="nick_name" jdbcType="VARCHAR" property="nickName"/>
<result column="phone" jdbcType="VARCHAR" property="phone"/>
<result column="product_title" jdbcType="VARCHAR" property="productTitle"/>
<result column="product_pic" jdbcType="VARCHAR" property="productPic"/>
<result column="author" jdbcType="VARCHAR" property="author"/>
<result column="author_pic" jdbcType="VARCHAR" property="authorPic"/>
</resultMap>

<sql id="allColumns">
o.`id`,o.`tenant_id`,o.`parent_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.`id`,o.`tenant_id`,o.`parent_tenant_id`,o.`c_user_id`,o.`product_id`,o.`type`,o.`way`,o.`payment_type`,o.`payment`,
o.`payment_time`,o.`order_status`,o.`create_date`,o.`update_date`,o.`is_recorded`,o.`recorded_date`,
u.`nick_name`,u.`phone`,
c.`title` product_title,c.`coverImg` product_pic,
m.`name` author,m.`imgUrl` author_pic
o.`product_title`,o.`product_pic`,o.`product_sale_price`,
m.`name` author,m.`img_url` author_pic
</sql>

<sql id="dynamicWhereConditions">
@@ -57,21 +64,29 @@
and o.`type` = #{type}
</if>

<if test=" null != way ">
and o.`way` = #{way}
</if>

<if test=" null != paymentType ">
and o.`payment_type` = #{paymentType}
</if>

<if test="startdate != null">
and o.`payment_time` &gt;= #{startdate}
and o.`create_date` &gt;= #{startdate}
</if>
<if test="enddate != null">
and o.`payment_time` &lt;= #{enddate}
and o.`create_date` &lt;= #{enddate}
</if>

<if test=" null != orderStatus ">
and o.`order_status` = #{orderStatus}
</if>

<if test=" null != isRecorded ">
and o.`is_recorded` = #{isRecorded}
</if>

<if test=" null != nickName ">
and u.`nick_name` like concat('%', #{nickName},'%')
</if>
@@ -81,11 +96,11 @@
</if>

<if test=" null != productTitle ">
and c.`title` like concat('%', #{productTitle},'%')
and o.`product_title` like concat('%', #{productTitle},'%')
</if>

<if test=" null != authorId ">
and c.merchant_id = #{authorId}
<if test=" null != merchantId ">
and o.merchant_id = #{merchantId}
</if>

<if test=" null != author ">
@@ -113,11 +128,98 @@
<include refid="allColumns"/>
from tt_order o
left join tt_c_user u on o.c_user_id = u.id
left join tt_coupon c on o.product_id = c.id
left join wx_merchant m on c.merchant_id = m.id
left join wx_merchant m on o.merchant_id = m.id
<include refid="dynamicWhereConditions"/>
</select>

<select id="findCList" parameterType="com.iformall.domain.po.tt.TtOrder" resultMap="BaseResultMap">
select
<include refid="allColumnsC"/>
from tt_order o
left join wx_merchant m on o.merchant_id = m.id
<include refid="dynamicWhereConditionsC"/>
</select>

<sql id="allColumnsC">
o.`id`,o.`tenant_id`,o.`parent_tenant_id`,o.`c_user_id`,o.`product_id`,o.`type`,o.`way`,o.`payment_type`,o.`payment`,
o.`payment_time`,o.`order_status`,o.`create_date`,o.`update_date`,
o.`product_title`,o.`product_pic`,o.`product_sale_price`,
m.`name` author,m.`img_url` author_pic
</sql>

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

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

<if test=" null != tenantId and '' != tenantId">
and o.`tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and o.`parent_tenant_id` = #{parentTenantId}
</if>

<if test=" null != cUserId ">
and o.`c_user_id` = #{cUserId}
</if>

<if test=" null != productId ">
and o.`product_id` = #{productId}
</if>

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

<if test=" null != type ">
and o.`type` = #{type}
</if>

<if test=" null != way ">
and o.`way` = #{way}
</if>

<if test=" null != paymentType ">
and o.`payment_type` = #{paymentType}
</if>

<if test="startdate != null">
and o.`create_date` &gt;= #{startdate}
</if>
<if test="enddate != null">
and o.`create_date` &lt;= #{enddate}
</if>

<if test=" null != orderStatus ">
and o.`order_status` = #{orderStatus}
</if>

<if test=" null != merchantId ">
and o.merchant_id = #{merchantId}
</if>

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

<if test=" null != statusS ">
and o.`order_status` in
<foreach collection="statusS" index="index" item="sItem" open="(" separator="," close=")">
#{sItem}
</foreach>
</if>

<if test=" null != ids ">
and o.`id` in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
</if>
order by o.`update_date` desc
</sql>

<select id="findListCount" parameterType="com.iformall.domain.po.tt.TtOrder" resultType="Integer">
select count(1)
from tt_order
@@ -149,4 +251,17 @@
</if>
</select>

<select id="findExpireIdList" parameterType="java.util.HashMap" resultType="Long">
select id
from tt_order
where order_status=#{orderStatus} and create_date &lt;= #{beforeDate}
<if test=" null != isRecorded ">
and `is_recorded` = #{isRecorded}
</if>
</select>

<update id="updateIsRecorded" parameterType="java.util.HashMap">
update tt_order set `is_recorded` = #{isRecorded},recorded_date = now() where id = #{id}
</update>

</mapper>

+ 18
- 6
mallinkService/src/main/resources/mapper/WxBusinessCircleOrderMapper.xml Просмотреть файл

@@ -25,7 +25,10 @@
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>

<result column="merchant_id" jdbcType="BIGINT" property="merchantId"/>
<result column="merchant_name" jdbcType="VARCHAR" property="merchantName" />
<result column="c_user_id" jdbcType="BIGINT" property="cUserId"/>
<result column="c_user_nick_name" jdbcType="VARCHAR" property="cUserNickName" />
<result column="c_user_phone" jdbcType="VARCHAR" property="cUserPhone" />

<result column="earn_points" jdbcType="TINYINT" property="earnPoints"/>
<result column="increased_points" jdbcType="INTEGER" property="increasedPoints"/>
@@ -45,7 +48,8 @@
`id`, `tenant_id`, `parent_tenant_id`, `notice_id`, `notice_create_time`, `notice_event_type`,
`summary`, `wx_mchid`, `wx_merchant_name`, `wx_shop_name`, `wx_shop_number`,
`appid`, `openid`, `time_end`, `amount`, `pay_amount`, `transaction_id`, `commit_tag`, `create_time`, `update_time`,
`merchant_id`, `c_user_id`, `earn_points`, `increased_points`, `points_update_time`, `is_points_notify`,
`merchant_id`,`merchant_name`, `c_user_id`, `c_user_nick_name`, `c_user_phone`,
`earn_points`, `increased_points`, `points_update_time`, `is_points_notify`,
`is_refund`, `order_status`, `refund_id`, `refund_amount`
</sql>

@@ -105,10 +109,18 @@
<if test=" null != merchantId ">
and `merchant_id` = #{merchantId}
</if>

<if test=" null != merchantName and ''!=merchantName">
and `merchant_name` like concat('%', #{merchantName},'%')
</if>
<if test=" null != cUserId ">
and `c_user_id` = #{cUserId}
</if>
<if test=" null != cUserNickName and ''!=cUserNickName">
and `c_user_nick_name` like concat('%', #{cUserNickName},'%')
</if>
<if test=" null != cUserPhone and ''!=cUserPhone">
and `c_user_phone` like concat('%', #{cUserPhone},'%')
</if>

<if test=" null != earnPoints ">
and `earn_points` = #{earnPoints}
@@ -186,13 +198,13 @@
`id`, `tenant_id`, `parent_tenant_id`, `notice_id`, `notice_create_time`, `notice_event_type`,
`summary`, `wx_mchid`, `wx_merchant_name`, `wx_shop_name`, `wx_shop_number`,
`appid`, `openid`, `time_end`, `amount`, `pay_amount`, `transaction_id`, `commit_tag`, `create_time`, `update_time`,
`merchant_id`, `c_user_id`, `earn_points`, `is_points_notify`, `is_refund`
`merchant_id`,`merchant_name`, `c_user_id`, `c_user_nick_name`, `c_user_phone`, `earn_points`, `is_points_notify`, `is_refund`
)
VALUES(
#{id},#{tenantId},#{parentTenantId},#{noticeId},#{noticeCreateTime},#{noticeEventType},
#{summary},#{wxMchid},#{wxMerchantName},#{wxShopName},#{wxShopNumber},
#{appid},#{openid},#{timeEnd},#{amount},#{payAmount},#{transactionId},#{commitTag},#{createTime},#{updateTime},
#{merchantId},#{cUserId},0,0,0
#{merchantId},#{merchantName},#{cUserId},#{cUserNickName},#{cUserPhone},0,0,0
);
</insert>

@@ -215,13 +227,13 @@
`id`, `tenant_id`, `parent_tenant_id`, `notice_id`, `notice_create_time`, `notice_event_type`,
`summary`, `wx_mchid`, `wx_merchant_name`, `wx_shop_name`, `wx_shop_number`,
`appid`, `openid`, `time_end`, `amount`,`pay_amount`, `transaction_id`, `commit_tag`, `create_time`, `update_time`,
`merchant_id`, `c_user_id`, `earn_points`, `is_refund`, `refund_id`, `refund_amount`
`merchant_id`,`merchant_name`, `c_user_id`, `c_user_nick_name`, `c_user_phone`, `earn_points`, `is_refund`, `refund_id`, `refund_amount`
)
VALUES(
#{id},#{tenantId},#{parentTenantId},#{noticeId},#{noticeCreateTime},#{noticeEventType},
#{summary},#{wxMchid},#{wxMerchantName},#{wxShopName},#{wxShopNumber},
#{appid},#{openid},#{timeEnd},#{amount},#{payAmount},#{transactionId},#{commitTag},#{createTime},#{updateTime},
#{merchantId},#{cUserId},0,1,#{refundId},#{refundAmount}
#{merchantId},#{merchantName},#{cUserId},#{cUserNickName},#{cUserPhone},0,1,#{refundId},#{refundAmount}
);
</insert>



+ 70
- 32
mallinkService/src/main/resources/mapper/WxMerchantMapper.xml Просмотреть файл

@@ -31,6 +31,7 @@
<result column="qr_code" jdbcType="VARCHAR" property="qrCode"/>
<result column="introduction" jdbcType="VARCHAR" property="introduction"/>
<result column="action_desc" jdbcType="VARCHAR" property="actionDesc"/>
<result column="mark" jdbcType="INTEGER" property="mark"/>
<result column="is_del" jdbcType="INTEGER" property="isDel"/>
<result column="talk_user_main" jdbcType="VARCHAR" property="talkUserMain"/>
<result column="talk_user_aux" jdbcType="VARCHAR" property="talkUserAux"/>
@@ -38,109 +39,113 @@
<result column="rental_start_date" property="rentalStartDate"/>
<result column="rental_end_date" property="rentalEndDate"/>
<result column="credit_locked" property="creditLocked"/>
<result column="entry_amount" jdbcType="INTEGER" property="entryAmount"/>
<result column="cash_out_number" jdbcType="INTEGER" property="cashOutNumber"/>
<result column="cash_out_count" jdbcType="INTEGER" property="cashOutCount"/>
<result column="cash_out_last_time" jdbcType="TIMESTAMP" property="cashOutLastTime"/>
</resultMap>
<sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`img_url`,`name`,`encode`,`link_phone`,`create_date`,`update_date`,`car_vendor_type`,`car_params`,`status`,`link_person`,
`business_id`,`business_types`,`sub_business_id`,`shop_type`,`brand`,`type`,`is_public`,email,`title`,`cover_picture`,`is_admin`,`bill_setting`,`qr_code`,
`introduction`,`action_desc`,`is_del`,`talk_user_main`,`talk_user_aux`,link_line_phone,credit_locked,cash_out_number,cash_out_count,cash_out_last_time
m.`id`,m.`tenant_id`,m.`parent_tenant_id`,m.`img_url`,m.`name`,m.`encode`,m.`link_phone`,m.`create_date`,m.`update_date`,m.`car_vendor_type`,m.`car_params`,m.`status`,m.`link_person`,
m.`business_id`,m.`business_types`,m.`sub_business_id`,m.`shop_type`,m.`brand`,m.`type`,m.`is_public`,m.email,m.`title`,m.`cover_picture`,m.`is_admin`,m.`bill_setting`,m.`qr_code`,
m.`introduction`,m.`action_desc`,m.`mark`,m.`is_del`,m.`talk_user_main`,m.`talk_user_aux`,m.link_line_phone,m.credit_locked,m.credit_locked,m.entry_amount,m.cash_out_count,m.cash_out_last_time
</sql>
<sql id="allColumnsVo">
m.`id`,m.`tenant_id`,m.`parent_tenant_id`,m.`img_url`,m.`name`,m.`encode`,m.`link_phone`,m.`create_date`,m.`update_date`,m.`car_vendor_type`,m.`car_params`,m.`status`,m.`link_person`,
m.`business_id`,m.`business_types`,m.`sub_business_id`,m.`shop_type`,m.`brand`,m.`type`,m.`is_public`,m.email,m.`title`,m.`cover_picture`,m.`is_admin`,m.`bill_setting`,m.`qr_code`,
m.`introduction`,m.`action_desc`,m.`is_del`,m.`talk_user_main`,m.`talk_user_aux`,m.link_line_phone,r.rental_start_date,r.rental_end_date,m.cash_out_number,m.cash_out_count,m.cash_out_last_time
m.`introduction`,m.`action_desc`,m.`mark`,m.`is_del`,m.`talk_user_main`,m.`talk_user_aux`,m.link_line_phone,r.rental_start_date,r.rental_end_date,m.entry_amount,m.cash_out_number,m.cash_out_count,m.cash_out_last_time
</sql>
<sql id="dynamicWhereConditions">
where is_del = 0
where m.is_del = 0

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

<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
and m.`tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
and m.`parent_tenant_id` = #{parentTenantId}
</if>

<if test=" null != imgUrl ">
and `img_url` like concat('%', #{imgUrl},'%')
and m.`img_url` like concat('%', #{imgUrl},'%')
</if>
<if test=" null != encode and ''!=encode ">
and `encode` like concat('%', #{encode},'%')
and m.`encode` like concat('%', #{encode},'%')
</if>

<if test=" null != name and ''!=name ">
and `name` like concat('%', #{name},'%')
and m.`name` like concat('%', #{name},'%')
</if>
<if test=" null != linkPhone and ''!=linkPhone ">
and `link_phone` like concat('%', #{linkPhone},'%')
and m.`link_phone` like concat('%', #{linkPhone},'%')
</if>

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

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

<if test=" null != carVendorType ">
and `car_vendor_type` = #{carVendorType}
and m.`car_vendor_type` = #{carVendorType}
</if>

<if test=" null != businessId ">
and `business_id` = #{businessId}
and m.`business_id` = #{businessId}
</if>

<if test=" null != businessTypes ">
and JSON_CONTAINS(business_types,JSON_OBJECT('id', #{businessTypes}))
and JSON_CONTAINS(m.business_types,JSON_OBJECT('id', #{businessTypes}))
</if>

<if test=" null != subBusinessId ">
and `sub_business_id` = #{subBusinessId}
and m.`sub_business_id` = #{subBusinessId}
</if>

<if test=" null != carParams ">
and `car_params` like concat('%', #{carParams},'%')
and m.`car_params` like concat('%', #{carParams},'%')
</if>
<if test=" null != status ">
and `status` = #{status}
and m.`status` = #{status}
</if>
<if test=" null != linkPerson ">
and `link_person` = #{linkPerson}
and m.`link_person` = #{linkPerson}
</if>
<if test=" null != type ">
and `type` = #{type}
and m.`type` = #{type}
</if>
<if test=" null != isPublic ">
and `is_public` = #{isPublic}
and m.`is_public` = #{isPublic}
</if>
<if test=" null != email ">
and `email` = #{email}
and m.`email` = #{email}
</if>
<if test=" null != isAdmin ">
and `is_admin` = #{isAdmin}
and m.`is_admin` = #{isAdmin}
</if>
<if test=" null != mark ">
and m.`mark` = #{mark}
</if>
<if test=" null != isDel ">
and `is_del` = #{isDel}
and m.`is_del` = #{isDel}
</if>
<if test=" null != brand ">
and `brand` = #{brand}
and m.`brand` = #{brand}
</if>
<if test=" null != creditLocked ">
and `credit_locked` = #{creditLocked}
and m.`credit_locked` = #{creditLocked}
</if>
<if test=" null != rentShopType ">
and id not in(
and m.id not in(
select merchant_id from wx_rent_contract where rent_shop_type=1
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
@@ -153,14 +158,14 @@
</if>
<if test=" null != ids ">
and id in
and m.id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
</if>
<if test="(null != floorForRule and '' != floorForRule) or (null != businessForRule and '' != businessForRule)">
and id in(
and m.id in(
select ms.merchant_id from (select merchant_id,shop_id from wx_merchant_shop where is_del=0) ms
inner join wx_merchant m on ms.merchant_id = m.id
inner join wx_shop s on s.id=ms.shop_id
@@ -195,6 +200,29 @@
from wx_merchant m
<include refid="dynamicWhereConditions"/>
</select>

<select id="findFollowList" parameterType="com.iformall.domain.po.WxMerchant" resultMap="BaseResultMap">
select
<include refid="allColumns"/>
form tt_user_follow uf
left join wx_merchant m on uf.merchern_id = m.id
where uf.is_del = 0 and uf.user_id = ${cUserId}
and m.is_del = 0
<if test=" null != status ">
and m.`status` = #{status}
</if>
<if test=" null != isPublic ">
and m.`is_public` = #{isPublic}
</if>
<if test=" null != name and ''!=name ">
and m.`name` like concat('%', #{name},'%')
</if>
<if test=" null != businessTypes ">
and JSON_CONTAINS(m.business_types,JSON_OBJECT('id', #{businessTypes}))
</if>
order by uf.create_date desc

</select>
<select id="findListVo" parameterType="com.iformall.domain.po.WxMerchant" resultMap="BaseResultMap">
select
@@ -231,7 +259,7 @@
<select id="getMerchantByEncode" parameterType="String" resultMap="BaseResultMap">
select
<include refid="allColumns"/>
from wx_merchant where encode = #{encode}
from wx_merchant m where m.encode = #{encode}
</select>
<sql id="dataRule">
@@ -328,6 +356,9 @@
<if test=" null != isAdmin ">
and m.`is_admin` = #{isAdmin}
</if>
<if test=" null != mark ">
and m.`mark` = #{mark}
</if>
<if test=" null != isDel ">
and m.`is_del` = #{isDel}
</if>
@@ -657,4 +688,11 @@
update wx_merchant set cash_out_count = 0 where id = #{id}
</update>

<update id="recordedAmount" parameterType="com.iformall.domain.po.WxMerchant">
update wx_merchant set
entry_amount = ifnull(entry_amount,0)+#{entryAmount},
cash_out_number = ifnull(cash_out_number,0)+#{cashOutNumber}
where id = #{id}
</update>

</mapper>

+ 3
- 1
mallinkService/src/main/resources/mapper/WxPayAccountMapper.xml Просмотреть файл

@@ -11,6 +11,8 @@
<result column="api_key" jdbcType="VARCHAR" property="apiKey"/>
<result column="merchant_api_key" jdbcType="VARCHAR" property="merchantApiKey"/>
<result column="notify_url" jdbcType="VARCHAR" property="notifyUrl"/>
<result column="notify_token" jdbcType="VARCHAR" property="notifyToken"/>

<result column="cert_path" jdbcType="VARCHAR" property="certPath"/>
<result column="merchant_cert_path" jdbcType="VARCHAR" property="merchantCertPath"/>
<result column="type" jdbcType="INTEGER" property="type"/>
@@ -27,7 +29,7 @@
</resultMap>

<sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`mch_id`,`sub_mch_id`,`sub_app_id`,`api_key`,`merchant_api_key`,`notify_url`,`cert_path`,
`id`,`tenant_id`,`parent_tenant_id`,`mch_id`,`sub_mch_id`,`sub_app_id`,`api_key`,`merchant_api_key`,`notify_url`,`notify_token`,`cert_path`,
`merchant_cert_path`,`type`,`share`,`rate`,`real_rate`,
`service_id`,`pay_score_notify_url`,`api_v3_key`,`cert_serial_no`,`private_key_path`,`private_cert_path`
</sql>


+ 6
- 1
mallinkService/src/main/resources/mapper/WxTemplateMsgMapper.xml Просмотреть файл

@@ -50,6 +50,12 @@
<if test=" null != onOff ">
and `on_off` = #{onOff}
</if>
<if test=" null != types ">
and `type` in
<foreach collection="types" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test=" null != ids ">
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
@@ -71,7 +77,6 @@
<include refid="allColumns"/>
from wx_template_msg
<include refid="dynamicWhereConditions"/>
and `type` &gt; 3 and `type` &lt; 100
</select>




+ 18
- 6
mallinkService/src/main/resources/mapper/WxThirdPartyOrdersMapper.xml Просмотреть файл

@@ -29,7 +29,10 @@
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>

<result column="merchant_id" jdbcType="BIGINT" property="merchantId"/>
<result column="merchant_name" jdbcType="VARCHAR" property="merchantName" />
<result column="c_user_id" jdbcType="BIGINT" property="cUserId"/>
<result column="c_user_nick_name" jdbcType="VARCHAR" property="cUserNickName" />
<result column="c_user_phone" jdbcType="VARCHAR" property="cUserPhone" />

<result column="earn_points" jdbcType="TINYINT" property="earnPoints"/>
<result column="increased_points" jdbcType="INTEGER" property="increasedPoints"/>
@@ -48,7 +51,8 @@
`id`, `tenant_id`, `parent_tenant_id`, `source_app_id`, `source_type`,`notice_id`, `notice_create_time`, `notice_event_type`,
`summary`,`shop_name`, `shop_number`, `user_phone`, `user_number`,
`time_end`, `amount`, `pay_amount`, `transaction_id`, `create_time`, `update_time`,
`merchant_id`, `c_user_id`, `earn_points`, `increased_points`, `points_update_time`,
`merchant_id`,`merchant_name`, `c_user_id`, `c_user_nick_name`, `c_user_phone`,
`earn_points`, `increased_points`, `points_update_time`,
`is_refund`, `order_status`, `refund_id`, `refund_amount`
</sql>

@@ -108,10 +112,18 @@
<if test=" null != merchantId ">
and `merchant_id` = #{merchantId}
</if>

<if test=" null != merchantName and ''!=merchantName">
and `merchant_name` like concat('%', #{merchantName},'%')
</if>
<if test=" null != cUserId ">
and `c_user_id` = #{cUserId}
</if>
<if test=" null != cUserNickName and ''!=cUserNickName">
and `c_user_nick_name` like concat('%', #{cUserNickName},'%')
</if>
<if test=" null != cUserPhone and ''!=cUserPhone">
and `c_user_phone` like concat('%', #{cUserPhone},'%')
</if>

<if test=" null != earnPoints ">
and `earn_points` = #{earnPoints}
@@ -187,12 +199,12 @@
INSERT INTO wx_third_party_orders (
`id`, `tenant_id`, `parent_tenant_id`,`source_app_id`, `source_type`, `notice_id`, `notice_create_time`, `notice_event_type`,
`summary`, `shop_name`, `shop_number`, `user_phone`, `user_number`,`time_end`, `amount`, `pay_amount`, `transaction_id`, `create_time`, `update_time`,
`merchant_id`, `c_user_id`, `earn_points`, `is_refund`
`merchant_id`,`merchant_name`, `c_user_id`, `c_user_nick_name`, `c_user_phone`, `earn_points`, `is_refund`
)
VALUES(
#{id},#{tenantId},#{parentTenantId},#{sourceAppId},#{sourceType},#{noticeId},#{noticeCreateTime},#{noticeEventType},
#{summary},#{shopName},#{shopNumber},#{userPhone},#{userNumber},#{timeEnd},#{amount},#{payAmount},#{transactionId},#{createTime},#{updateTime},
#{merchantId},#{cUserId},0,0
#{merchantId},#{merchantName},#{cUserId},#{cUserNickName},#{cUserPhone},0,0
);
</insert>

@@ -207,12 +219,12 @@
INSERT INTO wx_third_party_orders (
`id`, `tenant_id`, `parent_tenant_id`,`source_app_id`, `source_type`, `notice_id`, `notice_create_time`, `notice_event_type`,
`summary`,`shop_name`, `shop_number`, `user_phone`, `user_number`, `time_end`, `amount`,`pay_amount`, `transaction_id`, `create_time`, `update_time`,
`merchant_id`, `c_user_id`, `earn_points`, `is_refund`, `refund_id`, `refund_amount`
`merchant_id`,`merchant_name`, `c_user_id`, `c_user_nick_name`, `c_user_phone`, `earn_points`, `is_refund`, `refund_id`, `refund_amount`
)
VALUES(
#{id},#{tenantId},#{parentTenantId},#{sourceAppId},#{sourceType},#{noticeId},#{noticeCreateTime},#{noticeEventType},
#{summary},#{shopName},#{shopNumber},#{userPhone},#{userNumber},#{timeEnd},#{amount},#{payAmount},#{transactionId},#{createTime},#{updateTime},
#{merchantId},#{cUserId},0,1,#{refundId},#{refundAmount}
#{merchantId},#{merchantName},#{cUserId},#{cUserNickName},#{cUserPhone},0,1,#{refundId},#{refundAmount}
);
</insert>



+ 24
- 0
mallinkTTAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java Просмотреть файл

@@ -12,6 +12,7 @@ import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.msg.WxMsg;
import com.iformall.enums.EnumSendWay;
import com.iformall.enums.EnumTemplateType;
import com.iformall.service.WxMsgService;
import com.iformall.service.WxTemplateMsgService;
import io.swagger.annotations.ApiImplicitParam;
@@ -71,6 +72,29 @@ public class WxMsgController extends BaseController {
logger.debug("[" + getIpAddr() + "] WxMsgController::list");
if (null == wxTemplateMsg) wxTemplateMsg = new WxTemplateMsg();
wxTemplateMsg.updateTenantInfo(getTenantInfo());
List<Integer> types = new ArrayList<>();
types.add(EnumTemplateType.ACTIVITY_REMIND.getCode());
types.add(EnumTemplateType.LIVE_REMIND.getCode());
wxTemplateMsg.setTypes(types);
final PageInfo<WxTemplateMsg> page = wxTemplateMsgService.listAsPageForMiniApp(wxTemplateMsg, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("模板分页列表接口")
@GetMapping("templateListV1")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
@SystemControllerLog(description = "moban-列表")
public ResultData templateListV1(@ModelAttribute WxTemplateMsg wxTemplateMsg, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxMsgController::list");
if (null == wxTemplateMsg) wxTemplateMsg = new WxTemplateMsg();
wxTemplateMsg.updateTenantInfo(getTenantInfo());
List<Integer> types = new ArrayList<>();
types.add(EnumTemplateType.ACTIVITY_REMIND.getCode());
types.add(EnumTemplateType.LIVE_REMIND.getCode());
types.add(EnumTemplateType.CREDIT_UPD_REMIND.getCode());
wxTemplateMsg.setTypes(types);
final PageInfo<WxTemplateMsg> page = wxTemplateMsgService.listAsPageForMiniApp(wxTemplateMsg, pageNum, pageSize);
return new ResultData(page);
}


+ 8
- 0
mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtCouponController.java Просмотреть файл

@@ -7,6 +7,7 @@ import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxBusiness;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.tt.TtCoupon;
import com.iformall.domain.po.tt.TtVideoLibrary;
@@ -74,6 +75,13 @@ public class TtCouponController extends BaseController {
// }else{
// record.setType(EnumTtCouponType.COUPON_COLUMN.getCode());
// }
if(StringUtils.isNotBlank(record.getSortColumn())){
String coryColumn = "c."+record.getSortColumns();
record.setSortColumns(coryColumn);
record.setSortColumn(null);
}else{
record.setSortColumns(BaseEntity.SortField.CUpdateDate_DESC);
}
return new ResultData(ttCouponService.listAsPage(record, pageNum, pageSize));
}



+ 1
- 0
mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtOrderController.java Просмотреть файл

@@ -51,6 +51,7 @@ public class TtOrderController extends BaseController {
if (order == null){
order = new TtOrder();
}
order.updateTenantInfo(getTenantInfo());
return new ResultData(ttOrderService.listAsPage(order, pageNum, pageSize));
}



+ 96
- 0
mallinkTTCApi/src/main/java/com/iformall/callback/TtOrderCallbackController.java Просмотреть файл

@@ -0,0 +1,96 @@
package com.iformall.callback;

import com.alibaba.fastjson.JSONObject;
import com.iformall.controller.BaseController;
import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxPayAccount;
import com.iformall.douyin.pay.DouYinPayHelper;
import com.iformall.interceptor.BodyReaderHttpServletRequestWrapper;
import com.iformall.service.WxAppinfoService;
import com.iformall.service.WxPayAccountService;
import com.iformall.service.tt.TtOrderService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("/callback")
public class TtOrderCallbackController extends BaseController {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private TtOrderService ttOrderService;

@Autowired
private WxAppinfoService appinfoService;

@Autowired
private WxPayAccountService payAccountService;

/**
* timestamp number Unix 时间戳,10 位,整型数
* nonce string 随机数
* msg string 订单信息的 json 字符串
* type string 回调类型标记,支付成功回调为"payment"
* msg_signature String 签名
*
* appid string 小程序 id
* cp_orderno string 开发者传入订单号
* way string way 字段中标识了支付渠道:2-支付宝,1-微信,3-银行卡
* cp_extra string 预下单时开发者传入字段
*
* @return 支付通知
*/
@PostMapping(value = "/orderPay")
@ResponseBody
public Map<String,Object> createOrder( HttpServletRequest request){
Map<String,Object> resultMap = new HashMap<>();

String body = ((BodyReaderHttpServletRequestWrapper) request).getBody();

try {

Map<String, Object> parameterMap = JSONObject.parseObject(body, Map.class);

String timestamp = (String) parameterMap.get("timestamp");
String nonce = (String) parameterMap.get("nonce");
// {"appid":"tt9da4eb19029c2bb301","cp_orderno":"557490321114062848","cp_extra":"","way":"2","channel_no":"2021052622001418391405536769","channel_gateway_no":"12105260162116189897","payment_order_no":"2021052622001418391405536769","out_channel_order_no":"","total_amount":100}
String msg = (String) parameterMap.get("msg");
String type = (String) parameterMap.get("type");
String msgSignature = (String) parameterMap.get("msg_signature");

if("payment".equals(type)){
Map<String, Object> pMap = JSONObject.parseObject(msg, Map.class);
String appid = (String) pMap.get("appid");
String cp_orderno = (String) pMap.get("cp_orderno");//开发者传入订单号
String way = (String) pMap.get("way");//2-支付宝,1-微信
WxAppinfo appinfo = appinfoService.getByAppId(appid);
WxPayAccount payAccount = payAccountService.getById(appinfo.getPayId());
Map<String,Object> paramMap = new HashMap<>();
paramMap.put("token",payAccount.getNotifyToken());
paramMap.put("timestamp",timestamp);
paramMap.put("nonce",nonce);
paramMap.put("msg",msg);
String sign = DouYinPayHelper.getTTBackSign(paramMap, "SHA1");
if(msgSignature.equalsIgnoreCase(sign)){
ttOrderService.updateOrderStatus(Long.valueOf(cp_orderno),appinfo,payAccount);
resultMap.put("err_no",0);
resultMap.put("err_tips","success");
}
}

return resultMap;
} catch (Exception e){
e.printStackTrace();
resultMap.put("err_tips","error");
return resultMap;
}
}

}

+ 48
- 61
mallinkTTCApi/src/main/java/com/iformall/controller/TtCouponController.java Просмотреть файл

@@ -3,17 +3,21 @@ package com.iformall.controller;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.tt.TtCoupon;
import com.iformall.enums.EnumTtCouponStatus;
import com.iformall.enums.EnumYesOrNo;
import com.iformall.exception.MallinkException;
import com.iformall.service.WxMerchantService;
import com.iformall.service.tt.TtCouponService;
import com.iformall.service.tt.TtOrderService;
import com.iformall.video.VideoFactory;
import com.iformall.video.entity.VideUploadResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +36,9 @@ public class TtCouponController extends BaseController {
@Autowired
private WxMerchantService wxMerchantService;

@Autowired
private TtOrderService ttOrderService;

@Autowired
private VideoFactory videoFactory;

@@ -47,6 +54,13 @@ public class TtCouponController extends BaseController {
logger.debug("[" + getIpAddr() + "] TtCouponController::list");
if (record == null) record = new TtCoupon();
record.setStatus(EnumTtCouponStatus.TTCOUPON_STATUS_SHELFING.getCode());
if(StringUtils.isNotBlank(record.getSortColumn())){
String coryColumn = "c."+record.getSortColumns();
record.setSortColumns(coryColumn);
record.setSortColumn(null);
}else{
record.setSortColumns(BaseEntity.SortField.CUpdateDate_DESC);
}
return new ResultData(ttCouponService.listAsPage(record, pageNum, pageSize));
}

@@ -58,8 +72,25 @@ public class TtCouponController extends BaseController {
if (id == null) {
return new ResultData(ResultData.ERROR, "缺少id");
}
TtCoupon detail = ttCouponService.detail(id);
if(detail == null){
return new ResultData();
}
if(detail.getIsPayment().equals(EnumYesOrNo.YES.getCode())){
try {
if(ttOrderService.isByMember(getMemberId(),id)){
detail.setView(true);
}else{
detail.setView(false);
}
} catch (MallinkException e) {
detail.setView(false);
}
}else{
detail.setView(true);
}
ttCouponService.addSeeCount(id);
return new ResultData(ttCouponService.detail(id));
return new ResultData(detail);
}

@GetMapping(value = "/videoDetial")
@@ -122,74 +153,30 @@ public class TtCouponController extends BaseController {
return new ResultData();
}

@ApiOperation("取消收藏")
@GetMapping("/cancelCollect")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData cancelCollect(@RequestParam Long id) {
logger.debug("[" + getIpAddr() + "] TtCouponController::collectCoupon");
if (id == null) {
return new ResultData(ResultData.ERROR, "缺少id");
}
Long memberId;
try {
memberId = getMemberId();
} catch (MallinkException e) {
return new ResultData(e.getErrorCode(), e.getMessage());
}
ttCouponService.cancelCollect(memberId,id);
return new ResultData();
}

@ApiOperation("是否关注")
@GetMapping("/isfollow")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData isfollow(@RequestParam Long id) {
logger.debug("[" + getIpAddr() + "] TtCouponController::isfollow");
if (id == null) {
return new ResultData(ResultData.ERROR, "缺少id");
}
Long memberId;
try {
memberId = getMemberId();
} catch (MallinkException e) {
return new ResultData(e.getErrorCode(), e.getMessage());
}
int count = ttCouponService.getfollow(memberId,id);
if(count > 0){
return new ResultData(true);
}else{
return new ResultData(false);
}

}

@ApiOperation("关注")
@GetMapping("/followMerchant")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData followMerchant(@RequestParam Long id) {
logger.debug("[" + getIpAddr() + "] TtCouponController::followMerchant");
if (id == null) {
return new ResultData(ResultData.ERROR, "缺少id");
}
WxMerchant byId = wxMerchantService.getById(id);
if(byId == null){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"找不到数据");
}
@ApiOperation("分页收藏列表接口")
@GetMapping("collectList")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData collectList(@ModelAttribute TtCoupon record, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] TtCouponController::collectList");
if (record == null) record = new TtCoupon();
Long memberId;
try {
memberId = getMemberId();
} catch (MallinkException e) {
return new ResultData(e.getErrorCode(), e.getMessage());
}
ttCouponService.followMerchant(getTenantInfo(),memberId,byId.getId());
return new ResultData();
record.setCUserId(memberId);
record.setStatus(EnumTtCouponStatus.TTCOUPON_STATUS_SHELFING.getCode());
return new ResultData(ttCouponService.collectListAsPage(record, pageNum, pageSize));
}

@ApiOperation("取消关注")
@GetMapping("/cancelFollow")
@ApiOperation("取消收藏")
@GetMapping("/cancelCollect")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData cancelFollow(@RequestParam Long id) {
logger.debug("[" + getIpAddr() + "] TtCouponController::cancelFollow");
public ResultData cancelCollect(@RequestParam Long id) {
logger.debug("[" + getIpAddr() + "] TtCouponController::collectCoupon");
if (id == null) {
return new ResultData(ResultData.ERROR, "缺少id");
}
@@ -199,7 +186,7 @@ public class TtCouponController extends BaseController {
} catch (MallinkException e) {
return new ResultData(e.getErrorCode(), e.getMessage());
}
ttCouponService.cancelFollow(memberId,id);
ttCouponService.cancelCollect(memberId,id);
return new ResultData();
}



+ 0
- 69
mallinkTTCApi/src/main/java/com/iformall/controller/TtOrderCallbackController.java Просмотреть файл

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

import com.iformall.utils.sign.SignUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("/callback")
public class TtOrderCallbackController extends BaseController {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

private final String token = "ttZhiBoTang";

/**
* timestamp number Unix 时间戳,10 位,整型数
* nonce string 随机数
* msg string 订单信息的 json 字符串
* type string 回调类型标记,支付成功回调为"payment"
* msg_signature String 签名
*
* appid string 小程序 id
* cp_orderno string 开发者传入订单号
* way string way 字段中标识了支付渠道:2-支付宝,1-微信
* cp_extra string 预下单时开发者传入字段
*
* @return 支付通知
*/
@PostMapping(value = "/orderPay")
@ResponseBody
public Map<String,Object> createOrder( HttpServletRequest request){

Map<String,Object> resultMap = new HashMap<>();

String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");
String msg = request.getParameter("msg");
String type = request.getParameter("type");
String msgSignature = request.getParameter("msg_signature");
logger.info("timestamp:"+timestamp+",nonce:"+nonce+",msg:"+msg+",type:"+type+",msgSignature:"+msgSignature);

Map<String,Object> paramMap = new HashMap<>();
paramMap.put("token",token);
paramMap.put("timestamp",timestamp);
paramMap.put("nonce",nonce);
paramMap.put("msg",msg);
String sha = SignUtils.getSign(null, paramMap, "SHA");
logger.info("sha----"+sha);
if(msgSignature.equals(sha)){
logger.info("true");
}
try {

// resultMap.put("err_no",0);
// resultMap.put("err_tips","success");
return resultMap;
} catch (Exception e){
e.printStackTrace();
return resultMap;
}
}


}

+ 16
- 8
mallinkTTCApi/src/main/java/com/iformall/controller/TtOrderController.java Просмотреть файл

@@ -35,6 +35,9 @@ public class TtOrderController extends BaseController {
@Autowired
private WxAppinfoService wxAppinfoService;

@Autowired
private WxPayAccountService payAccountService;


@ApiOperation("分页订单列表接口")
@GetMapping("list")
@@ -54,7 +57,7 @@ public class TtOrderController extends BaseController {
return new ResultData(e.getErrorCode(), e.getMessage());
}
order.setCUserId(memberId);
return new ResultData(ttOrderService.listAsPage(order, pageNum, pageSize));
return new ResultData(ttOrderService.listCAsPage(order, pageNum, pageSize));
}

@ApiOperation(value = "下订单", notes = "{\"couponChannelId\":\"String\",\"couponId\":\"String\",\"press\":\"String\",\"orderGroupId\":\"String\",\"formId\":\"String\"}")
@@ -77,7 +80,7 @@ public class TtOrderController extends BaseController {
} catch (MallinkException e) {
return new ResultData(e.getErrorCode(), e.getMessage());
}
return ttOrderService.saveOrder(couponId,memberId,EnumPayWay.PAY_WAY_TT,getTenantInfo());
return ttOrderService.saveOrder(couponId,memberId,EnumPayWay.PAY_WAY_TT);
}


@@ -140,13 +143,14 @@ public class TtOrderController extends BaseController {
/**
* tt支付
* @param paramMap
* @param request
* @param
* @return
* @throws Exception
*/
//@ApiOperation(value = "发起小程序支付订单", notes = "{\"orderId\":\"string\"}")
@RequestMapping(value = "/createPay", method = RequestMethod.POST)
public ResultData _create(@RequestBody Map<String, String> paramMap, HttpServletRequest request) throws Exception {
@ApiOperation(value = "发起小程序支付订单", notes = "{\"orderId\":\"string\"}")
// @RequestMapping(value = "/createPay", method = RequestMethod.POST)
@PostMapping("createPay")
public ResultData _create(@RequestBody Map<String, String> paramMap){
logger.info("/api/pay/create" + paramMap.toString());
String orderIdStr = paramMap.get("orderId");
if (StringUtils.isBlank(orderIdStr)) {
@@ -213,12 +217,16 @@ public class TtOrderController extends BaseController {
if (cAppInfo == null) {
return new ResultData(ErrorCode.APP_ID_NOT_ENABLE);
}
WxPayAccount payAccout = payAccountService.getById(cAppInfo.getId());
if (payAccout == null) {
return new ResultData(ErrorCode.APP_ID_NOT_ENABLE);
}

if(code.intValue() == 0){
return ttOrderService.updateOrderStatus(getTenantInfo(),orderId,memberId,cAppInfo);
return ttOrderService.updateOrderStatus(orderId,cAppInfo,payAccout);
}else{
return new ResultData();
}

}

}

+ 3
- 0
mallinkTTCApi/src/main/java/com/iformall/controller/TtUserGrantController.java Просмотреть файл

@@ -3,6 +3,7 @@ package com.iformall.controller;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import cn.binarywang.wx.miniapp.util.crypt.WxMaCryptUtils;
import com.alibaba.fastjson.JSONObject;
import com.iformall.annotation.AuthIgnore;
import com.iformall.annotation.TenantIgnore;
@@ -256,6 +257,8 @@ public class TtUserGrantController extends BaseController {
String session_key = user.getSessionKey();
try {
// 解密用户信息
// String decrypt = WxMaCryptUtils.decrypt(session_key, encryptedData, iv);
// logger.info("解密信息"+decrypt);
WxMaUserInfo userInfo = ttMaService.getUserService().getUserInfo(session_key, encryptedData, iv);
if (userInfo != null) {
logger.debug(userInfo.toString());


+ 104
- 16
mallinkTTCApi/src/main/java/com/iformall/controller/WxMerchantController.java Просмотреть файл

@@ -5,9 +5,11 @@ import com.iformall.common.ResultData;
import com.iformall.domain.dto.WxMerchantDto;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.tt.TtCoupon;
import com.iformall.domain.vo.WxMerchantVo;
import com.iformall.enums.EnumMerchantPublic;
import com.iformall.enums.EnumMerchantStatus;
import com.iformall.enums.EnumTtCouponStatus;
import com.iformall.exception.MallinkException;
import com.iformall.service.WxMerchantService;
import com.iformall.utils.HashUtil;
@@ -41,33 +43,119 @@ public class WxMerchantController extends BaseController {
public ResultData list(@ModelAttribute WxMerchantDto wxMerchantDto, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::list");
if (null == wxMerchantDto) wxMerchantDto = new WxMerchantDto();
wxMerchantDto.updateTenantInfo(getTenantInfo());
// wxMerchantDto.updateTenantInfo(getTenantInfo());
wxMerchantDto.setMerchantStatus(EnumMerchantStatus.VALID.getCode());
wxMerchantDto.setIsPublic(EnumMerchantPublic.PUBLIC.getCode());
return new ResultData(wxMerchantService.listAsPageCVo(wxMerchantDto, pageNum, pageSize));
}

@ApiOperation("分页列表接口")
@GetMapping("listV1")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData listV1(@ModelAttribute WxMerchant merchant, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::list");
if (null == merchant) merchant = new WxMerchant();
// merchant.updateTenantInfo(getTenantInfo());
merchant.setStatus(EnumMerchantStatus.VALID.getCode());
merchant.setIsPublic(EnumMerchantPublic.PUBLIC.getCode());
return new ResultData(wxMerchantService.listAsPage(merchant, pageNum, pageSize));
}

@ApiOperation("根据code查询接口")
@GetMapping("/findByCode")
@GetMapping("/findById")
@ApiImplicitParam(name = "merchantCode", value = "merchantCode", dataType = "String", paramType = "query", required = true)
public ResultData findByCode(String merchantCode) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::findByCode");
if(merchantCode == null) {
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::findById");
if(id == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
String codeMD5 = HashUtil.DecodeByMD5(merchantCode);
if(StringUtils.isBlank(codeMD5)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
WxMerchant wxMerchant = wxMerchantService.selectById(id);
return new ResultData(wxMerchant);
}

@ApiOperation("是否关注")
@GetMapping("/isfollow")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData isfollow(@RequestParam Long id) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::isfollow");
if (id == null) {
return new ResultData(ResultData.ERROR, "缺少id");
}
HashMap<String, String> params = new HashMap<String, String>();
TenantEntity tenantEntity = getTenantInfo();
params.put("tenantId", tenantEntity.getTenantId());
if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) {
params.put("parentTenantId", tenantEntity.getParentTenantId());
Long memberId;
try {
memberId = getMemberId();
} catch (MallinkException e) {
return new ResultData(e.getErrorCode(), e.getMessage());
}
params.put("merchantCode", codeMD5);
WxMerchantVo wxMerchant = wxMerchantService.getMerchantInfo(params);
return new ResultData(wxMerchant);
int count = wxMerchantService.getfollow(memberId,id);
if(count > 0){
return new ResultData(true);
}else{
return new ResultData(false);
}

}

@ApiOperation("关注")
@GetMapping("/followMerchant")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData followMerchant(@RequestParam Long id) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::followMerchant");
if (id == null) {
return new ResultData(ResultData.ERROR, "缺少id");
}
WxMerchant byId = wxMerchantService.getById(id);
if(byId == null){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"找不到数据");
}
Long memberId;
try {
memberId = getMemberId();
} catch (MallinkException e) {
return new ResultData(e.getErrorCode(), e.getMessage());
}
wxMerchantService.followMerchant(getTenantInfo(),memberId,byId.getId());
return new ResultData();
}

@ApiOperation("分页关注列表接口")
@GetMapping("collectList")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData followList(@ModelAttribute WxMerchant record, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::followList");
if (record == null) record = new WxMerchant();
Long memberId;
try {
memberId = getMemberId();
} catch (MallinkException e) {
return new ResultData(e.getErrorCode(), e.getMessage());
}
record.setCUserId(memberId);
record.setStatus(EnumMerchantStatus.VALID.getCode());
record.setIsPublic(EnumMerchantPublic.PUBLIC.getCode());
return new ResultData(wxMerchantService.followListAsPage(record, pageNum, pageSize));
}

@ApiOperation("取消关注")
@GetMapping("/cancelFollow")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData cancelFollow(@RequestParam Long id) {
logger.debug("[" + getIpAddr() + "] TtCouponController::cancelFollow");
if (id == null) {
return new ResultData(ResultData.ERROR, "缺少id");
}
Long memberId;
try {
memberId = getMemberId();
} catch (MallinkException e) {
return new ResultData(e.getErrorCode(), e.getMessage());
}
wxMerchantService.cancelFollow(memberId,id);
return new ResultData();
}




+ 85
- 0
mallinkTTCApi/src/main/java/com/iformall/schedule/TtOrderExpiringSchedule.java Просмотреть файл

@@ -0,0 +1,85 @@
package com.iformall.schedule;

import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxPayAccount;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.*;
import com.iformall.service.WxAppinfoService;
import com.iformall.service.WxPayAccountService;
import com.iformall.service.tt.TtOrderService;
import com.iformall.utils.Constant;
import com.iformall.utils.DateUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.List;

@Component
public class TtOrderExpiringSchedule {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxAppinfoService wxAppinfoService;

@Autowired
private WxPayAccountService payAccountService;

@Autowired
private TtOrderService ttOrderService;


private TenantEntity getTenantInfo() {
TenantEntity tenantEntity = new TenantEntity() ;
tenantEntity.setTenantId("1");
return tenantEntity;
}

@Scheduled(cron = "0 */10 * * * *?") // 每10分钟检查一次
public void orderExpireSchedule() {
Date now = new Date();
Date expireDate = new Date(now.getTime() - Constant.PRESS_TIME_OUT );
List<Long> idList = ttOrderService.findExpireIdList(expireDate);
if(idList != null && idList.size() > 0){

WxAppinfo cAppInfo = wxAppinfoService.getCAppInfo(getTenantInfo(), EnumPayWay.PAY_WAY_TT);
if(cAppInfo == null){
return;
}
WxPayAccount payAccout = payAccountService.getById(cAppInfo.getId());
if(payAccout == null){
return;
}

for (Long orderId:idList) {
try {
ttOrderService.updateOrderStatus(orderId,cAppInfo,payAccout);
} catch (Exception e) {
e.printStackTrace();
}
}
}

}


@Scheduled(cron = "0 0 4 * * ?") //每天四点入账
public void orderRecordedSchedule() {
Date dateZero = DateUtils.getDateZero(new Date());
List<Long> idList = ttOrderService.findRecordedIdList(dateZero);
if(idList != null && idList.size() > 0){
for (Long orderId:idList) {
try {
ttOrderService.recordedAmount(orderId);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}

}

Загрузка…
Отмена
Сохранить