diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/AliBusinessCircleOrderController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/AliBusinessCircleOrderController.java new file mode 100644 index 000000000..b726bc429 --- /dev/null +++ b/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 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); + } + + +} diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxBusinessCircleOrderController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxBusinessCircleOrderController.java index 80330d8c2..736a04023 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxBusinessCircleOrderController.java +++ b/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 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); + } + } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java index 450196ac5..d9bc3a260 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java +++ b/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); //全列表 diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxThirdPartyOrdersController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxThirdPartyOrdersController.java new file mode 100644 index 000000000..942355b80 --- /dev/null +++ b/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 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); + } + + +} diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/MemCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/MemCouponController.java index 195eeea74..1206b06c0 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/MemCouponController.java +++ b/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); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java b/mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java index af1e096a0..c9ef03487 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java +++ b/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 types = new ArrayList<>(); + types.add(EnumTemplateType.ACTIVITY_REMIND.getCode()); + types.add(EnumTemplateType.LIVE_REMIND.getCode()); + wxTemplateMsg.setTypes(types); + final PageInfo 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 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 page = wxTemplateMsgService.listAsPageForMiniApp(wxTemplateMsg, pageNum, pageSize); return new ResultData(page); } diff --git a/mallinkAdmin/src/main/resources/db/migration/V202105270001__tt_add_.sql b/mallinkAdmin/src/main/resources/db/migration/V202105270001__tt_add_.sql new file mode 100644 index 000000000..d8d40f5a9 --- /dev/null +++ b/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 ; diff --git a/mallinkAdmin/src/main/resources/db/migration/V202105290001__business_circle_.sql b/mallinkAdmin/src/main/resources/db/migration/V202105290001__business_circle_.sql new file mode 100644 index 000000000..4fc7c4b10 --- /dev/null +++ b/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`; diff --git a/mallinkAdmin/src/main/resources/db/migration/V202105290002__business_circle_.sql b/mallinkAdmin/src/main/resources/db/migration/V202105290002__business_circle_.sql new file mode 100644 index 000000000..c8e1d7f0f --- /dev/null +++ b/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`; diff --git a/mallinkAdmin/src/main/resources/db/migration/V202105290003__business_circle_.sql b/mallinkAdmin/src/main/resources/db/migration/V202105290003__business_circle_.sql new file mode 100644 index 000000000..9ca7b6239 --- /dev/null +++ b/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`; diff --git a/mallinkAdmin/src/main/resources/db/migration/V202105290004__businessPermission.sql b/mallinkAdmin/src/main/resources/db/migration/V202105290004__businessPermission.sql new file mode 100644 index 000000000..8a3ca5c10 --- /dev/null +++ b/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); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java index 9d4434226..b28e7fbbf 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java +++ b/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); //全列表 diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxMsgController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxMsgController.java index efdd478ad..c7164cc59 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxMsgController.java +++ b/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 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 page = wxTemplateMsgService.listAsPageForMiniApp(wxTemplateMsg, pageNum, pageSize); return new ResultData(page); } diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index a23338520..b4bd65396 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/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, "入账失败"), /** * 卡券 diff --git a/mallinkService/src/main/java/com/iformall/domain/po/BusinessCircleBase.java b/mallinkService/src/main/java/com/iformall/domain/po/BusinessCircleBase.java index 89f39aff2..4471abafc 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/BusinessCircleBase.java +++ b/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; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java index 079f10861..e9f5d1b7e 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java +++ b/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; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxPayAccount.java b/mallinkService/src/main/java/com/iformall/domain/po/WxPayAccount.java index 35fb8c212..785008a11 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxPayAccount.java +++ b/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") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java b/mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java index 025a579f8..97d53e234 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java +++ b/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 types; + public String getTypeName(){ if(this.getType() != null) { diff --git a/mallinkService/src/main/java/com/iformall/domain/po/base/BaseEntity.java b/mallinkService/src/main/java/com/iformall/domain/po/base/BaseEntity.java index 98e2a7e6e..0a0babbce 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/base/BaseEntity.java +++ b/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"), diff --git a/mallinkService/src/main/java/com/iformall/domain/po/tt/TtCoupon.java b/mallinkService/src/main/java/com/iformall/domain/po/tt/TtCoupon.java index 200d35d56..40998e5ec 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/tt/TtCoupon.java +++ b/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 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 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 flowParams; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/tt/TtOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/tt/TtOrder.java index 3ab10bb8a..c6747f213 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/tt/TtOrder.java +++ b/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 statusS; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/tt/TtUserCollectFollow.java b/mallinkService/src/main/java/com/iformall/domain/po/tt/TtUserCollectFollow.java index c6f7ffd1e..fbbf5469b 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/tt/TtUserCollectFollow.java +++ b/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; + } diff --git a/mallinkService/src/main/java/com/iformall/douyin/pay/DouYinPayHelper.java b/mallinkService/src/main/java/com/iformall/douyin/pay/DouYinPayHelper.java index ffffc081a..fe2532071 100644 --- a/mallinkService/src/main/java/com/iformall/douyin/pay/DouYinPayHelper.java +++ b/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 params, boolean urlEncoder) { - // 先将参数以其参数名的字典序升序进行排序 - TreeMap sortedParams = new TreeMap(params); - // 遍历排序后的字典,字段内容(不包含 key)与支付 SALT 一起进行字典序排序后,使用&符号链接 - StringBuilder sb = new StringBuilder(); - boolean first = true; - for (Entry param : sortedParams.entrySet()) { - String value = param.getValue(); - if (StringUtils.isBlank(value)) { + + + public static String getSign(Map paramsMap) { + List paramsArr = new ArrayList<>(); + for (Map.Entry 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 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 params, String signMethod) { + List paramsArr = new ArrayList<>(); + for (Map.Entry 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 params) { + public static String doPost(String url, Map 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) { diff --git a/mallinkService/src/main/java/com/iformall/douyin/pay/preOrder/DouYinCreatePreOrder.java b/mallinkService/src/main/java/com/iformall/douyin/pay/preOrder/DouYinCreatePreOrder.java index 8b7cf153f..e4a91ca83 100644 --- a/mallinkService/src/main/java/com/iformall/douyin/pay/preOrder/DouYinCreatePreOrder.java +++ b/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; } } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumTemplateType.java b/mallinkService/src/main/java/com/iformall/enums/EnumTemplateType.java index 3e5236d7a..6b149f0dd 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumTemplateType.java +++ b/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, "公众号卡券核销通知",""), // 公众号 diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumTtOrderStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumTtOrderStatus.java index dcc78d0ad..6509da831 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumTtOrderStatus.java +++ b/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) { diff --git a/mallinkService/src/main/java/com/iformall/mapper/TtCUserMapper.java b/mallinkService/src/main/java/com/iformall/mapper/TtCUserMapper.java index f7177f0f1..9fc9df53b 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/TtCUserMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/TtCUserMapper.java @@ -19,7 +19,7 @@ public interface TtCUserMapper extends CommonMapper { 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); diff --git a/mallinkService/src/main/java/com/iformall/mapper/TtCouponMapper.java b/mallinkService/src/main/java/com/iformall/mapper/TtCouponMapper.java index 9e45d804b..3965339b3 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/TtCouponMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/TtCouponMapper.java @@ -63,4 +63,5 @@ public interface TtCouponMapper extends CommonMapper { */ int addPopularity(@Param("id")Long id,@Param("popularity")Integer popularity); + List findCollectList(TtCoupon record); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/TtOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/TtOrderMapper.java index b16fde7c9..b620bba0d 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/TtOrderMapper.java +++ b/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 { List findList(TtOrder record); + List findCList(TtOrder record); + Integer findListCount(TtOrder orderQ); + +// int updateExpire(@Param("expireDate")Date expireDate,@Param("orderStatus") Integer orderStatus); + + List findBeforeIdList(@Param("beforeDate")Date beforeDate,@Param("orderStatus") Integer orderStatus,@Param("isRecorded") Integer isRecorded); + + int updateIsRecorded(@Param("id")Long id, @Param("isRecorded")Integer isRecorded); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java index 9d740002f..9505db9b8 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java @@ -53,4 +53,8 @@ public interface WxMerchantMapper extends CommonMapper { void reSetCashCount(WxMerchant record); WxMerchant getMerchantByEncode(@Param("encode")String encode); + + List findFollowList(WxMerchant record); + + int recordedAmount(WxMerchant record); } diff --git a/mallinkService/src/main/java/com/iformall/service/AliBusinessCircleOrderService.java b/mallinkService/src/main/java/com/iformall/service/AliBusinessCircleOrderService.java index 5e6838a5f..6138db7f4 100644 --- a/mallinkService/src/main/java/com/iformall/service/AliBusinessCircleOrderService.java +++ b/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 diff --git a/mallinkService/src/main/java/com/iformall/service/WxBusinessCircleOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxBusinessCircleOrderService.java index 5deb4972d..c0d563231 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBusinessCircleOrderService.java +++ b/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); - } diff --git a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java index ff75194a9..742f2546f 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java +++ b/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 getMerchantShopIds(Long merchantId); + + void followMerchant(TenantEntity tenantEntity, Long memberId, Long id); + void cancelFollow(Long memberId, Long id); + int getfollow(Long memberId, Long id); + PageInfo followListAsPage(WxMerchant record, Integer pageNum, Integer pageSize); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxThirdPartyOrdersService.java b/mallinkService/src/main/java/com/iformall/service/WxThirdPartyOrdersService.java index ed6771231..e16207b9e 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxThirdPartyOrdersService.java +++ b/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); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/AliBusinessCircleOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/AliBusinessCircleOrderServiceImpl.java index a6c058d9d..0fa2e215c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/AliBusinessCircleOrderServiceImpl.java +++ b/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; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/TtCUserServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/TtCUserServiceImpl.java index b1d3d6c59..5bd5897f5 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/TtCUserServiceImpl.java +++ b/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 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java index 8a2164feb..ea2b8f299 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java +++ b/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; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java index 7d1e81245..c12e73157 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java +++ b/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 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); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index ad79dfc48..0bee01edf 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/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 listAsPage(WxMerchant record, Integer pageIndex, Integer pageSize) { - PageHelper.startPage(pageIndex, pageSize); - List merchants = wxMerchantMapper.findList(record); - PageInfo 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 followListAsPage(WxMerchant record, Integer pageNum, Integer pageSize) { + return PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxMerchantMapper.findFollowList(record)); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java index bd25911e8..906451289 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java +++ b/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; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxTemplateMsgServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxTemplateMsgServiceImpl.java index 3ca737ec0..f23c3471c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxTemplateMsgServiceImpl.java +++ b/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); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxThirdPartyOrdersServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxThirdPartyOrdersServiceImpl.java index 7082e88c1..a5e97812d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxThirdPartyOrdersServiceImpl.java +++ b/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); diff --git a/mallinkService/src/main/java/com/iformall/service/tt/TtCouponService.java b/mallinkService/src/main/java/com/iformall/service/tt/TtCouponService.java index e15013bb3..b5259745b 100644 --- a/mallinkService/src/main/java/com/iformall/service/tt/TtCouponService.java +++ b/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 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); + } diff --git a/mallinkService/src/main/java/com/iformall/service/tt/TtOrderService.java b/mallinkService/src/main/java/com/iformall/service/tt/TtOrderService.java index 7c65a73b5..3e465d25b 100644 --- a/mallinkService/src/main/java/com/iformall/service/tt/TtOrderService.java +++ b/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 listAsPage(TtOrder record, Integer pageIndex, Integer pageSize); + PageInfo 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 findExpireIdList(Date expireDate); + + List findRecordedIdList(Date recordedDate); + + /** + * 入账 + * @return + */ + ResultData recordedAmount(Long orderId); } diff --git a/mallinkService/src/main/java/com/iformall/service/tt/impl/TtCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/tt/impl/TtCouponServiceImpl.java index d4ddabc2a..7aed20c82 100644 --- a/mallinkService/src/main/java/com/iformall/service/tt/impl/TtCouponServiceImpl.java +++ b/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(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 collectListAsPage(TtCoupon record, Integer pageNum, Integer pageSize) { + return PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> ttCouponMapper.findCollectList(record)); } @Override diff --git a/mallinkService/src/main/java/com/iformall/service/tt/impl/TtOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/tt/impl/TtOrderServiceImpl.java index 8db727596..4a6cd966e 100644 --- a/mallinkService/src/main/java/com/iformall/service/tt/impl/TtOrderServiceImpl.java +++ b/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 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 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 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 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 findExpireIdList(Date expireDate) { + return ttOrderMapper.findBeforeIdList(expireDate,EnumTtOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode(),null); + } + + @Override + public List 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(); } } diff --git a/mallinkService/src/main/java/com/iformall/utils/Constant.java b/mallinkService/src/main/java/com/iformall/utils/Constant.java index 216646818..f62186f67 100644 --- a/mallinkService/src/main/java/com/iformall/utils/Constant.java +++ b/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;//游戏玩法不限能玩 diff --git a/mallinkService/src/main/java/com/iformall/utils/sign/SignUtils.java b/mallinkService/src/main/java/com/iformall/utils/sign/SignUtils.java index 85a9266d8..683c6fbfc 100644 --- a/mallinkService/src/main/java/com/iformall/utils/sign/SignUtils.java +++ b/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")); diff --git a/mallinkService/src/main/resources/mapper/AliBusinessCircleOrderMapper.xml b/mallinkService/src/main/resources/mapper/AliBusinessCircleOrderMapper.xml index 1505e6d43..0c1cb1307 100644 --- a/mallinkService/src/main/resources/mapper/AliBusinessCircleOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/AliBusinessCircleOrderMapper.xml @@ -25,7 +25,10 @@ + + + @@ -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` @@ -88,10 +92,18 @@ and `merchant_id` = #{merchantId} - + + and `merchant_name` like concat('%', #{merchantName},'%') + and `c_user_id` = #{cUserId} + + and `c_user_nick_name` like concat('%', #{cUserNickName},'%') + + + and `c_user_phone` like concat('%', #{cUserPhone},'%') + 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 ); @@ -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} ); diff --git a/mallinkService/src/main/resources/mapper/TtCUserMapper.xml b/mallinkService/src/main/resources/mapper/TtCUserMapper.xml index 2bc3c2e2b..eb3753e57 100644 --- a/mallinkService/src/main/resources/mapper/TtCUserMapper.xml +++ b/mallinkService/src/main/resources/mapper/TtCUserMapper.xml @@ -277,7 +277,7 @@ where `token` = #{token} and `tenant_id` = #{tenantId} - select from tt_c_user where id = #{id} and `tenant_id` = #{tenantId} diff --git a/mallinkService/src/main/resources/mapper/TtCouponMapper.xml b/mallinkService/src/main/resources/mapper/TtCouponMapper.xml index aab83a68d..d53af3b04 100644 --- a/mallinkService/src/main/resources/mapper/TtCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/TtCouponMapper.xml @@ -11,6 +11,8 @@ + + @@ -34,6 +36,7 @@ + @@ -48,10 +51,10 @@ 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 @@ -101,6 +104,10 @@ and c.`status` = #{status} + + and c.`mark` = #{mark} + + and c.`create_date` >= #{startdate} @@ -123,8 +130,7 @@ - order by c.`update_date` desc - + order by ${sortColumns} + + + + + + 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 + + + + where 1 = 1 + + + and o.`id` = #{id} + + + + and o.`tenant_id` = #{tenantId} + + + and o.`parent_tenant_id` = #{parentTenantId} + + + + and o.`c_user_id` = #{cUserId} + + + + and o.`product_id` = #{productId} + + + + and o.`product_title` like concat('%', #{productTitle},'%') + + + + and o.`type` = #{type} + + + + and o.`way` = #{way} + + + + and o.`payment_type` = #{paymentType} + + + + and o.`create_date` >= #{startdate} + + + and o.`create_date` <= #{enddate} + + + + and o.`order_status` = #{orderStatus} + + + + and o.merchant_id = #{merchantId} + + + + and m.`name` like concat('%', #{author},'%') + + + + and o.`order_status` in + + #{sItem} + + + + + and o.`id` in + + #{idItem} + + + order by o.`update_date` desc + + + + + + update tt_order set `is_recorded` = #{isRecorded},recorded_date = now() where id = #{id} + + diff --git a/mallinkService/src/main/resources/mapper/WxBusinessCircleOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxBusinessCircleOrderMapper.xml index 43df5356a..f185db146 100644 --- a/mallinkService/src/main/resources/mapper/WxBusinessCircleOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBusinessCircleOrderMapper.xml @@ -25,7 +25,10 @@ + + + @@ -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` @@ -105,10 +109,18 @@ and `merchant_id` = #{merchantId} - + + and `merchant_name` like concat('%', #{merchantName},'%') + and `c_user_id` = #{cUserId} + + and `c_user_nick_name` like concat('%', #{cUserNickName},'%') + + + and `c_user_phone` like concat('%', #{cUserPhone},'%') + 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 ); @@ -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} ); diff --git a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml index 591154c7e..a13869957 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml @@ -31,6 +31,7 @@ + @@ -38,109 +39,113 @@ + - `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 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 - where is_del = 0 + where m.is_del = 0 - and `id` = #{id} + and m.`id` = #{id} - and `tenant_id` = #{tenantId} + and m.`tenant_id` = #{tenantId} - and `parent_tenant_id` = #{parentTenantId} + and m.`parent_tenant_id` = #{parentTenantId} - and `img_url` like concat('%', #{imgUrl},'%') + and m.`img_url` like concat('%', #{imgUrl},'%') - and `encode` like concat('%', #{encode},'%') + and m.`encode` like concat('%', #{encode},'%') - and `name` like concat('%', #{name},'%') + and m.`name` like concat('%', #{name},'%') - and `link_phone` like concat('%', #{linkPhone},'%') + and m.`link_phone` like concat('%', #{linkPhone},'%') - and `create_date` = #{createDate} + and m.`create_date` = #{createDate} - and `update_date` = #{updateDate} + and m.`update_date` = #{updateDate} - and `car_vendor_type` = #{carVendorType} + and m.`car_vendor_type` = #{carVendorType} - and `business_id` = #{businessId} + and m.`business_id` = #{businessId} - and JSON_CONTAINS(business_types,JSON_OBJECT('id', #{businessTypes})) + and JSON_CONTAINS(m.business_types,JSON_OBJECT('id', #{businessTypes})) - and `sub_business_id` = #{subBusinessId} + and m.`sub_business_id` = #{subBusinessId} - and `car_params` like concat('%', #{carParams},'%') + and m.`car_params` like concat('%', #{carParams},'%') - and `status` = #{status} + and m.`status` = #{status} - and `link_person` = #{linkPerson} + and m.`link_person` = #{linkPerson} - and `type` = #{type} + and m.`type` = #{type} - and `is_public` = #{isPublic} + and m.`is_public` = #{isPublic} - and `email` = #{email} + and m.`email` = #{email} - and `is_admin` = #{isAdmin} + and m.`is_admin` = #{isAdmin} + + + and m.`mark` = #{mark} - and `is_del` = #{isDel} + and m.`is_del` = #{isDel} - and `brand` = #{brand} + and m.`brand` = #{brand} - and `credit_locked` = #{creditLocked} + and m.`credit_locked` = #{creditLocked} - and id not in( + and m.id not in( select merchant_id from wx_rent_contract where rent_shop_type=1 and `tenant_id` = #{tenantId} @@ -153,14 +158,14 @@ - and id in + and m.id in #{idItem} - 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 + + select - from wx_merchant where encode = #{encode} + from wx_merchant m where m.encode = #{encode} @@ -328,6 +356,9 @@ and m.`is_admin` = #{isAdmin} + + and m.`mark` = #{mark} + and m.`is_del` = #{isDel} @@ -657,4 +688,11 @@ update wx_merchant set cash_out_count = 0 where id = #{id} + + update wx_merchant set + entry_amount = ifnull(entry_amount,0)+#{entryAmount}, + cash_out_number = ifnull(cash_out_number,0)+#{cashOutNumber} + where id = #{id} + + diff --git a/mallinkService/src/main/resources/mapper/WxPayAccountMapper.xml b/mallinkService/src/main/resources/mapper/WxPayAccountMapper.xml index ca490d43d..dc8105d8c 100644 --- a/mallinkService/src/main/resources/mapper/WxPayAccountMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxPayAccountMapper.xml @@ -11,6 +11,8 @@ + + @@ -27,7 +29,7 @@ - `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` diff --git a/mallinkService/src/main/resources/mapper/WxTemplateMsgMapper.xml b/mallinkService/src/main/resources/mapper/WxTemplateMsgMapper.xml index 438f995dc..1bf6ec3bf 100644 --- a/mallinkService/src/main/resources/mapper/WxTemplateMsgMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxTemplateMsgMapper.xml @@ -50,6 +50,12 @@ and `on_off` = #{onOff} + + and `type` in + + #{item} + + and id in @@ -71,7 +77,6 @@ from wx_template_msg - and `type` > 3 and `type` < 100 diff --git a/mallinkService/src/main/resources/mapper/WxThirdPartyOrdersMapper.xml b/mallinkService/src/main/resources/mapper/WxThirdPartyOrdersMapper.xml index e28821a96..9e3780f4c 100644 --- a/mallinkService/src/main/resources/mapper/WxThirdPartyOrdersMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxThirdPartyOrdersMapper.xml @@ -29,7 +29,10 @@ + + + @@ -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` @@ -108,10 +112,18 @@ and `merchant_id` = #{merchantId} - + + and `merchant_name` like concat('%', #{merchantName},'%') + and `c_user_id` = #{cUserId} + + and `c_user_nick_name` like concat('%', #{cUserNickName},'%') + + + and `c_user_phone` like concat('%', #{cUserPhone},'%') + 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 ); @@ -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} ); diff --git a/mallinkTTAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java b/mallinkTTAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java index af1e096a0..c9ef03487 100644 --- a/mallinkTTAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java +++ b/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 types = new ArrayList<>(); + types.add(EnumTemplateType.ACTIVITY_REMIND.getCode()); + types.add(EnumTemplateType.LIVE_REMIND.getCode()); + wxTemplateMsg.setTypes(types); + final PageInfo 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 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 page = wxTemplateMsgService.listAsPageForMiniApp(wxTemplateMsg, pageNum, pageSize); return new ResultData(page); } diff --git a/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtCouponController.java b/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtCouponController.java index 304c0c01c..3d08f4570 100644 --- a/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtCouponController.java +++ b/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)); } diff --git a/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtOrderController.java b/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtOrderController.java index 692e7c907..1551ff002 100644 --- a/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtOrderController.java +++ b/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)); } diff --git a/mallinkTTCApi/src/main/java/com/iformall/callback/TtOrderCallbackController.java b/mallinkTTCApi/src/main/java/com/iformall/callback/TtOrderCallbackController.java new file mode 100644 index 000000000..6bf87ad9f --- /dev/null +++ b/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 createOrder( HttpServletRequest request){ + Map resultMap = new HashMap<>(); + + String body = ((BodyReaderHttpServletRequestWrapper) request).getBody(); + + try { + + Map 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 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 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; + } + } + +} diff --git a/mallinkTTCApi/src/main/java/com/iformall/controller/TtCouponController.java b/mallinkTTCApi/src/main/java/com/iformall/controller/TtCouponController.java index a7dc4526a..60a72c4df 100644 --- a/mallinkTTCApi/src/main/java/com/iformall/controller/TtCouponController.java +++ b/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(); } diff --git a/mallinkTTCApi/src/main/java/com/iformall/controller/TtOrderCallbackController.java b/mallinkTTCApi/src/main/java/com/iformall/controller/TtOrderCallbackController.java deleted file mode 100644 index fd194fb4d..000000000 --- a/mallinkTTCApi/src/main/java/com/iformall/controller/TtOrderCallbackController.java +++ /dev/null @@ -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 createOrder( HttpServletRequest request){ - - Map 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 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; - } - } - - -} diff --git a/mallinkTTCApi/src/main/java/com/iformall/controller/TtOrderController.java b/mallinkTTCApi/src/main/java/com/iformall/controller/TtOrderController.java index cb0843a60..36c0d008f 100644 --- a/mallinkTTCApi/src/main/java/com/iformall/controller/TtOrderController.java +++ b/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 paramMap, HttpServletRequest request) throws Exception { + @ApiOperation(value = "发起小程序支付订单", notes = "{\"orderId\":\"string\"}") +// @RequestMapping(value = "/createPay", method = RequestMethod.POST) + @PostMapping("createPay") + public ResultData _create(@RequestBody Map 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(); } - } } diff --git a/mallinkTTCApi/src/main/java/com/iformall/controller/TtUserGrantController.java b/mallinkTTCApi/src/main/java/com/iformall/controller/TtUserGrantController.java index 2a48b2668..00c29f55e 100644 --- a/mallinkTTCApi/src/main/java/com/iformall/controller/TtUserGrantController.java +++ b/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()); diff --git a/mallinkTTCApi/src/main/java/com/iformall/controller/WxMerchantController.java b/mallinkTTCApi/src/main/java/com/iformall/controller/WxMerchantController.java index 4f75a17d3..9c5c878ba 100644 --- a/mallinkTTCApi/src/main/java/com/iformall/controller/WxMerchantController.java +++ b/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 params = new HashMap(); - 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(); } diff --git a/mallinkTTCApi/src/main/java/com/iformall/schedule/TtOrderExpiringSchedule.java b/mallinkTTCApi/src/main/java/com/iformall/schedule/TtOrderExpiringSchedule.java new file mode 100644 index 000000000..a2a9214cf --- /dev/null +++ b/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 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 idList = ttOrderService.findRecordedIdList(dateZero); + if(idList != null && idList.size() > 0){ + for (Long orderId:idList) { + try { + ttOrderService.recordedAmount(orderId); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } + +} \ No newline at end of file