| @@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode; | |||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | |||||
| import java.util.UUID; | import java.util.UUID; | ||||
| @TableName(value = "wx_merchant_b_user") | @TableName(value = "wx_merchant_b_user") | ||||
| @@ -24,6 +25,8 @@ public class WxMerchantBUser extends TenantEntity { | |||||
| private String userPwd; | private String userPwd; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "商户id", name = "merchantId") | @io.swagger.annotations.ApiModelProperty(value = "商户id", name = "merchantId") | ||||
| private Long merchantId; | private Long merchantId; | ||||
| @TableField(exist = false) | |||||
| private List<Long> merchantIds; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate") | @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate") | ||||
| private Date createDate; | private Date createDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate") | @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate") | ||||
| @@ -1,11 +1,13 @@ | |||||
| package com.iformall.domain.po; | package com.iformall.domain.po; | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | |||||
| import com.baomidou.mybatisplus.annotation.TableName; | import com.baomidou.mybatisplus.annotation.TableName; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import lombok.Data; | import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | |||||
| @TableName(value = "wx_merchant_shop") | @TableName(value = "wx_merchant_shop") | ||||
| @Data | @Data | ||||
| @@ -18,6 +20,9 @@ public class WxMerchantShop extends TenantEntity { | |||||
| private Long merchantId; | private Long merchantId; | ||||
| @io.swagger.annotations.ApiModelProperty(value="商铺ID",name="shopId") | @io.swagger.annotations.ApiModelProperty(value="商铺ID",name="shopId") | ||||
| private Long shopId; | private Long shopId; | ||||
| @TableField(exist = false) | |||||
| private List<Long> shopIdList; | |||||
| @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") | @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") | ||||
| private Date createDate; | private Date createDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") | @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") | ||||
| @@ -55,6 +55,9 @@ public class WxCouponOrderBVo extends WxCouponOrder { | |||||
| @Excel(name = "会员手机号", width = 20, orderNum = "13") | @Excel(name = "会员手机号", width = 20, orderNum = "13") | ||||
| @io.swagger.annotations.ApiModelProperty(value="c用户绑定的手机号",name="cUserPhone") | @io.swagger.annotations.ApiModelProperty(value="c用户绑定的手机号",name="cUserPhone") | ||||
| private String cUserPhone; | private String cUserPhone; | ||||
| @io.swagger.annotations.ApiModelProperty(value="c用户编号",name="cUserId") | |||||
| @TableField(exist = false) | |||||
| private Long cUserId; | |||||
| @Excel(name = "微信昵称", width = 20, orderNum = "14") | @Excel(name = "微信昵称", width = 20, orderNum = "14") | ||||
| @io.swagger.annotations.ApiModelProperty(value="微信昵称",name="userNickName") | @io.swagger.annotations.ApiModelProperty(value="微信昵称",name="userNickName") | ||||
| @@ -141,7 +144,8 @@ public class WxCouponOrderBVo extends WxCouponOrder { | |||||
| @Excel(name = "所属商户", width = 50, orderNum = "3") | @Excel(name = "所属商户", width = 50, orderNum = "3") | ||||
| @io.swagger.annotations.ApiModelProperty(value="使用券商户名",name="merchantName") | @io.swagger.annotations.ApiModelProperty(value="使用券商户名",name="merchantName") | ||||
| private String merchantName; | private String merchantName; | ||||
| @TableField(exist = false) | |||||
| private List<Long> bUserIdList; | |||||
| @Excel(name = "发券商户(商户注券)", width = 50, orderNum = "3") | @Excel(name = "发券商户(商户注券)", width = 50, orderNum = "3") | ||||
| @io.swagger.annotations.ApiModelProperty(value="发券商户(商户注券)",name="sendMerchantName") | @io.swagger.annotations.ApiModelProperty(value="发券商户(商户注券)",name="sendMerchantName") | ||||
| @@ -192,6 +196,8 @@ public class WxCouponOrderBVo extends WxCouponOrder { | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private Long couponId; | private Long couponId; | ||||
| @TableField(exist = false) | |||||
| private List<Long> couponIds; | |||||
| @Excel(name = "类型", width = 50, orderNum = "16", replace = {"满减券_1", "代金券_2", "团购券_3", "礼品券_4", "停车券_5", "通用券_6", "砍价券_8", "团购券_9", "预购商品_10", "可配送商品_11", "券礼包_12", "积分券_50", "积分停车券_51", "消费卡_100"}) | @Excel(name = "类型", width = 50, orderNum = "16", replace = {"满减券_1", "代金券_2", "团购券_3", "礼品券_4", "停车券_5", "通用券_6", "砍价券_8", "团购券_9", "预购商品_10", "可配送商品_11", "券礼包_12", "积分券_50", "积分停车券_51", "消费卡_100"}) | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| @@ -0,0 +1,31 @@ | |||||
| package com.iformall.domain.vo; | |||||
| import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | |||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | |||||
| import java.util.Date; | |||||
| import java.util.List; | |||||
| @JsonIgnoreProperties(value = {"handler"}) | |||||
| @Data | |||||
| @EqualsAndHashCode(callSuper = true) | |||||
| public class WxMerchantProductVo extends TenantEntity { | |||||
| /** | |||||
| * | |||||
| */ | |||||
| private static final long serialVersionUID = -367003237067255221L; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "券编码", name = "productId") | |||||
| private Long productId; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "商户编码", name = "merchantId") | |||||
| private Long merchantId; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "商户数", name = "merchantId") | |||||
| private Integer mc; | |||||
| } | |||||
| @@ -15,6 +15,7 @@ public interface WxCouponMapper extends CommonMapper<WxCoupon, Long> { | |||||
| List<WxCouponStatisVo> findCountData(@Param("tenantEntitys")List<TenantEntity> tenantEntitys, @Param("wxCoupon")WxCoupon wxCoupon); | List<WxCouponStatisVo> findCountData(@Param("tenantEntitys")List<TenantEntity> tenantEntitys, @Param("wxCoupon")WxCoupon wxCoupon); | ||||
| List<WxCoupon> findList(WxCoupon wxCoupon); | List<WxCoupon> findList(WxCoupon wxCoupon); | ||||
| List<Long> findIdList(WxCoupon wxCoupon); | |||||
| List<WxCoupon> findCouponList(WxCoupon wxCoupon); | List<WxCoupon> findCouponList(WxCoupon wxCoupon); | ||||
| WxCoupon selectById(@Param("id")Long id,@Param("tenantId")String tenantId); | WxCoupon selectById(@Param("id")Long id,@Param("tenantId")String tenantId); | ||||
| @@ -3,6 +3,7 @@ package com.iformall.mapper; | |||||
| import com.iformall.common.CommonMapper; | import com.iformall.common.CommonMapper; | ||||
| import com.iformall.domain.po.WxCouponMerchant; | import com.iformall.domain.po.WxCouponMerchant; | ||||
| import com.iformall.domain.vo.WxMerchantProductVo; | |||||
| import com.iformall.domain.vo.WxMerchantVo; | import com.iformall.domain.vo.WxMerchantVo; | ||||
| import java.util.List; | import java.util.List; | ||||
| @@ -16,4 +17,6 @@ public interface WxCouponMerchantMapper extends CommonMapper<WxCouponMerchant, L | |||||
| List<WxMerchantVo> findMerchantVoList(@Param("productId")Long productId,@Param("tenantId")String tenantId); | List<WxMerchantVo> findMerchantVoList(@Param("productId")Long productId,@Param("tenantId")String tenantId); | ||||
| List<WxMerchantVo> findMerchantNameList(@Param("productId")Long productId,@Param("tenantId")String tenantId); | List<WxMerchantVo> findMerchantNameList(@Param("productId")Long productId,@Param("tenantId")String tenantId); | ||||
| List<WxMerchantVo> findMerchantBaseList(@Param("productId")Long productId,@Param("tenantId")String tenantId); | List<WxMerchantVo> findMerchantBaseList(@Param("productId")Long productId,@Param("tenantId")String tenantId); | ||||
| List<WxMerchantProductVo> findMerchantProduct(@Param("tenantId")String tenantId,@Param("merchantIdList")List<Long> merchantIdList); | |||||
| List<Long> findMerchantProductIds(@Param("tenantId")String tenantId,@Param("merchantIdList")List<Long> merchantIdList); | |||||
| } | } | ||||
| @@ -8,6 +8,7 @@ import com.iformall.domain.vo.WxMerchantBuInfoVo; | |||||
| public interface WxMerchantBUserMapper extends CommonMapper<WxMerchantBUser, Long> { | public interface WxMerchantBUserMapper extends CommonMapper<WxMerchantBUser, Long> { | ||||
| List<WxMerchantBUser> findList(WxMerchantBUser wxMerchantBUser); | List<WxMerchantBUser> findList(WxMerchantBUser wxMerchantBUser); | ||||
| List<Long> findIdList(WxMerchantBUser wxMerchantBUser); | |||||
| List<WxMerchantBuInfoVo> findSelMerchantList(WxMerchantBUser wxMerchantBUser); | List<WxMerchantBuInfoVo> findSelMerchantList(WxMerchantBUser wxMerchantBUser); | ||||
| @@ -16,6 +16,8 @@ import java.util.Map; | |||||
| public interface WxMerchantMapper extends CommonMapper<WxMerchant, Long> { | public interface WxMerchantMapper extends CommonMapper<WxMerchant, Long> { | ||||
| List<WxMerchant> findList(WxMerchant wxMerchant); | List<WxMerchant> findList(WxMerchant wxMerchant); | ||||
| List<Long> findIdList(WxMerchant wxMerchant); | |||||
| List<WxMerchant> findIdNameList(WxMerchant wxMerchant); | List<WxMerchant> findIdNameList(WxMerchant wxMerchant); | ||||
| @@ -11,6 +11,8 @@ public interface WxMerchantShopMapper extends CommonMapper<WxMerchantShop, Strin | |||||
| List<WxMerchantShop> findList(WxMerchantShop wxMerchantShop); | List<WxMerchantShop> findList(WxMerchantShop wxMerchantShop); | ||||
| List<Long> findMerchantIdList(WxMerchantShop wxMerchantShop); | |||||
| List<Long> findShopIds(@Param("merchantId") Long merchantId); | List<Long> findShopIds(@Param("merchantId") Long merchantId); | ||||
| void delShops(@Param("merchantId") Long merchantId,@Param("shopList") List<Long> shopIds); | void delShops(@Param("merchantId") Long merchantId,@Param("shopList") List<Long> shopIds); | ||||
| @@ -16,6 +16,8 @@ import java.util.Map; | |||||
| public interface WxShopMapper extends CommonMapper<WxShop, String> { | public interface WxShopMapper extends CommonMapper<WxShop, String> { | ||||
| List<WxShop> findList(WxShop wxShop); | List<WxShop> findList(WxShop wxShop); | ||||
| List<Long> findIdList(WxShop wxShop); | |||||
| List<Map<String,Object>> findListMap(WxShop record); | List<Map<String,Object>> findListMap(WxShop record); | ||||
| @@ -171,6 +171,11 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| SysConfigService sysConfigService; | SysConfigService sysConfigService; | ||||
| @Autowired | @Autowired | ||||
| WxMerchantBUserService wxMerchantBUserService; | WxMerchantBUserService wxMerchantBUserService; | ||||
| @Autowired | |||||
| WxShopMapper wxShopMapper; | |||||
| @Autowired | |||||
| WxMerchantShopMapper wxMerchantShopMapper; | |||||
| private final SimpleDateFormat mydateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | private final SimpleDateFormat mydateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||||
| @@ -335,6 +340,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| @Override | @Override | ||||
| public ResultData listAdminAsPage(WxCouponOrderBVo wxCouponOrderBVo, Integer pageIndex, Integer pageSize) { | public ResultData listAdminAsPage(WxCouponOrderBVo wxCouponOrderBVo, Integer pageIndex, Integer pageSize) { | ||||
| handleWxCouponOrderBVoQueryParam(wxCouponOrderBVo); | |||||
| PageInfo<WxCouponOrderBVo> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfAdmin(wxCouponOrderBVo)); | PageInfo<WxCouponOrderBVo> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfAdmin(wxCouponOrderBVo)); | ||||
| return new ResultData(pageInfo); | return new ResultData(pageInfo); | ||||
| } | } | ||||
| @@ -348,6 +354,131 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| return new ResultData(wxCouponOrderBVo); | return new ResultData(wxCouponOrderBVo); | ||||
| } | } | ||||
| private List<Long> getMerchantIdsQueryParam(WxCouponOrderBVo wxCouponOrder) { | |||||
| List<Long> retMerchantIdList = new ArrayList<Long>(); | |||||
| boolean isConditiondQquery = false; | |||||
| //根据名称查询商户 | |||||
| String merchantName = StringUtils.trimToNull(wxCouponOrder.getMerchantName()); | |||||
| if (null != merchantName) { | |||||
| WxMerchant merchantQ1 = new WxMerchant(); | |||||
| merchantQ1.updateTenantInfo(wxCouponOrder); | |||||
| merchantQ1.setName(merchantName); | |||||
| List<Long> merchantIdList = wxMerchantMapper.findIdList(merchantQ1); | |||||
| if (null == merchantIdList || merchantIdList.size() <= 0) { | |||||
| throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"商户名称查询不到商户。"); | |||||
| } | |||||
| retMerchantIdList.addAll(merchantIdList); | |||||
| isConditiondQquery = true; | |||||
| } | |||||
| //楼层楼座查询商户 | |||||
| if (null != wxCouponOrder.getBuilding() || null != wxCouponOrder.getFloor()) { | |||||
| WxShop shopQ = new WxShop(); | |||||
| shopQ.updateTenantInfo(wxCouponOrder); | |||||
| shopQ.setBuilding(Long.parseLong(String.valueOf(wxCouponOrder.getBuilding()))); | |||||
| shopQ.setFloor(Long.parseLong(String.valueOf(wxCouponOrder.getFloor()))); | |||||
| List<Long> shopIds = wxShopMapper.findIdList(shopQ); | |||||
| if (null == shopIds || shopIds.size() <= 0 ){ | |||||
| throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"楼座楼层提交查询不到店铺信息."); | |||||
| } | |||||
| WxMerchantShop wxMerchantShopQ = new WxMerchantShop(); | |||||
| wxMerchantShopQ.updateTenantInfo(wxCouponOrder); | |||||
| wxMerchantShopQ.setShopIdList(shopIds); | |||||
| wxMerchantShopQ.setIsDel(0); | |||||
| List<Long> buildMerchantIdList = wxMerchantShopMapper.findMerchantIdList(wxMerchantShopQ); | |||||
| if (null == buildMerchantIdList || buildMerchantIdList.size() <= 0 ){ | |||||
| throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"楼座楼层对应店铺无商户绑定记录."); | |||||
| } | |||||
| retMerchantIdList.retainAll(buildMerchantIdList); | |||||
| isConditiondQquery = true; | |||||
| } | |||||
| if (isConditiondQquery) { | |||||
| if (null == retMerchantIdList || retMerchantIdList.size() <= 0 ) { | |||||
| throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"根据条件交集未查询到商户记录."); | |||||
| }else { | |||||
| return retMerchantIdList; | |||||
| } | |||||
| }else { | |||||
| return null; | |||||
| } | |||||
| } | |||||
| private void handleWxCouponOrderBVoQueryParam(WxCouponOrderBVo wxCouponOrder) { | |||||
| String cuserPhone = StringUtils.trimToNull(wxCouponOrder.getcuserPhone()); | |||||
| if (null != cuserPhone) { | |||||
| WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(wxCouponOrder, cuserPhone); | |||||
| if (null != basicInfo) { | |||||
| wxCouponOrder.setCUserId(basicInfo.getId()); | |||||
| }else { | |||||
| throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"手机号查询不到会员信息。"); | |||||
| } | |||||
| } | |||||
| List<Long> merchantIdListQueryParam = getMerchantIdsQueryParam(wxCouponOrder); | |||||
| List<Long> merchantProductIds = null; | |||||
| if (null != merchantIdListQueryParam) { | |||||
| //查询商户券 | |||||
| merchantProductIds = wxCouponMerchantMapper.findMerchantProductIds(wxCouponOrder.getTenantId(), merchantIdListQueryParam); | |||||
| if (null == merchantProductIds || merchantProductIds.size() <= 0) { | |||||
| throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"商户下查询不到券信息。"); | |||||
| } | |||||
| } | |||||
| List<Long> couponIds = null; | |||||
| String title = StringUtils.trimToNull(wxCouponOrder.getTitle()); | |||||
| if (null != title || null != wxCouponOrder.getType() || null != wxCouponOrder.getBusiness() || null != wxCouponOrder.getSourceType()) { | |||||
| WxCoupon wxCouponQuery = new WxCoupon(); | |||||
| wxCouponQuery.updateTenantInfo(wxCouponOrder); | |||||
| wxCouponQuery.setTitle(title); | |||||
| wxCouponQuery.setType(wxCouponOrder.getType()); | |||||
| wxCouponQuery.setBusiness(wxCouponOrder.getBusiness()); | |||||
| wxCouponQuery.setSourceType(wxCouponOrder.getSourceType()); | |||||
| couponIds = wxCouponMapper.findIdList(wxCouponQuery); | |||||
| if (null == couponIds || couponIds.size() <= 0) { | |||||
| throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"根据券条件搜索不到券信息。"); | |||||
| } | |||||
| } | |||||
| //merchantProducts 和 couponIds 取交集 | |||||
| if (null != merchantProductIds) { | |||||
| if (null != couponIds) { | |||||
| //取交集 | |||||
| merchantProductIds.retainAll(couponIds); | |||||
| } | |||||
| wxCouponOrder.setCouponIds(merchantProductIds); | |||||
| }else { | |||||
| if (null != couponIds) { | |||||
| wxCouponOrder.setCouponIds(couponIds); | |||||
| } | |||||
| } | |||||
| //核销商户 | |||||
| String verifyMerchantName = StringUtils.trimToNull(wxCouponOrder.getVerifyMerchantName()); | |||||
| if (null != verifyMerchantName) { | |||||
| WxMerchant merchantQ2 = new WxMerchant(); | |||||
| merchantQ2.updateTenantInfo(wxCouponOrder); | |||||
| merchantQ2.setName(verifyMerchantName); | |||||
| List<Long> merchantIds = wxMerchantMapper.findIdList(merchantQ2); | |||||
| if (null == merchantIds || merchantIds.size() <= 0 ){ | |||||
| throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"核销商户名称查询不到商户记录."); | |||||
| } | |||||
| WxMerchantBUser merchantBUserQ = new WxMerchantBUser(); | |||||
| merchantBUserQ.setMerchantIds(merchantIds); | |||||
| List<Long> bUserIdList = wxMerchantBUserMapper.findIdList(merchantBUserQ); | |||||
| if (null == bUserIdList || bUserIdList.size() <= 0 ){ | |||||
| throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"核销商户下查询不到员工信息."); | |||||
| } | |||||
| wxCouponOrder.setBUserIdList(bUserIdList); | |||||
| } | |||||
| } | |||||
| @Override | @Override | ||||
| public void exportData(WxCouponOrderBVo wxCouponOrder, HttpServletRequest request, HttpServletResponse response) { | public void exportData(WxCouponOrderBVo wxCouponOrder, HttpServletRequest request, HttpServletResponse response) { | ||||
| String filename = "券订单"; | String filename = "券订单"; | ||||
| @@ -364,6 +495,8 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| }); | }); | ||||
| } | } | ||||
| handleWxCouponOrderBVoQueryParam(wxCouponOrder); | |||||
| List<WxCouponOrderBVo> list = wxCouponOrderMapper.findListOfAdmin(wxCouponOrder); | List<WxCouponOrderBVo> list = wxCouponOrderMapper.findListOfAdmin(wxCouponOrder); | ||||
| list.parallelStream().forEach(c -> { | list.parallelStream().forEach(c -> { | ||||
| if (c.getCouponOrderStatus().equals(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode())) { | if (c.getCouponOrderStatus().equals(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode())) { | ||||
| @@ -323,6 +323,12 @@ | |||||
| from wx_coupon c | from wx_coupon c | ||||
| <include refid="dynamicWhereConditions"/> | <include refid="dynamicWhereConditions"/> | ||||
| </select> | </select> | ||||
| <select id="findIdList" parameterType="com.iformall.domain.po.WxCoupon" resultType="Long"> | |||||
| select id | |||||
| from wx_coupon c | |||||
| <include refid="dynamicWhereConditions"/> | |||||
| </select> | |||||
| <update id="updateStockAndValidDate" parameterType="com.iformall.domain.po.WxCoupon"> | <update id="updateStockAndValidDate" parameterType="com.iformall.domain.po.WxCoupon"> | ||||
| update wx_coupon | update wx_coupon | ||||
| @@ -133,6 +133,43 @@ | |||||
| where cm.status = 0 | where cm.status = 0 | ||||
| and cm.product_id = #{productId} and cm.tenant_id = #{tenantId} | and cm.product_id = #{productId} and cm.tenant_id = #{tenantId} | ||||
| </select> | </select> | ||||
| <resultMap id="MerchantProductVoResultMap" type="com.iformall.domain.vo.WxMerchantProductVo"> | |||||
| <result column="product_id" jdbcType="BIGINT" property="productId"/> | |||||
| <result column="merchant_id" jdbcType="BIGINT" property="merchantId"/> | |||||
| <result column="mc" jdbcType="Integer" property="mc"/> | |||||
| </resultMap> | |||||
| <select id = "findMerchantProduct" parameterType="java.util.Map" resultMap="MerchantProductVoResultMap"> | |||||
| SELECT wcm.product_id,wcm.merchant_id,COUNT(1) AS mc | |||||
| FROM wx_coupon_merchant wcm | |||||
| WHERE STATUS = 0 | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and wcm.`tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != merchantIdList"> | |||||
| and wcm.merchant_id in | |||||
| <foreach collection="merchantIdList" index="index" item="merchantIdItem" open="(" separator="," close=")"> | |||||
| #{merchantIdItem} | |||||
| </foreach> | |||||
| </if> | |||||
| GROUP BY product_id | |||||
| </select> | |||||
| <select id = "findMerchantProductIds" parameterType="java.util.Map" resultType="Long"> | |||||
| SELECT distinct wcm.product_id | |||||
| FROM wx_coupon_merchant wcm | |||||
| WHERE STATUS = 0 | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and wcm.`tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != merchantIdList"> | |||||
| and wcm.merchant_id in | |||||
| <foreach collection="merchantIdList" index="index" item="merchantIdItem" open="(" separator="," close=")"> | |||||
| #{merchantIdItem} | |||||
| </foreach> | |||||
| </if> | |||||
| </select> | |||||
| </mapper> | </mapper> | ||||
| @@ -872,34 +872,6 @@ | |||||
| <result column="send_merchant_id" jdbcType="INTEGER" property="sendMerchantId" /> | <result column="send_merchant_id" jdbcType="INTEGER" property="sendMerchantId" /> | ||||
| </resultMap> | </resultMap> | ||||
| <sql id="allAdminCouponOrderListColumns"> | |||||
| <!-- | |||||
| co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price, | |||||
| c.title,c.sale_price,c.use_price,c.price,c.unit,c.auto_refund,c.business,c.subsidy_type,ms.subsidy subsidy_num, | |||||
| (case when com.mc=1 then | |||||
| (select m.name from wx_merchant m, wx_coupon_merchant cm | |||||
| where m.id = cm.merchant_id and cm.product_id=co.coupon_id and cm.status = 0) else '[多商户通用]' end) as merchant_name, | |||||
| (case when com.mc = 1 then (select m.id from wx_merchant m, | |||||
| wx_coupon_merchant cm where m.id = cm.merchant_id and cm.product_id = co.coupon_id | |||||
| and cm.status = 0) else 0 end) as merchant_id, | |||||
| cu.phone,bu.verify_merchant_name,cal.channel_type | |||||
| (case when couc.mc = 1 then m1.name else '[多商户通用]' end) as merchant_name, | |||||
| (case when couc.mc = 1 then m1.id else 0 end) as merchant_id, | |||||
| cu.phone,m2.name as verify_merchant_name,cal.channel_type | |||||
| --> | |||||
| co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.expired_time,co.coupon_order_status,co.order_id, | |||||
| co.create_date,co.update_date,co.coupon_price, co.verify_type, co.verify_remark,co.pay_vendor, | |||||
| co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`, | |||||
| c.title,c.sale_price,c.use_price,c.price, | |||||
| co.send_merchant_id,c.unit,c.auto_refund,c.business,c.subsidy_type,c.source_type,ms.subsidy subsidy_num, | |||||
| (CASE WHEN couc.mc = 1 THEN m1.name ELSE '[多商户通用]' END) AS merchant_name, | |||||
| (CASE WHEN couc.mc = 1 THEN m1.id ELSE 0 END) AS merchant_id, | |||||
| cu.phone,cu.nick_name,m2.name AS verify_merchant_name,cal.channel_type | |||||
| </sql> | |||||
| <sql id="allAdminCouponOrderDetailColumns"> | <sql id="allAdminCouponOrderDetailColumns"> | ||||
| co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id, | co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id, | ||||
| co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark, co.pay_vendor, | co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark, co.pay_vendor, | ||||
| @@ -911,23 +883,10 @@ | |||||
| </sql> | </sql> | ||||
| <select id="findListOfAdmin" parameterType="com.iformall.domain.vo.WxCouponOrderBVo" resultMap="AdminBVoResultMap"> | <select id="findListOfAdmin" parameterType="com.iformall.domain.vo.WxCouponOrderBVo" resultMap="AdminBVoResultMap"> | ||||
| select <include refid="allAdminCouponOrderListColumns" /> | |||||
| FROM ( | |||||
| SELECT wcm.product_id,wcm.merchant_id,COUNT(1) AS mc | |||||
| FROM wx_coupon_merchant wcm | |||||
| WHERE STATUS = 0 | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and wcm.`tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | |||||
| and wcm.`parent_tenant_id` = #{parentTenantId} | |||||
| </if> | |||||
| GROUP BY product_id) couc | |||||
| RIGHT JOIN ( | |||||
| SELECT co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.c_user_id,co.b_user_id,co.order_id,co.coupon_type, | |||||
| co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.auto_refund,co.verify_type,co.verify_remark,co.pay_vendor | |||||
| ,co.send_merchant_id,co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info` | |||||
| select co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.expired_time,co.coupon_order_status,co.order_id, | |||||
| co.create_date,co.update_date,co.coupon_price, co.verify_type, co.verify_remark,co.pay_vendor, | |||||
| co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`, | |||||
| co.coupon_id | |||||
| FROM wx_coupon_order co WHERE 1=1 | FROM wx_coupon_order co WHERE 1=1 | ||||
| <if test=" null != tenantId and '' != tenantId"> | <if test=" null != tenantId and '' != tenantId"> | ||||
| and co.`tenant_id` = #{tenantId} | and co.`tenant_id` = #{tenantId} | ||||
| @@ -935,15 +894,6 @@ | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | <if test=" null != parentTenantId and '' != parentTenantId"> | ||||
| and co.`parent_tenant_id` = #{parentTenantId} | and co.`parent_tenant_id` = #{parentTenantId} | ||||
| </if> | </if> | ||||
| ) co | |||||
| ON co.coupon_id = couc.product_id | |||||
| LEFT JOIN wx_c_user_basic_info cu ON cu.id=co.c_user_id | |||||
| LEFT JOIN wx_coupon c ON c.id = co.coupon_id | |||||
| LEFT JOIN wx_merchant m1 ON m1.id = couc.merchant_id | |||||
| LEFT JOIN wx_merchant_subsidy ms ON co.id = ms.coupon_order_id AND ms.type = 1 | |||||
| LEFT JOIN wx_merchant_b_user mbu ON mbu.id = co.b_user_id LEFT JOIN wx_merchant m2 ON m2.id = mbu.merchant_id | |||||
| LEFT JOIN wx_coupon_action_log cal ON cal.coupon_order_id = co.id AND cal.coupon_id = co.coupon_id | |||||
| where 1=1 | |||||
| <choose> | <choose> | ||||
| <when test=" null != couponType"> | <when test=" null != couponType"> | ||||
| and co.coupon_type = #{couponType} | and co.coupon_type = #{couponType} | ||||
| @@ -962,10 +912,6 @@ | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | <if test=" null != parentTenantId and '' != parentTenantId"> | ||||
| and co.`parent_tenant_id` = #{parentTenantId} | and co.`parent_tenant_id` = #{parentTenantId} | ||||
| </if> | </if> | ||||
| <if test=" null != cUserPhone and '' != cUserPhone"> | |||||
| and cu.`phone` = #{cUserPhone} | |||||
| </if> | |||||
| <if test=" null != couponOrderStatus "> | <if test=" null != couponOrderStatus "> | ||||
| and co.coupon_order_status = #{couponOrderStatus} | and co.coupon_order_status = #{couponOrderStatus} | ||||
| </if> | </if> | ||||
| @@ -977,20 +923,6 @@ | |||||
| <if test=" null != shippingStatus "> | <if test=" null != shippingStatus "> | ||||
| and co.`shipping_status` = #{shippingStatus} | and co.`shipping_status` = #{shippingStatus} | ||||
| </if> | </if> | ||||
| <if test=" null != merchantName and merchantName!=''"> | |||||
| and (case when couc.mc=1 | |||||
| then | |||||
| m1.name | |||||
| <!--(select m.name from wx_merchant m, wx_coupon_merchant cm | |||||
| where m.id = cm.merchant_id | |||||
| and cm.product_id=co.coupon_id | |||||
| and cm.status = 0)--> | |||||
| else'[多商户通用]' end) | |||||
| like concat('%', #{merchantName},'%') | |||||
| </if> | |||||
| <if test="startDate != null"> | <if test="startDate != null"> | ||||
| AND co.create_date > #{startDate,jdbcType=TIMESTAMP} | AND co.create_date > #{startDate,jdbcType=TIMESTAMP} | ||||
| </if> | </if> | ||||
| @@ -1006,7 +938,6 @@ | |||||
| <if test="verifyEndDate != null"> | <if test="verifyEndDate != null"> | ||||
| AND co.update_date < #{verifyEndDate,jdbcType=TIMESTAMP} | AND co.update_date < #{verifyEndDate,jdbcType=TIMESTAMP} | ||||
| </if> | </if> | ||||
| <if test=" null != id "> | <if test=" null != id "> | ||||
| and co.id = #{id} | and co.id = #{id} | ||||
| </if> | </if> | ||||
| @@ -1014,46 +945,30 @@ | |||||
| and co.order_id = #{orderId} | and co.order_id = #{orderId} | ||||
| </if> | </if> | ||||
| <if test=" null != couponId "> | <if test=" null != couponId "> | ||||
| and c.id = #{couponId} | |||||
| </if> | |||||
| <if test=" null != title "> | |||||
| and c.title like concat('%', #{title},'%') | |||||
| </if> | |||||
| <if test=" null != type "> | |||||
| and c.`type` = #{type} | |||||
| </if> | |||||
| <if test=" null != business "> | |||||
| and c.business = #{business} | |||||
| and co.coupon_id = #{couponId} | |||||
| </if> | </if> | ||||
| <if test=" null != sourceType "> | |||||
| and c.`source_type` = #{sourceType} | |||||
| <if test=" null != cUserId and '' != cUserId"> | |||||
| and co.c_user_id = #{cUserId} | |||||
| </if> | </if> | ||||
| <if test=" null != verifyMerchantName and ''!= verifyMerchantName "> | |||||
| and bu.verify_merchant_name = #{verifyMerchantName} | |||||
| <if test=" null != couponIds"> | |||||
| and co.coupon_id in | |||||
| <foreach collection="couponIds" index="index" item="couponIdItem" open="(" separator="," close=")"> | |||||
| #{couponIdItem} | |||||
| </foreach> | |||||
| </if> | </if> | ||||
| <if test="null!=building"> | |||||
| and co.coupon_id in( | |||||
| select cm.product_id from wx_merchant_shop ms left join wx_merchant m on ms.merchant_id=m.id | |||||
| left join wx_shop s on ms.shop_id=s.id | |||||
| left join wx_coupon_merchant cm on ms.merchant_id=cm.merchant_id | |||||
| where ms.is_del=0 and s.building=#{building} | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and ms.`tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | |||||
| and ms.`parent_tenant_id` = #{parentTenantId} | |||||
| </if> | |||||
| <if test="null!=floor"> | |||||
| and s.floor=#{floor} | |||||
| </if> | |||||
| ) | |||||
| <if test=" null != bUserIdList"> | |||||
| and co.b_user_id in | |||||
| <foreach collection="bUserIdList" index="index" item="bUserIdItem" open="(" separator="," close=")"> | |||||
| #{bUserIdItem} | |||||
| </foreach> | |||||
| </if> | </if> | ||||
| <if test=" null != sortColumns"> order by ${sortColumns} </if> | <if test=" null != sortColumns"> order by ${sortColumns} </if> | ||||
| <if test=" null == sortColumns">order by co.create_date desc,co.id desc</if> | |||||
| <if test=" null == sortColumns">order by co.create_date desc,co.id desc</if> | |||||
| </select> | </select> | ||||
| <select id="findGoodsList" parameterType="com.iformall.domain.vo.WxCouponOrderBVo" resultMap="AdminBVoResultMap"> | <select id="findGoodsList" parameterType="com.iformall.domain.vo.WxCouponOrderBVo" resultMap="AdminBVoResultMap"> | ||||
| select | select | ||||
| co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id, | co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id, | ||||
| @@ -78,6 +78,12 @@ | |||||
| #{idItem} | #{idItem} | ||||
| </foreach> | </foreach> | ||||
| </if> | </if> | ||||
| <if test=" null != merchantIds "> | |||||
| and merchant_id in | |||||
| <foreach collection="merchantIds" index="index" item="merchantIdItem" open="(" separator="," close=")"> | |||||
| #{merchantIdItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != sortColumns">order by ${sortColumns}</if> | <if test=" null != sortColumns">order by ${sortColumns}</if> | ||||
| </sql> | </sql> | ||||
| @@ -88,6 +94,12 @@ | |||||
| from wx_merchant_b_user | from wx_merchant_b_user | ||||
| <include refid="dynamicWhereConditions"/> | <include refid="dynamicWhereConditions"/> | ||||
| </select> | </select> | ||||
| <select id="findIdList" parameterType="com.iformall.domain.po.WxMerchantBUser" resultType="Long"> | |||||
| select id | |||||
| from wx_merchant_b_user | |||||
| <include refid="dynamicWhereConditions"/> | |||||
| </select> | |||||
| <select id="findSelMerchantList" parameterType="com.iformall.domain.po.WxMerchantBUser" resultType="com.iformall.domain.vo.WxMerchantBuInfoVo"> | <select id="findSelMerchantList" parameterType="com.iformall.domain.po.WxMerchantBUser" resultType="com.iformall.domain.vo.WxMerchantBuInfoVo"> | ||||
| select | select | ||||
| @@ -207,6 +207,12 @@ | |||||
| from wx_merchant m | from wx_merchant m | ||||
| <include refid="dynamicWhereConditions"/> | <include refid="dynamicWhereConditions"/> | ||||
| </select> | </select> | ||||
| <select id="findIdList" parameterType="com.iformall.domain.po.WxMerchant" resultType="Long"> | |||||
| select id | |||||
| from wx_merchant m | |||||
| <include refid="dynamicWhereConditions"/> | |||||
| </select> | |||||
| <select id="findFollowList" parameterType="com.iformall.domain.po.WxMerchant" resultMap="BaseResultMap"> | <select id="findFollowList" parameterType="com.iformall.domain.po.WxMerchant" resultMap="BaseResultMap"> | ||||
| select | select | ||||
| @@ -60,7 +60,14 @@ | |||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | ||||
| #{idItem} | #{idItem} | ||||
| </foreach> | </foreach> | ||||
| </if> | |||||
| </if> | |||||
| <if test=" null != shopIdList "> | |||||
| and shop_id in | |||||
| <foreach collection="shopIdList" index="index" item="shopIdItem" open="(" separator="," close=")"> | |||||
| #{idItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != sortColumns"> order by ${sortColumns} </if> | <if test=" null != sortColumns"> order by ${sortColumns} </if> | ||||
| </sql> | </sql> | ||||
| @@ -71,6 +78,12 @@ | |||||
| <include refid="dynamicWhereConditions" /> | <include refid="dynamicWhereConditions" /> | ||||
| </select> | </select> | ||||
| <select id="findMerchantIdList" parameterType="com.iformall.domain.po.WxMerchantShop" resultType="Long"> | |||||
| select distinct merchant_id | |||||
| from wx_merchant_shop | |||||
| <include refid="dynamicWhereConditions" /> | |||||
| </select> | |||||
| <select id="findShopIds" parameterType="Long" resultType="Long"> | <select id="findShopIds" parameterType="Long" resultType="Long"> | ||||
| select shop_id from wx_merchant_shop where `merchant_id` = #{merchantId} and is_del = 0 | select shop_id from wx_merchant_shop where `merchant_id` = #{merchantId} and is_del = 0 | ||||
| </select> | </select> | ||||
| @@ -145,6 +145,12 @@ | |||||
| from wx_shop | from wx_shop | ||||
| <include refid="dynamicWhereConditions"/> | <include refid="dynamicWhereConditions"/> | ||||
| </select> | </select> | ||||
| <select id="findIdList" parameterType="com.iformall.domain.po.WxShop" resultType="Long"> | |||||
| select id | |||||
| from wx_shop | |||||
| <include refid="dynamicWhereConditions"/> | |||||
| </select> | |||||
| <select id="selectBatchByIds" resultMap="BaseResultMap"> | <select id="selectBatchByIds" resultMap="BaseResultMap"> | ||||
| select | select | ||||