| @@ -107,6 +107,8 @@ public class WxOfflineActivityRecord extends TenantEntity { | |||
| @TableField(exist = false) | |||
| private List<Long> merchantIdList; | |||
| @TableField(exist = false) | |||
| private List<Long> notMerchantIdList; | |||
| @TableField(value = "business_id") | |||
| private Integer businessId; | |||
| @@ -14,15 +14,12 @@ import java.util.List; | |||
| */ | |||
| public interface WxOfflineActivityMerchantMapper extends CommonMapper<WxOfflineActivityMerchant, Long> { | |||
| WxOfflineActivityMerchant selectById(@Param("id")Long id, @Param("tenantId")String tenantId); | |||
| List<Long> getMerchantIdList(@Param("activityId")Long activityId, @Param("tenantId")String tenantId); | |||
| List<WxOfflineActivityMerchant> findList(WxOfflineActivityMerchant wxOfflineActivityMerchant); | |||
| void delete(WxOfflineActivityMerchant wxOfflineActivityMerchant); | |||
| int merchantCount(WxOfflineActivityMerchant wxOfflineActivityMerchant); | |||
| List<Long> findActivityIdList(@Param("merchantId")Long merchantId,@Param("tenantId")String tenantId); | |||
| } | |||
| @@ -6,16 +6,10 @@ import com.iformall.common.Result; | |||
| import com.iformall.domain.po.*; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.domain.vo.OfflineActivityRecordStatistics; | |||
| import com.iformall.enums.EnumOfflineActivityAwardsRule; | |||
| import com.iformall.enums.EnumOfflineActivityRecordStatus; | |||
| import com.iformall.enums.EnumOfflineActivityStatus; | |||
| import com.iformall.enums.EnumOfflineActivityType; | |||
| import com.iformall.enums.*; | |||
| import com.iformall.exception.MallinkException; | |||
| import com.iformall.mapper.WxOfflineActivityMapper; | |||
| import com.iformall.mapper.WxOfflineActivityRecordGrantMapper; | |||
| import com.iformall.mapper.WxOfflineActivityRecordMapper; | |||
| import com.iformall.mapper.*; | |||
| import com.iformall.service.*; | |||
| import com.iformall.mapper.WxOfflineActivityGrantAwardMapper; | |||
| import com.iformall.utils.DateUtils; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.stereotype.Service; | |||
| @@ -41,6 +35,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||
| @Autowired | |||
| WxOfflineActivityMapper wxOfflineActivityMapper; | |||
| @Autowired | |||
| WxOfflineActivityMerchantMapper wxOfflineActivityMerchantMapper; | |||
| @Autowired | |||
| WxOfflineActivityRecordMapper wxOfflineActivityRecordMapper; | |||
| @@ -112,6 +109,15 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||
| } | |||
| wxOfflineActivityRecord.setCreateDateBegin(activity.getStartTime()); | |||
| wxOfflineActivityRecord.setCreateDateEnd(activity.getEndTime()); | |||
| if(EnumOfflineActivityMerchantType.ADD.getCode().equals(activity.getAllMerchant())){ | |||
| List<Long> merchantIds = wxOfflineActivityMerchantMapper.getMerchantIdList(activity.getId(), activity.getTenantId()); | |||
| wxOfflineActivityRecord.setMerchantIdList(merchantIds); | |||
| }else if(EnumOfflineActivityMerchantType.UN_ADD.getCode().equals(activity.getAllMerchant())){ | |||
| List<Long> merchantIds = wxOfflineActivityMerchantMapper.getMerchantIdList(activity.getId(), activity.getTenantId()); | |||
| wxOfflineActivityRecord.setNotMerchantIdList(merchantIds); | |||
| } | |||
| List<WxOfflineActivityRecord> recordList = wxOfflineActivityRecordMapper.findList(wxOfflineActivityRecord); | |||
| handlerRecordList(wxOfflineActivityRecord,activity,recordList); | |||
| return recordList; | |||
| @@ -123,11 +123,11 @@ | |||
| </insert> | |||
| <select id="settlementStatistics" parameterType="com.iformall.domain.po.WxOfflineActivityGrantSettlement" resultType="com.iformall.domain.vo.OfflineActivitySettlementStatistics"> | |||
| SELECT sum(real_grant_price) as 'sumGrantPrice', | |||
| SELECT IFNULL(sum(real_grant_price),0) as 'sumGrantPrice', | |||
| count(DISTINCT record_id) as 'recordCount', | |||
| count(DISTINCT merchant_id) as 'merchantCount', | |||
| sum(real_mall_share_price) as 'sumMallPrice', | |||
| sum(real_merchant_share_price) as 'sumMerchantPrice' | |||
| IFNULL(sum(real_mall_share_price),0) as 'sumMallPrice', | |||
| IFNULL(sum(real_merchant_share_price),0) as 'sumMerchantPrice' | |||
| FROM wx_offline_activity_grant_settlement | |||
| where 1 = 1 | |||
| <if test=" null != tenantId and '' != tenantId"> | |||
| @@ -156,10 +156,10 @@ | |||
| SELECT merchant_id as 'merchantId', | |||
| activity_id as 'activityId', | |||
| count(DISTINCT record_id) as 'recordCount', | |||
| sum(order_money) as 'sumOrderMoney', | |||
| sum(real_grant_price) as 'sumGrantPrice', | |||
| sum(real_mall_share_price) as 'sumMallPrice', | |||
| sum(real_merchant_share_price) as 'sumMerchantPrice' | |||
| IFNULL(sum(order_money),0) as 'sumOrderMoney', | |||
| IFNULL(sum(real_grant_price),0) as 'sumGrantPrice', | |||
| IFNULL(sum(real_mall_share_price),0) as 'sumMallPrice', | |||
| IFNULL(sum(real_merchant_share_price),0) as 'sumMerchantPrice' | |||
| FROM wx_offline_activity_grant_settlement | |||
| where `activity_id` = #{activityId} | |||
| <if test=" null != id "> | |||
| @@ -56,10 +56,6 @@ | |||
| <if test=" null != sortColumns"> order by ${sortColumns} </if> | |||
| </sql> | |||
| <select id="selectById" parameterType="java.util.HashMap" resultMap="BaseResultMap"> | |||
| select <include refid="allColumns" /> from wx_offline_activity_merchant where id = #{id} and tenant_id=#{tenantId} | |||
| </select> | |||
| <select id="findList" parameterType="com.iformall.domain.po.WxOfflineActivityMerchant" resultMap="BaseResultMap"> | |||
| select <include refid="allColumns" /> from wx_offline_activity_merchant | |||
| <include refid="dynamicWhereConditions" /> | |||
| @@ -73,12 +69,8 @@ | |||
| </if> | |||
| </delete> | |||
| <select id="merchantCount" parameterType="com.iformall.domain.po.WxOfflineActivityMerchant" resultType="Integer"> | |||
| select count(1) from wx_offline_activity_merchant | |||
| <include refid="dynamicWhereConditions" /> | |||
| <select id="getMerchantIdList" parameterType="java.util.HashMap" resultType="Long"> | |||
| select merchant_id from wx_offline_activity_merchant where activity_id = #{activityId} and tenant_id = #{tenantId} | |||
| </select> | |||
| <select id="findActivityIdList" parameterType="java.util.HashMap" resultType="Long"> | |||
| select activity_id from wx_offline_activity_merchant where merchant_id = #{merchantId} and tenant_id=#{tenantId} | |||
| </select> | |||
| </mapper> | |||
| @@ -98,6 +98,13 @@ | |||
| </foreach> | |||
| </if> | |||
| <if test=" null != notMerchantIdList "> | |||
| and merchant_id not in | |||
| <foreach collection="notMerchantIdList" index="index" item="midItem" open="(" separator="," close=")"> | |||
| #{midItem} | |||
| </foreach> | |||
| </if> | |||
| <if test=" null != ids "> | |||
| and id in | |||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | |||
| @@ -126,7 +133,8 @@ | |||
| <select id="auditStatusStatistics" parameterType="com.iformall.domain.po.WxOfflineActivityRecord" resultType="com.iformall.domain.vo.OfflineActivityRecordStatistics"> | |||
| SELECT audit_status as 'auditStatus', | |||
| count(1) as 'count',sum(order_money) as 'sumMoney' | |||
| count(1) as 'count', | |||
| IFNULL(sum(order_money),0) as 'sumMoney' | |||
| FROM wx_offline_activity_record | |||
| where 1 = 1 | |||
| <if test=" null != tenantId and '' != tenantId"> | |||