feat:handleDecorationTeam
This commit is contained in:
@@ -1,9 +1,16 @@
|
||||
package com.cool.store.dao.decoration;
|
||||
|
||||
import com.cool.store.dao.HyOpenAreaInfoDAO;
|
||||
import com.cool.store.dto.decoration.DecorationListDTO;
|
||||
import com.cool.store.entity.HyOpenAreaInfoDO;
|
||||
import com.cool.store.entity.decoration.ShopDecorationAssignDO;
|
||||
import com.cool.store.mapper.decoration.ShopDecorationAssignMapper;
|
||||
import com.cool.store.request.decoration.DecorationListRequest;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
@@ -15,7 +22,50 @@ public class ShopDecorationAssignDAO {
|
||||
|
||||
@Resource
|
||||
private ShopDecorationAssignMapper shopDecorationAssignMapper;
|
||||
@Resource
|
||||
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
|
||||
|
||||
|
||||
public Integer insert(ShopDecorationAssignDO shopDecorationAssignDO) {
|
||||
if (shopDecorationAssignDO == null){
|
||||
return 0;
|
||||
}
|
||||
return shopDecorationAssignMapper.insert(shopDecorationAssignDO);
|
||||
}
|
||||
|
||||
public ShopDecorationAssignDO getById(Long id) {
|
||||
if (id == null){
|
||||
return null;
|
||||
}
|
||||
return shopDecorationAssignMapper.selectByPrimaryKey(id);
|
||||
}
|
||||
|
||||
public Integer update(ShopDecorationAssignDO shopDecorationAssignDO) {
|
||||
if (shopDecorationAssignDO == null){
|
||||
return 0;
|
||||
}
|
||||
return shopDecorationAssignMapper.updateByPrimaryKey(shopDecorationAssignDO);
|
||||
}
|
||||
|
||||
public Integer countByTeamId(Long teamId) {
|
||||
if (teamId == null){
|
||||
return 0;
|
||||
}
|
||||
return shopDecorationAssignMapper.countByTeamId(teamId);
|
||||
}
|
||||
|
||||
public List<DecorationListDTO> listByCondition(DecorationListRequest request) {
|
||||
if (request == null){
|
||||
return null;
|
||||
}
|
||||
if (request.getWantShopAreaId()!=null){
|
||||
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(request.getWantShopAreaId());
|
||||
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = hyOpenAreaInfoDAO.queryByKeyword(hyOpenAreaInfoDO.getAreaPath(), null, null, false);
|
||||
List<Long> wantShopAreaIds = hyOpenAreaInfoDOList.stream().map(HyOpenAreaInfoDO::getId).collect(Collectors.toList());
|
||||
request.setWantShopAreaIds(wantShopAreaIds);
|
||||
}
|
||||
return shopDecorationAssignMapper.listByCondition(request);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,30 @@
|
||||
package com.cool.store.mapper.decoration;
|
||||
|
||||
import com.cool.store.dto.decoration.DecorationListDTO;
|
||||
import com.cool.store.entity.decoration.ShopDecorationAssignDO;
|
||||
import com.cool.store.request.decoration.DecorationListRequest;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import tk.mybatis.mapper.common.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ShopDecorationAssignMapper extends Mapper<ShopDecorationAssignDO> {
|
||||
|
||||
|
||||
/**
|
||||
* 查询团队被门店使用次数
|
||||
* @param teamId
|
||||
* @return
|
||||
*/
|
||||
Integer countByTeamId(Long teamId);
|
||||
|
||||
/**
|
||||
* 查询分配装修团队列表
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
List<DecorationListDTO> listByCondition(@Param("request") DecorationListRequest request);
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -12,4 +12,64 @@
|
||||
<result column="created_time" jdbcType="TIMESTAMP" property="createdTime" />
|
||||
<result column="updated_time" jdbcType="TIMESTAMP" property="updatedTime" />
|
||||
</resultMap>
|
||||
|
||||
<select id="countByTeamId" resultType="java.lang.Integer">
|
||||
select count(1) from shop_decoration_assign where decoration_team_id = #{teamId}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="listByCondition" resultType="com.cool.store.dto.decoration.DecorationListDTO">
|
||||
SELECT
|
||||
zsda.shop_id AS shopId,
|
||||
zsda.decoration_desc_status as decorationDescStatus,
|
||||
xsi.shop_name AS shopName,
|
||||
xsi.shop_code AS shopCode,
|
||||
xsi.region_id AS regionId,
|
||||
xsi.province AS province,
|
||||
xsi.city AS city,
|
||||
xsi.district AS district,
|
||||
xsi.detail_address AS detailAddress,
|
||||
xsi.store_type AS storeType,
|
||||
xsf.sign_type AS signType
|
||||
FROM zxjp_shop_decoration_assign zsda
|
||||
LEFT JOIN xfsg_shop_info xsi ON zsda.shop_id = xsi.id
|
||||
LEFT JOIN xfsg_sign_franchise xsf ON zsda.shop_id = xsf.shop_id
|
||||
<where>
|
||||
<if test="keyword != null and keyword != ''">
|
||||
AND (xsi.shop_name LIKE CONCAT('%', #{keyword}, '%') OR xsi.shop_code LIKE CONCAT('%', #{keyword}, '%'))
|
||||
</if>
|
||||
<if test="storeType != null">
|
||||
AND xsi.store_type = #{storeType}
|
||||
</if>
|
||||
<if test="signType != null">
|
||||
AND xsf.sign_type = #{signType}
|
||||
</if>
|
||||
<if test="regionId != null">
|
||||
AND xsi.region_id = #{regionId}
|
||||
</if>
|
||||
<if test="province != null and province != ''">
|
||||
AND xsi.province = #{province}
|
||||
</if>
|
||||
<if test="city != null and city != ''">
|
||||
AND xsi.city = #{city}
|
||||
</if>
|
||||
<if test="district != null and district != ''">
|
||||
AND xsi.district = #{district}
|
||||
</if>
|
||||
<if test="decorationDescStatus != null">
|
||||
AND zsda.decoration_desc_status = #{decorationDescStatus}
|
||||
</if>
|
||||
<if test="wantShopAreaIds != null and wantShopAreaIds.size() > 0">
|
||||
and b.want_shop_area_id in
|
||||
<foreach collection="wantShopAreaIds" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user