Parcourir la source

//legionActivity

release_toaliyun_real
xiaohu il y a 1 an
Parent
révision
72954ae79c
5 fichiers modifiés avec 294 ajouts et 0 suppressions
  1. +53
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityOfflineConfig.java
  2. +29
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityOfflineConfigMapper.java
  3. +23
    -0
      mallinkService/src/main/java/com/iformall/service/WxLegionActivityOfflineConfigService.java
  4. +109
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOfflineConfigServiceImpl.java
  5. +80
    -0
      mallinkService/src/main/resources/mapper/WxLegionActivityOfflineConfigMapper.xml

+ 53
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityOfflineConfig.java Voir le fichier

@@ -0,0 +1,53 @@
package com.iformall.domain.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;

import com.iformall.domain.po.base.TenantEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
* 军团活动配置线下活动
* @TableName wx_legion_activity_offline_config
*/
@TableName(value ="wx_legion_activity_offline_config")
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class WxLegionActivityOfflineConfig extends TenantEntity {
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;

/**
* 租户ID
*/
@TableField(value = "tenant_id")
private String tenantId;

/**
* 父租户ID
*/
@TableField(value = "parent_tenant_id")
private String parentTenantId;

/**
* 活动id
*/
@TableField(value = "legion_activity_id")
private Long legionActivityId;

/**
* 军团id
*/
@TableField(value = "offline_activity_id")
private Long offlineActivityId;

}

+ 29
- 0
mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityOfflineConfigMapper.java Voir le fichier

@@ -0,0 +1,29 @@
package com.iformall.mapper;

import com.iformall.domain.po.WxLegionActivityMerchantConfig;
import com.iformall.domain.po.WxLegionActivityOfflineConfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author xiaohu
* @description 针对表【wx_legion_activity_offline_config(军团活动配置线下活动)】的数据库操作Mapper
* @createDate 2024-09-30 12:22:26
* @Entity com.iformall.domain.po.WxLegionActivityOfflineConfig
*/
public interface WxLegionActivityOfflineConfigMapper extends BaseMapper<WxLegionActivityOfflineConfig> {

void deleteByLegionActivity(@Param("legionActivityId")Long legionActivityId, @Param("tenantId")String tenantId);

void insertList(@Param("configList")List<WxLegionActivityOfflineConfig> legionActivityOfflineConfigList);

List<WxLegionActivityOfflineConfig> findList(WxLegionActivityOfflineConfig offlineConfig);

List<Long> getOfflineActivityIds(@Param("legionActivityId")Long legionActivityId, @Param("tenantId")String tenantId);
}





+ 23
- 0
mallinkService/src/main/java/com/iformall/service/WxLegionActivityOfflineConfigService.java Voir le fichier

@@ -0,0 +1,23 @@
package com.iformall.service;

import com.iformall.domain.po.WxLegionActivity;
import com.iformall.domain.po.WxLegionActivityOfflineConfig;
import com.baomidou.mybatisplus.extension.service.IService;
import com.iformall.domain.po.WxLegionActivityOrder;
import com.iformall.domain.po.WxOfflineActivity;

import java.util.List;

/**
* @author xiaohu
* @description 针对表【wx_legion_activity_offline_config(军团活动配置线下活动)】的数据库操作Service
* @createDate 2024-09-30 12:22:26
*/
public interface WxLegionActivityOfflineConfigService {

void handleOfflineConfig(WxLegionActivity wxLegionActivity);

List<WxOfflineActivity> getOfflineActivityList(WxLegionActivity wxLegionActivity);

void syncOfflineActivityRecord(WxLegionActivityOrder legionActivityOrder);
}

+ 109
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOfflineConfigServiceImpl.java Voir le fichier

@@ -0,0 +1,109 @@
package com.iformall.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.*;
import com.iformall.enums.EnumOfflineActivityRecordStatus;
import com.iformall.mapper.WxLegionActivityOrderMapper;
import com.iformall.mapper.WxOfflineActivityMapper;
import com.iformall.mapper.WxOfflineActivityRecordMapper;
import com.iformall.service.WxLegionActivityOfflineConfigService;
import com.iformall.mapper.WxLegionActivityOfflineConfigMapper;
import com.iformall.service.WxMerchantService;
import com.iformall.service.WxOfflineActivityRecordService;
import com.iformall.service.WxOfflineActivityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

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

