| @@ -85,6 +85,7 @@ public class WxLegionActivityOrderController extends BaseController { | |||||
| if(wxLegionActivityOrder == null){ | if(wxLegionActivityOrder == null){ | ||||
| return new ResultData(Result.ERROR,"id 不能为空"); | return new ResultData(Result.ERROR,"id 不能为空"); | ||||
| } | } | ||||
| TenantEntity tenantEntity = getTenantInfo(); | TenantEntity tenantEntity = getTenantInfo(); | ||||
| wxLegionActivityOrder.updateTenantInfo(tenantEntity); | wxLegionActivityOrder.updateTenantInfo(tenantEntity); | ||||
| wxLegionActivityOrder.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode()); | wxLegionActivityOrder.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode()); | ||||
| @@ -1,6 +1,8 @@ | |||||
| package com.iformall.domain.po; | package com.iformall.domain.po; | ||||
| import cn.afterturn.easypoi.excel.annotation.Excel; | import cn.afterturn.easypoi.excel.annotation.Excel; | ||||
| import com.alibaba.fastjson.JSON; | |||||
| import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; | |||||
| import com.baomidou.mybatisplus.annotation.IdType; | import com.baomidou.mybatisplus.annotation.IdType; | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import com.baomidou.mybatisplus.annotation.TableId; | import com.baomidou.mybatisplus.annotation.TableId; | ||||
| @@ -196,6 +198,7 @@ public class WxLegionActivityOrder extends TenantEntity { | |||||
| * 审核时间 | * 审核时间 | ||||
| */ | */ | ||||
| @io.swagger.annotations.ApiModelProperty(value="审核时间",name="auditTime") | @io.swagger.annotations.ApiModelProperty(value="审核时间",name="auditTime") | ||||
| @Excel(name = "审核时间", format = "yyyy-MM-dd HH:mm:ss", width = 20, orderNum = "12") | |||||
| @TableField(value = "audit_time") | @TableField(value = "audit_time") | ||||
| private Date auditTime; | private Date auditTime; | ||||
| @@ -203,4 +206,35 @@ public class WxLegionActivityOrder extends TenantEntity { | |||||
| private Date auditTimeBegin; | private Date auditTimeBegin; | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private Date auditTimeEnd; | private Date auditTimeEnd; | ||||
| /** | |||||
| * 抽奖券编码 | |||||
| */ | |||||
| @TableField(exist = false) | |||||
| private String lotteryNum; | |||||
| @TableField(exist = false) | |||||
| private List<String> lotteryNumList; | |||||
| public List<String> getLotteryNumList() { | |||||
| if(StringUtils.isNotBlank(lotteryNum)){ | |||||
| try { | |||||
| List<String> stringList = JSON.parseArray(lotteryNum, String.class); | |||||
| stringList.removeIf(String::isEmpty); | |||||
| lotteryNumList = stringList.isEmpty() ? null : stringList; | |||||
| }catch(Exception e){} | |||||
| } | |||||
| return lotteryNumList; | |||||
| } | |||||
| /** | |||||
| * 抽奖券数量 | |||||
| */ | |||||
| @TableField(exist = false) | |||||
| private Integer lotteryCount; | |||||
| /** | |||||
| * 周年庆抽奖编码 | |||||
| */ | |||||
| @TableField(exist = false) | |||||
| private String anniversaryLotteryNum; | |||||
| } | } | ||||
| @@ -26,6 +26,8 @@ public interface WxLegionActivityUserMapper extends CommonMapper<WxLegionActivit | |||||
| List<LegionActivityUserStatistics> merchantCountStatistics(WxLegionActivityUser wxLegionActivityUser); | List<LegionActivityUserStatistics> merchantCountStatistics(WxLegionActivityUser wxLegionActivityUser); | ||||
| void updateStatus(WxLegionActivityUser activityUser); | void updateStatus(WxLegionActivityUser activityUser); | ||||
| Integer selectOnlyCount(WxLegionActivityUser wxLegionActivityUser); | |||||
| } | } | ||||
| @@ -94,6 +94,10 @@ public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivit | |||||
| WxMerchant merchant = wxMerchantService.selectById(activityRecord.getMerchantId()); | WxMerchant merchant = wxMerchantService.selectById(activityRecord.getMerchantId()); | ||||
| activityRecord.setBusinessId(merchant.getBusinessId()); | activityRecord.setBusinessId(merchant.getBusinessId()); | ||||
| } | } | ||||
| activityRecord.setLotteryNum(legionActivityOrder.getLotteryNum()); | |||||
| activityRecord.setLotteryCount(legionActivityOrder.getLotteryCount()); | |||||
| activityRecord.setAnniversaryLotteryNum(legionActivityOrder.getAnniversaryLotteryNum()); | |||||
| activityRecord.setCreateDate(legionActivityOrder.getCreateDate()); | activityRecord.setCreateDate(legionActivityOrder.getCreateDate()); | ||||
| activityRecord.setUpdateDate(legionActivityOrder.getUpdateDate()); | activityRecord.setUpdateDate(legionActivityOrder.getUpdateDate()); | ||||
| // activityRecord.setAuditRemark(legionActivityOrder.getAuditRemark()); | // activityRecord.setAuditRemark(legionActivityOrder.getAuditRemark()); | ||||
| @@ -309,6 +309,10 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe | |||||
| legionActivityOrder.setCusPhone(user.getPhone()); | legionActivityOrder.setCusPhone(user.getPhone()); | ||||
| legionActivityOrder.setCusVipNum(user.getVipNum()); | legionActivityOrder.setCusVipNum(user.getVipNum()); | ||||
| legionActivityOrder.setLotteryNum(wxLegionActivityOrder.getLotteryNum()); | |||||
| legionActivityOrder.setLotteryCount(wxLegionActivityOrder.getLotteryCount()); | |||||
| legionActivityOrder.setAnniversaryLotteryNum(wxLegionActivityOrder.getAnniversaryLotteryNum()); | |||||
| wxLegionActivityOfflineConfigService.syncOfflineActivityRecord(legionActivityOrder); | wxLegionActivityOfflineConfigService.syncOfflineActivityRecord(legionActivityOrder); | ||||
| } | } | ||||
| @@ -59,19 +59,23 @@ public class WxLegionActivityUserServiceImpl implements WxLegionActivityUserServ | |||||
| @Override | @Override | ||||
| public void saveOrUpdate(WxLegionActivityUser wxLegionActivityUser) { | public void saveOrUpdate(WxLegionActivityUser wxLegionActivityUser) { | ||||
| //手就号唯一 | |||||
| WxLegionActivityUser userQ = new WxLegionActivityUser(); | WxLegionActivityUser userQ = new WxLegionActivityUser(); | ||||
| userQ.setId(wxLegionActivityUser.getId()); | |||||
| userQ.updateTenantInfo(wxLegionActivityUser); | userQ.updateTenantInfo(wxLegionActivityUser); | ||||
| userQ.setActivityId(wxLegionActivityUser.getActivityId()); | userQ.setActivityId(wxLegionActivityUser.getActivityId()); | ||||
| userQ.setPhone(wxLegionActivityUser.getPhone()); | userQ.setPhone(wxLegionActivityUser.getPhone()); | ||||
| userQ.setStatus(EnumLegionActivityUserStatus.VALID.getCode()); | userQ.setStatus(EnumLegionActivityUserStatus.VALID.getCode()); | ||||
| WxLegionActivityUser user = this.selectOne(userQ); | |||||
| if(user != null) { | |||||
| if(wxLegionActivityUser.getId() == null){ | |||||
| throw new MallinkException(Result.ERROR,"该用户已绑定"); | |||||
| } | |||||
| if(!wxLegionActivityUser.getId().equals(user.getId())){ | |||||
| throw new MallinkException(Result.ERROR,"该用户已绑定"); | |||||
| } | |||||
| Integer phoneCount = wxLegionActivityUserMapper.selectOnlyCount(userQ); | |||||
| if(phoneCount > 0) { | |||||
| throw new MallinkException(Result.ERROR,"手机号已绑定"); | |||||
| } | |||||
| //vip卡号唯一 | |||||
| userQ.setPhone(null); | |||||
| userQ.setVipNum(wxLegionActivityUser.getVipNum()); | |||||
| Integer vipCount = wxLegionActivityUserMapper.selectOnlyCount(userQ); | |||||
| if(vipCount > 0) { | |||||
| throw new MallinkException(Result.ERROR,"vip卡已绑定"); | |||||
| } | } | ||||
| WxLegionActivityMerchantConfig merchantConfigQuery = new WxLegionActivityMerchantConfig(); | WxLegionActivityMerchantConfig merchantConfigQuery = new WxLegionActivityMerchantConfig(); | ||||
| @@ -164,4 +164,31 @@ | |||||
| </foreach> | </foreach> | ||||
| </if> | </if> | ||||
| </update> | </update> | ||||
| <select id="selectOnlyCount" parameterType="com.iformall.domain.po.WxLegionActivityUser" resultType="Integer"> | |||||
| select count(1) from wx_legion_activity_user | |||||
| where 1 = 1 | |||||
| <if test=" null != id "> | |||||
| and `id` != #{id} | |||||
| </if> | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and `tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | |||||
| and `parent_tenant_id` = #{parentTenantId} | |||||
| </if> | |||||
| <if test=" null != activityId "> | |||||
| and `activity_id` = #{activityId} | |||||
| </if> | |||||
| <if test=" null != phone and phone != '' "> | |||||
| and `phone` = #{phone} | |||||
| </if> | |||||
| <if test=" null != vipNum and vipNum != '' "> | |||||
| and `vip_num` = #{vipNum} | |||||
| </if> | |||||
| <if test=" null != status "> | |||||
| and `status` = #{status} | |||||
| </if> | |||||
| </select> | |||||
| </mapper> | </mapper> | ||||