Преглед изворни кода

//legionActivity

release_toaliyun_real
xiaohu пре 1 година
родитељ
комит
126d859867
9 измењених фајлова са 82 додато и 9 уклоњено
  1. +17
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityOrderController.java
  2. +1
    -1
      mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityOrderController.java
  3. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityOrder.java
  4. +1
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderStatistics.java
  5. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityUserMapper.java
  6. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxLegionActivityOrderService.java
  7. +46
    -6
      mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java
  8. +6
    -1
      mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml
  9. +6
    -0
      mallinkService/src/main/resources/mapper/WxLegionActivityUserMapper.xml

+ 17
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityOrderController.java Прегледај датотеку

@@ -146,6 +146,23 @@ public class WxLegionActivityOrderController extends BaseController {
return new ResultData();
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("参加活动用户订单统计")
@GetMapping("statistics")
public ResultData statisticsCount(@ModelAttribute WxLegionActivityOrder wxLegionActivityOrder) {
if(wxLegionActivityOrder.getActivityId() == null){
return new ResultData(Result.ERROR,"活动ID不能为空");
}
if(StringUtil.isBlank(wxLegionActivityOrder.getCusPhone())){
return new ResultData(Result.ERROR,"请输入用户手机号");
}

TenantEntity tenantInfo = getTenantInfo();
wxLegionActivityOrder.updateTenantInfo(tenantInfo);
Map<String,Object> statisticsMap = wxLegionActivityOrderService.getStatistics(wxLegionActivityOrder);
return new ResultData(statisticsMap);
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("查询详情")
@GetMapping("getInfoById")


+ 1
- 1
mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityOrderController.java Прегледај датотеку

@@ -113,7 +113,7 @@ public class WxLegionActivityOrderController extends BaseController {
TenantEntity tenantInfo = getTenantInfo();
wxLegionActivityOrder.updateTenantInfo(tenantInfo);
wxLegionActivityOrder.setMerchantId(getLoginBUser().getMerchantId());
Map<String,Integer> statisticsMap = wxLegionActivityOrderService.getStatistics(wxLegionActivityOrder);
Map<String,Object> statisticsMap = wxLegionActivityOrderService.getStatistics(wxLegionActivityOrder);
return new ResultData(statisticsMap);
}



+ 2
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityOrder.java Прегледај датотеку

@@ -196,6 +196,8 @@ public class WxLegionActivityOrder extends TenantEntity {
*/
@TableField(value = "audit_by")
private Long auditBy;
@TableField(exist = false)
private String auditByName;

/**
* 审核时间


+ 1
- 0
mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderStatistics.java Прегледај датотеку

@@ -12,4 +12,5 @@ public class LegionActivityOrderStatistics implements Serializable {

private Integer auditStatus;
private Integer count;
private BigDecimal sumMoney;
}

+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityUserMapper.java Прегледај датотеку

@@ -28,6 +28,8 @@ public interface WxLegionActivityUserMapper extends CommonMapper<WxLegionActivit
void updateStatus(WxLegionActivityUser activityUser);

Integer selectOnlyCount(WxLegionActivityUser wxLegionActivityUser);

WxLegionActivityUser selectLimitOne(WxLegionActivityUser wxLegionActivityUser);
}




+ 1
- 1
mallinkService/src/main/java/com/iformall/service/WxLegionActivityOrderService.java Прегледај датотеку

@@ -27,7 +27,7 @@ public interface WxLegionActivityOrderService {

WxLegionActivityOrder getInfoById(Long id, String tenantId);

Map<String, Integer> getStatistics(WxLegionActivityOrder wxLegionActivityOrder);
Map<String, Object> getStatistics(WxLegionActivityOrder wxLegionActivityOrder);

void exportData(HttpServletRequest request, HttpServletResponse response, WxLegionActivityOrder wxLegionActivityOrder);



+ 46
- 6
mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java Прегледај датотеку

@@ -22,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;

@@ -65,6 +66,9 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
@Autowired
private WxShopService wxShopService;

@Autowired
private MallUserInfoService mallUserInfoService;

@Autowired
private ExcelService excelService;
@Autowired
@@ -119,14 +123,21 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
}

List<Long> merchantIds = wxLegionActivityOrders.stream().map(WxLegionActivityOrder::getMerchantId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
List<Long> adminUserIds = wxLegionActivityOrders.stream().map(WxLegionActivityOrder::getAuditBy).filter(Objects::nonNull).distinct().collect(Collectors.toList());
List<Long> userIds = wxLegionActivityOrders.stream().map(WxLegionActivityOrder::getCusId).filter(Objects::nonNull).distinct().collect(Collectors.toList());

Map<Long, String> merchantMap = new HashMap<>();
Map<Long, WxMerchant> merchantMap = new HashMap<>();
if(!merchantIds.isEmpty()){
WxMerchant merchantQ = new WxMerchant();
merchantQ.updateTenantInfo(wxLegionActivityOrder);
merchantQ.setIds(merchantIds);
merchantMap = wxMerchantService.getIdAndNamesMap(merchantQ);
merchantMap = wxMerchantService.findMerchantMap(merchantQ);
}
Map<Long, MallUserInfo> userMap = new HashMap<>();
if(!adminUserIds.isEmpty()){
MallUserInfo userInfoQ = new MallUserInfo();
userInfoQ.updateTenantInfo(wxLegionActivityOrder);
userMap = mallUserInfoService.getUserMap(userInfoQ);
}
Map<Long, WxLegionActivityUser> activityUserMap = new HashMap<>();
if(!userIds.isEmpty()){
@@ -141,12 +152,19 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
Map<Long, String> legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ);

for (WxLegionActivityOrder legionActivityOrder : wxLegionActivityOrders) {
if(legionActivityOrder.getMerchantId() != null){
WxMerchant merchant = merchantMap.get(legionActivityOrder.getMerchantId());
legionActivityOrder.setMerchantName(merchant.getName());
}
if(legionActivityOrder.getAuditBy() != null){
legionActivityOrder.setAuditByName(userMap.get(legionActivityOrder.getAuditBy()).getName());
}
WxLegionActivityUser user = activityUserMap.get(legionActivityOrder.getCusId());
if (null != user) {
legionActivityOrder.setCusPhone(user.getPhone());
legionActivityOrder.setCusVipNum(user.getVipNum());
}
legionActivityOrder.setMerchantName(merchantMap.get(legionActivityOrder.getMerchantId()));
if(legionActivityOrder.getLegionId().equals(0L)){
legionActivityOrder.setLegionName("未参加活动");
legionActivityOrder.setUnionName("未参加活动");
@@ -278,15 +296,36 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
}

@Override
public Map<String, Integer> getStatistics(WxLegionActivityOrder wxLegionActivityOrder) {
List<LegionActivityOrderStatistics> auditStatusStatistics = wxLegionActivityOrderMapper.auditStatusStatistics(wxLegionActivityOrder);
Map<String, Integer> result = new HashMap<>();
public Map<String, Object> getStatistics(WxLegionActivityOrder wxLegionActivityOrder) {
Map<String, Object> result = new HashMap<>();
Integer audting = 0, audi_success = 0, audt_fail = 0, invalid = 0;
BigDecimal sum_success = BigDecimal.ZERO, sum_fail = BigDecimal.ZERO;

if(StringUtils.isNotBlank(wxLegionActivityOrder.getCusPhone())){
WxLegionActivityUser activityUserQ = new WxLegionActivityUser();
activityUserQ.setActivityId(wxLegionActivityOrder.getActivityId());
activityUserQ.setPhone(wxLegionActivityOrder.getCusPhone());
WxLegionActivityUser user = wxLegionActivityUserMapper.selectLimitOne(activityUserQ);
if(user == null){
result.put("cus_name","查无此人");
result.put("cus_phone",wxLegionActivityOrder.getCusPhone());
return result;
}else{
wxLegionActivityOrder.setCusId(user.getId());
result.put("cus_name",user.getName());
result.put("cus_phone",user.getPhone());
result.put("vip_num",user.getVipNum());
}
}

List<LegionActivityOrderStatistics> auditStatusStatistics = wxLegionActivityOrderMapper.auditStatusStatistics(wxLegionActivityOrder);

for(LegionActivityOrderStatistics statistics : auditStatusStatistics){
if(EnumLegionActivityOrderStatus.AUDTING.getCode().equals(statistics.getAuditStatus())){
audting = statistics.getCount();
} else if (EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode().equals(statistics.getAuditStatus())) {
audi_success = statistics.getCount();
sum_success = statistics.getSumMoney();
} else if (EnumLegionActivityOrderStatus.AUDT_FAIL.getCode().equals(statistics.getAuditStatus())) {
audt_fail = statistics.getCount();
} else if (EnumLegionActivityOrderStatus.INVALID.getCode().equals(statistics.getAuditStatus())) {
@@ -295,6 +334,7 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
}
result.put("audting",audting);
result.put("audi_success",audi_success);
result.put("sum_success",sum_success);
result.put("audt_fail",audt_fail);
result.put("invalid",invalid);
result.put("sum_count",audting+audi_success+audt_fail+invalid);


+ 6
- 1
mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml Прегледај датотеку

@@ -180,7 +180,8 @@

<select id="auditStatusStatistics" parameterType="com.iformall.domain.po.WxLegionActivityOrder" resultType="com.iformall.domain.vo.LegionActivityOrderStatistics">
SELECT audit_status as 'auditStatus',
count(1) as 'count'
count(1) as 'count',
IFNULL(sum(order_money),0) as 'sumMoney'
FROM wx_legion_activity_order
where 1 = 1
<if test=" null != tenantId and '' != tenantId">
@@ -199,6 +200,10 @@
and `merchant_id` = #{merchantId}
</if>

<if test=" null != cusId">
and `cus_id` = #{cusId}
</if>

<if test=" null != createDateBegin">
and `create_date` &gt;= #{createDateBegin}
</if>


+ 6
- 0
mallinkService/src/main/resources/mapper/WxLegionActivityUserMapper.xml Прегледај датотеку

@@ -191,4 +191,10 @@
</if>
</select>

<select id="selectLimitOne" parameterType="com.iformall.domain.po.WxLegionActivityUser" resultMap="BaseResultMap">
select <include refid="allColumns" /> from wx_legion_activity_user
<include refid="dynamicWhereConditions" />
limit 1
</select>

</mapper>

Loading…
Откажи
Сачувај