/**
* @author xiaohu
* @description 针对表【wx_legion_activity_offline_config(军团活动配置线下活动)】的数据库操作Service实现
* @createDate 2024-09-30 12:22:26
*/
@Service
public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivityOfflineConfigService{

@Autowired
private WxLegionActivityOfflineConfigMapper wxLegionActivityOfflineConfigMapper;

@Autowired
private WxOfflineActivityMapper wxOfflineActivityMapper;

@Autowired
private WxOfflineActivityRecordMapper wxOfflineActivityRecordMapper;

@Autowired
private WxMerchantService wxMerchantService;

@Override
public void handleOfflineConfig(WxLegionActivity wxLegionActivity) {
wxLegionActivityOfflineConfigMapper.deleteByLegionActivity(wxLegionActivity.getId(),wxLegionActivity.getTenantId());
if(wxLegionActivity.getOfflineActivityList() == null || wxLegionActivity.getOfflineActivityList().isEmpty()){
return;
}
final IdWorker idWorker = IdWorker.get();
List<WxLegionActivityOfflineConfig> legionActivityOfflineConfigList = new ArrayList<>();
for (WxOfflineActivity wxOfflineActivity : wxLegionActivity.getOfflineActivityList()) {
WxLegionActivityOfflineConfig wxLegionActivityOfflineConfig = new WxLegionActivityOfflineConfig();
wxLegionActivityOfflineConfig.setId(idWorker.nextId());
wxLegionActivityOfflineConfig.updateTenantInfo(wxLegionActivity);
wxLegionActivityOfflineConfig.setLegionActivityId(wxLegionActivity.getId());
wxLegionActivityOfflineConfig.setOfflineActivityId(wxOfflineActivity.getId());
legionActivityOfflineConfigList.add(wxLegionActivityOfflineConfig);
}

wxLegionActivityOfflineConfigMapper.insertList(legionActivityOfflineConfigList);
}

@Override
public List<WxOfflineActivity> getOfflineActivityList(WxLegionActivity wxLegionActivity) {

List<Long> OfflineActivityIds = wxLegionActivityOfflineConfigMapper.getOfflineActivityIds(wxLegionActivity.getId(),wxLegionActivity.getTenantId());
if(OfflineActivityIds == null || OfflineActivityIds.isEmpty()){
return Collections.emptyList();
}
WxOfflineActivity wxOfflineActivity = new WxOfflineActivity();
wxOfflineActivity.updateTenantInfo(wxLegionActivity);
wxOfflineActivity.setIds(OfflineActivityIds);

return wxOfflineActivityMapper.findList(wxOfflineActivity);
}

@Override
public void syncOfflineActivityRecord(WxLegionActivityOrder legionActivityOrder) {


//所有都同步(绑定线下活动意义不大)
IdWorker idWorker = IdWorker.get();
WxOfflineActivityRecord activityRecord = new WxOfflineActivityRecord();
activityRecord.setId(idWorker.nextId());
activityRecord.updateTenantInfo(legionActivityOrder);
activityRecord.setFromOrderId(legionActivityOrder.getId());
activityRecord.setOrderNo(legionActivityOrder.getOrderNo());
activityRecord.setOrderMoney(legionActivityOrder.getOrderMoney());
activityRecord.setCusName(legionActivityOrder.getCusName());
activityRecord.setCusPhone(legionActivityOrder.getCusAddress());
activityRecord.setCreateBy(legionActivityOrder.getCreateBy());
activityRecord.setMerchantId(legionActivityOrder.getMerchantId());
if(activityRecord.getMerchantId() != null){
WxMerchant merchant = wxMerchantService.selectById(activityRecord.getMerchantId());
activityRecord.setBusinessId(merchant.getBusinessId());
}
activityRecord.setCreateDate(legionActivityOrder.getCreateDate());
activityRecord.setUpdateDate(legionActivityOrder.getUpdateDate());
// activityRecord.setAuditRemark(legionActivityOrder.getAuditRemark());
activityRecord.setAuditStatus(EnumOfflineActivityRecordStatus.AUDI_SUCCESS.getCode());
activityRecord.setAuditBy(legionActivityOrder.getAuditBy());
activityRecord.setAuditTime(legionActivityOrder.getAuditTime());
wxOfflineActivityRecordMapper.insert(activityRecord);
}

}





+ 80
- 0
mallinkService/src/main/resources/mapper/WxLegionActivityOfflineConfigMapper.xml Voir le fichier

@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.iformall.mapper.WxLegionActivityOfflineConfigMapper">

<resultMap id="BaseResultMap" type="com.iformall.domain.po.WxLegionActivityOfflineConfig">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="tenantId" column="tenant_id" jdbcType="VARCHAR"/>
<result property="parentTenantId" column="parent_tenant_id" jdbcType="VARCHAR"/>
<result property="legionActivityId" column="legion_activity_id" jdbcType="BIGINT"/>
<result property="offlineActivityId" column="offline_activity_id" jdbcType="BIGINT"/>
</resultMap>

<sql id="allColumns">
id,tenant_id,parent_tenant_id,
legion_activity_id,offline_activity_id
</sql>

<sql id="dynamicWhereConditions">
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 != legionActivityId ">
and `legion_activity_id` = #{legionActivityId}
</if>
<if test=" null != offlineActivityId ">
and `offline_activity_id` = #{offlineActivityId}
</if>

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

<select id="findList" parameterType="com.iformall.domain.po.WxLegionActivityOfflineConfig" resultMap="BaseResultMap">
select <include refid="allColumns" /> from wx_legion_activity_offline_config
<include refid="dynamicWhereConditions" />
</select>

<select id="getOfflineActivityIds" parameterType="java.util.HashMap" resultType="Long">
select offline_activity_id from wx_legion_activity_offline_config
where `legion_activity_id` = #{legionActivityId}
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
</select>

<delete id="deleteByLegionActivity" parameterType="java.util.HashMap">
delete from wx_legion_activity_offline_config
where `legion_activity_id` = #{legionActivityId}
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
</delete>

<insert id="insertList" parameterType="java.util.List">
insert into wx_legion_activity_offline_config
(id,
legion_activity_id,offline_activity_id)
values
<foreach collection="configList" item="item" index="index" separator=",">
(#{item.id,jdbcType=BIGINT},
#{item.legionActivityId,jdbcType=BIGINT},#{item.offlineActivityId,jdbcType=BIGINT})
</foreach>
</insert>
</mapper>

Chargement…
Annuler
Enregistrer