swagger mysql

dev_0531
zhenghuang 5 years ago
parent 3a9f4f6fcc
commit 23de097da9

@ -53,6 +53,17 @@ public class ActivityInstanceVO {
// @Size(min = 1, message = "请选择企业列表")
private List<PrivilageOrganizational> organizations;
@ApiModelProperty(value = "第一个店铺名", hidden = true)
private String storeName;
@ApiModelProperty(value = "所有店铺数", hidden = true)
private String storeCount;
@ApiModelProperty(value = "第一个公司名", hidden = true)
private String companyName;
@ApiModelProperty(value = "所有公司数", hidden = true)
private String companyCount;
@ApiModelProperty(value = "选择的店铺列表", required = true)
@NotNull(message = "请选择店铺列表")
@Size(min = 1, message = "请选择店铺列表")

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.kiisoo.ic.generalize.entity.PrivilageOrganizational;
import com.kiisoo.ic.store.entity.PoiStore;
import com.kiisoo.ic.store.entity.PoiStoreStaff;
import com.kiisoo.ic.store.entity.PoiStoreStaffVO;
import lombok.Data;
import java.util.Date;
@ -31,7 +32,7 @@ public class PromotionSrcVO {
private PromotionFriendsSrcVO friendsSrc;
private List<PoiStoreStaff> storeStaffs;
private List<PoiStoreStaffVO> storeStaffs;
private PoiStore store;

@ -0,0 +1,18 @@
package com.kiisoo.ic.activity.bean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel("移除活动导购")
@Data
public class RemoveStaffVO {
@ApiModelProperty(value = "要移除导购的userId", required = true)
Long user;
@ApiModelProperty(value = "当前登录用户id", required = true)
Long userId;
@ApiModelProperty(value = "活动实例ID", required = true)
Long instanceId;
}

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.kiisoo.ic.activity.bean.ActivityInstanceVO;
import com.kiisoo.ic.activity.bean.PromotionSrcVO;
import com.kiisoo.ic.activity.bean.PushPromotionsVO;
import com.kiisoo.ic.activity.bean.RemoveStaffVO;
import com.kiisoo.ic.activity.entity.PmnActivityInstance;
import com.kiisoo.ic.activity.entity.PmnPromotionFriendsSrc;
import com.kiisoo.ic.activity.entity.PmnPromotionSrc;
@ -89,7 +90,7 @@ public class WebAppActivityController extends BaseController {
List<PoiStoreStaff> staffs = poiStoreStaffDOMapper.selectBatchIds(ids);
for (PoiStoreStaff staff : staffs) {
PmnPromotionSrc create = pmnPromotionSrcService.createCode(staff, instanceId);
if (create != null) {
if (create == null) {
fails.add(staff);
} else {
success.add(staff);
@ -112,6 +113,23 @@ public class WebAppActivityController extends BaseController {
}
}
@ApiOperation(value = "店长-移除活动导购")
@PostMapping("/removeStaff")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "当前登录用户ID", dataType = "int", paramType = "form"),
@ApiImplicitParam(name = "user", value = "要移除导购的userId", dataType = "array", paramType = "form"),
@ApiImplicitParam(name = "instanceId", value = "活动ID", dataType = "array", paramType = "form"),
})
public Map<String, Object> removeStaff(@RequestBody RemoveStaffVO removeStaffVO){
try{
boolean remove = pmnPromotionSrcService.remove(Wrappers.<PmnPromotionSrc>lambdaQuery().eq(PmnPromotionSrc::getPromoterId, removeStaffVO.getUser()).eq(PmnPromotionSrc::getType, 1).eq(PmnPromotionSrc::getInstanceId, removeStaffVO.getInstanceId()));
return remove ? success() : fail();
} catch (Exception e) {
log.error("获取用户信息异常", e);
return fail();
}
}
@ApiOperation(value = "好友添加回调通知")
@PostMapping("/cb")
public Map<String, Object> turnBack(@RequestBody List<TurnBackDTO> turnBackDTOS) {

@ -23,6 +23,8 @@ public class PmnActivityStoreRelation {
private int status;
private Long orgId;
private Date createTime;
private Date updateTime;

@ -11,9 +11,11 @@ import com.kiisoo.ic.activity.bean.ActivityInstanceVO;
import com.kiisoo.ic.activity.mapper.PmnActivityInstanceDOMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kiisoo.ic.domain.service.PrivilageDomainService;
import com.kiisoo.ic.generalize.entity.PrivilageOrganizational;
import com.kiisoo.ic.generalize.mapper.RetailCompanyMapper;
import com.kiisoo.ic.generalize.service.RetailCompanyService;
import com.kiisoo.ic.store.entity.PoiStore;
import com.kiisoo.ic.store.mapper.PoiStoreDOMapper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
@ -65,6 +67,9 @@ public class PmnActivityInstanceServiceImpl extends ServiceImpl<PmnActivityInsta
@Autowired
private PrivilageDomainService privilageDomainService;
@Autowired
private PoiStoreDOMapper poiStoreDOMapper;
@Transactional
public boolean saveVO(ActivityInstanceVO activityInstanceVO, boolean isTerminate) {
// TODO 创建活动实例的时候,自动关联一个 activity_promotion_case 一对一关系
@ -123,6 +128,7 @@ public class PmnActivityInstanceServiceImpl extends ServiceImpl<PmnActivityInsta
}
List<Long> storeIds = new ArrayList<>();
for (PoiStore store : activityInstanceVO.getStores()) {
PrivilageOrganizational org = poiStoreDOMapper.findStoreCompany(store.getId());
PmnActivityStoreRelation pmnActivityStoreRelation = new PmnActivityStoreRelation();
pmnActivityStoreRelation.setUpdateTime(new Date());
pmnActivityStoreRelation.setStoreId(store.getId());
@ -130,6 +136,7 @@ public class PmnActivityInstanceServiceImpl extends ServiceImpl<PmnActivityInsta
pmnActivityStoreRelation.setCreateTime(new Date());
pmnActivityStoreRelation.setStatus(pmnActivityInstance.getStatus().intValue());
pmnActivityStoreRelation.setCaseId(pmnActivityPromotionCase.getId());
pmnActivityStoreRelation.setOrgId(org.getId());
pmnActivityStoreRelationService.saveOrUpdate(pmnActivityStoreRelation, Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, pmnActivityInstance.getId()).eq(PmnActivityStoreRelation::getStoreId, store.getId()));
storeIds.add(store.getId());
}

@ -19,9 +19,11 @@ import com.kiisoo.ic.activity.service.IPmnPromotionSrcService;
import com.kiisoo.ic.constants.Constants;
import com.kiisoo.ic.store.entity.PoiStore;
import com.kiisoo.ic.store.entity.PoiStoreStaff;
import com.kiisoo.ic.store.entity.PoiStoreStaffVO;
import com.kiisoo.ic.store.mapper.PoiStoreDOMapper;
import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper;
import com.kiisoo.ic.store.service.StoreEmployeeService;
import com.kiisoo.ic.system.bean.PrivilageUserBean;
import com.kiisoo.ic.system.entity.PrivilageAccountDO;
import com.kiisoo.ic.system.entity.PrivilageRoleDO;
import com.kiisoo.ic.system.entity.PrivilageUserDO;
@ -98,7 +100,7 @@ public class PmnPromotionSrcServiceImpl extends ServiceImpl<PmnPromotionSrcDOMap
} else {
return lists;
}
if(type.equals(2L)) {
if (type.equals(2L)) {
userId = staff.getStoreId();
}
List<PmnPromotionSrc> srcs = list(Wrappers.<PmnPromotionSrc>lambdaQuery().eq(PmnPromotionSrc::getPromoterId, userId).eq(PmnPromotionSrc::getType, type));
@ -126,7 +128,7 @@ public class PmnPromotionSrcServiceImpl extends ServiceImpl<PmnPromotionSrcDOMap
}
vo.setInstanceVO(instance);
vo.setQrCode("/activity/" + src.getCode() + ".png");
if(type.equals(2L)) {
if (type.equals(2L)) {
QueryWrapper<PoiStoreStaff> wrapper = new QueryWrapper<>();
//如果有店铺则查店铺
wrapper.eq("store_id", staff.getStoreId());
@ -134,16 +136,27 @@ public class PmnPromotionSrcServiceImpl extends ServiceImpl<PmnPromotionSrcDOMap
wrapper.eq("status", 1);
wrapper.ne("user_id", 0);
wrapper.orderByDesc("id");
wrapper.select("id");
wrapper.select("user_id");
//返回店铺对应的导购
List<PoiStoreStaff> poiStoreStaffs = poiStoreStaffDOMapper.selectList(wrapper);
List<Long> userIds = poiStoreStaffs.stream().map(PoiStoreStaff::getId).collect(Collectors.toList());
List<Long> userIds = poiStoreStaffs.stream().map(PoiStoreStaff::getUserId).collect(Collectors.toList());
List<PmnPromotionSrc> staffSrcs = pmnPromotionSrcService.list(Wrappers.<PmnPromotionSrc>lambdaQuery().in(PmnPromotionSrc::getPromoterId, userIds).eq(PmnPromotionSrc::getType, 1).select(PmnPromotionSrc::getPromoterId).eq(PmnPromotionSrc::getInstanceId, src.getInstanceId()));
List<Long> staffSrcUsers = staffSrcs.stream().map(PmnPromotionSrc::getPromoterId).collect(Collectors.toList());
List<PoiStoreStaff> storeStaffs;
if(staffSrcUsers.size() > 0) {
storeStaffs = poiStoreStaffDOMapper.selectBatchIds(staffSrcUsers);
vo.setStoreStaffs(storeStaffs);
if (staffSrcUsers.size() > 0) {
storeStaffs = poiStoreStaffDOMapper.selectList(Wrappers.<PoiStoreStaff>lambdaQuery().in(PoiStoreStaff::getUserId, staffSrcUsers));
List<PoiStoreStaffVO> staffVOs = new ArrayList<>();
for (PoiStoreStaff s : storeStaffs) {
PoiStoreStaffVO staffVO = new PoiStoreStaffVO();
BeanUtils.copyProperties(s, staffVO);
PrivilageUserBean privilageUserBean = privilageUserDOMapper.selectUserInfoAndRoleInfo(s.getUserId());
if(null != privilageUserBean){
staffVO.setName(privilageUserBean.getName());
staffVO.setMobil(privilageUserBean.getMobil());
}
staffVOs.add(staffVO);
}
vo.setStoreStaffs(staffVOs);
}
}
lists.add(vo);
@ -157,7 +170,7 @@ public class PmnPromotionSrcServiceImpl extends ServiceImpl<PmnPromotionSrcDOMap
try {
Long promoterId = staff.getUserId();
int type = 1;
if(staff.getType().equals(1L)) {
if (staff.getType().equals(1L)) {
promoterId = staff.getStoreId();
type = 0;
}
@ -180,7 +193,7 @@ public class PmnPromotionSrcServiceImpl extends ServiceImpl<PmnPromotionSrcDOMap
saveSrc.setUpdateTime(new Date());
saveSrc.setStatus(1L);
String url = storeEmployeeService.createActivityQrCode(staff.getStaffCode(), staff.getStoreCode(), type, instanceId, promoterId);
if(url == null || url.length() <= 0) {
if (url == null || url.length() <= 0) {
url = "https://wework.qpic.cn/wwpic/789548_SW5hhAm-TgyEW0F_1590128879/0"; //测试用
}
saveSrc.setQrCode(url);
@ -206,7 +219,7 @@ public class PmnPromotionSrcServiceImpl extends ServiceImpl<PmnPromotionSrcDOMap
List<PromotionSrcVO> srcs = new ArrayList<>();
for (PmnActivityStoreRelation store : storeRelations.getRecords()) {
PmnPromotionSrc src = getOne(Wrappers.<PmnPromotionSrc>lambdaQuery().eq(PmnPromotionSrc::getPromoterId, store.getStoreId()).eq(PmnPromotionSrc::getInstanceId, instanceId).eq(PmnPromotionSrc::getType, 2).last("limit 0,1"));
if(src == null || src.getCode() == null) {
if (src == null || src.getCode() == null) {
PoiStoreStaff staff = poiStoreStaffDOMapper.selectOne(Wrappers.<PoiStoreStaff>lambdaQuery().eq(PoiStoreStaff::getStoreId, store.getStoreId()).eq(PoiStoreStaff::getType, 1).ne(PoiStoreStaff::getUserId, 0).eq(PoiStoreStaff::getDeleted, 0).eq(PoiStoreStaff::getStatus, 1));
src = createCode(staff, instanceId);
}

@ -9,14 +9,18 @@
<result column="end_time" property="endTime"/>
<result column="status" property="status"/>
<result column="id" property="id"/>
<result column="store_name" property="storeName"/>
<result column="store_count" property="storeCount"/>
<result column="company_name" property="companyName"/>
<result column="company_count" property="companyCount"/>
<collection property="params" javaType="ArrayList"
column="id" ofType="com.kiisoo.ic.activity.entity.PmnActivityPromotionParam"
select="selectParamsByInstanceId">
</collection>
<collection property="stores" javaType="ArrayList"
column="id" ofType="com.kiisoo.ic.store.entity.PoiStore"
select="selectStoresByInstanceId">
</collection>
<!-- <collection property="stores" javaType="ArrayList"-->
<!-- column="id" ofType="com.kiisoo.ic.store.entity.PoiStore"-->
<!-- select="selectStoresByInstanceId" fetchType="lazy">-->
<!-- </collection>-->
</resultMap>
<select id="selectParamsByInstanceId" parameterType="int"
resultType="com.kiisoo.ic.activity.entity.PmnActivityPromotionParam">
@ -37,7 +41,13 @@ select * from pmn_activity_promotion_param where id in(select param_id from pmn_
</select>
<select id="pageVO" resultMap="activityInstanceVOMap">
select t.* from pmn_activity_instance t where 1 =1
select t.*,t1.store_count,t2.abbreviation as store_name,t3.company_count,t4.name as company_name
from pmn_activity_instance t
left join (select instance_id, count(1) as store_count,store_id,org_id from pmn_activity_store_relation group by instance_id) t1 on t.id=t1.instance_id
left join poi_store t2 on t2.id=t1.store_id
left join (select instance_id, count(DISTINCT org_id) as company_count,store_id from pmn_activity_store_relation group by instance_id) t3 on t.id=t3.instance_id
left join privilage_organizational t4 on t4.id=t1.org_id
where 1 =1
<if test="storeId != null">
and t.id in (select instance_id from pmn_activity_store_relation where
store_id=#{storeId}
@ -51,21 +61,26 @@ select * from pmn_activity_promotion_param where id in(select param_id from pmn_
</foreach>
)
</if>
<if test="organizationId != null and organizationId != ''">
and t.id in (select instance_id from pmn_activity_store_relation where
org_id = #{organizationId})
</if>
<if test="status != null">
and t.status >= #{status}
and t.status = #{status}
</if>
<if test="startDate != null">
and t.create_time >= #{startDate}
</if>
<if test="endDate != null">
and t.create_time <![CDATA[ < ]]> #{endDate}
and t.create_time <![CDATA[ <= ]]> #{endDate}
</if>
<if test="beginTime != null">
and t.begim_time <![CDATA[ < ]]> #{beginTime}
and t.begin_time >= #{beginTime}
</if>
<if test="endTime != null">
and t.end_time <![CDATA[ <= ]]> #{endTime}
</if>
and t.status &lt;&gt; 4
order by create_time desc
</select>

@ -1,18 +1,38 @@
package test;
import com.kiisoo.ic.activity.entity.PmnActivityStoreRelation;
import com.kiisoo.ic.activity.service.IPmnActivityStoreRelationService;
import com.kiisoo.ic.app.IcApplication;
import com.kiisoo.ic.generalize.entity.PrivilageOrganizational;
import com.kiisoo.ic.store.mapper.PoiStoreDOMapper;
import com.kiisoo.ic.wx.service.AddWXService;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = IcApplication.class)
public class Test {
@Autowired
AddWXService addWXService;
@Autowired
PoiStoreDOMapper poiStoreDOMapper;
@Autowired
IPmnActivityStoreRelationService pmnActivityStoreRelationService;
@org.junit.Test
public void fillStoreCompany(){
List<PmnActivityStoreRelation> relations = pmnActivityStoreRelationService.list();
relations.stream().forEach(item -> {
PrivilageOrganizational org = poiStoreDOMapper.findStoreCompany(item.getStoreId());
item.setOrgId(org.getId());
pmnActivityStoreRelationService.updateById(item);
});
}
@org.junit.Test
public void te(){

Loading…
Cancel
Save