杂记

1 springboot项目中将文件存放项目中的resouces目录下访问

// 获取授权文件路径
		  String path = Thread.currentThread().getContextClassLoader()
		    .getResource("文件名").getPath();

2 springboot中将不断生成的项目文件存放在linux/windowns中的tomcat目录中;(最好存放在文件服务器中)

long currentTimeMillis = System.currentTimeMillis();
String path = System.getProperty("catalina.home");// /usr/local/tomcat
File mdirfile = new File(path + resoucepath);
if (!mdirfile.exists()) {// 如果文件夹不存在
	mdirfile.mkdir();// 创建文件夹
}
 String pripath = path + resoucepath + "/" + "文件名称"+ "_"+ currentTimeMillis;
File mfile = new File(pripath );
file.transferTo(mfile);//其中file是MultipartFile类型
public void writeToFile(String filePath, String content) {
		try {// 流的套接
			FileOutputStream fout = new FileOutputStream(filePath);
			DataOutputStream dout = new DataOutputStream(fout);
			try {
				File writeName = new File(filePath); // 相对路径,如果没有则要建立一个新的output.txt文件
				writeName.createNewFile(); // 创建新文件,有同名的文件的话直接覆盖
				try (FileWriter writer = new FileWriter(writeName);
						BufferedWriter out = new BufferedWriter(writer)) {
					out.write(content);
					out.flush(); // 把缓存区内容压入文件
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
			fout.close();
			dout.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
public static Object readFromFile(String fileName) throws Exception {
		String resultCode = "";
		File file = new File(fileName);
		// InputStream in = null;
		if (file.isFile() && file.exists()) { // 判断文件是否存在
			FileInputStream fis = new FileInputStream(file);
			// Construct BufferedReader from InputStreamReader
			BufferedReader br = new BufferedReader(new InputStreamReader(fis));
			String line = null;
			while ((line = br.readLine()) != null) {
				resultCode += line;
			}
			br.close();
			fis.close();
		} else {
			Slf4jLogUtil.info("找不到指定的文件,请确认文件路径是否正确");
			return null;
	
		}
		return resultCode;
	}

3 下载文件

DownloadUtil du = new DownloadUtil();
du.download(“文件路径”, “返回的文件名称”, response, “是否删除文件”);
package com.people.util;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;

import org.w3c.dom.ranges.RangeException;

import com.people.common.exception.RRException;
import com.people.exception.RRExceptionHandler;


public class DownloadUtil {
	
	/**
	 * @param filePath 要下载的文件路径
	 * @param returnName 返回的文件名
	 * @param response HttpServletResponse
	 * @param delFlag 是否删除文件
	 */
	public void download(String filePath,String returnName,HttpServletResponse response,boolean delFlag) throws Exception{
		this.prototypeDownload(new File(filePath), returnName, response, delFlag);
	}

	/**
	 * @param file 要下载的文件
	 * @param returnName 返回的文件名
	 * @param response HttpServletResponse
	 * @param delFlag 是否删除文件
	 */
	protected void download(File file,String returnName,HttpServletResponse response,boolean delFlag) throws Exception{
		this.prototypeDownload(file, returnName, response, delFlag);
	}
	
	/**
	 * @param file 要下载的文件
	 * @param returnName 返回的文件名
	 * @param response HttpServletResponse
	 * @param delFlag 是否删除文件
	 */
	public void prototypeDownload(File file,String returnName,HttpServletResponse response,boolean delFlag) throws Exception{
		// 下载文件
		FileInputStream inputStream = null;
		ServletOutputStream outputStream = null;
		if(!file.exists()){
			throw new RRException("文件不存在!");
		}
		try {
			response.reset();
			//设置响应类型	PDF文件为"application/pdf",WORD文件为:"application/msword", EXCEL文件为:"application/vnd.ms-excel"。  
			response.setContentType("application/octet-stream;charset=utf-8");

			//设置响应的文件名称,并转换成中文编码
			//returnName = URLEncoder.encode(returnName,"UTF-8");
			returnName = response.encodeURL(new String(returnName.getBytes(),"iso8859-1"));	//保存的文件名,必须和页面编码一致,否则乱码
			
			//attachment作为附件下载;inline客户端机器有安装匹配程序,则直接打开;注意改变配置,清除缓存,否则可能不能看到效果
			response.addHeader("Content-Disposition",   "attachment;filename="+returnName);  
			
			//将文件读入响应流
			inputStream = new FileInputStream(file);
			outputStream = response.getOutputStream();
			int length = 1024;
			int readLength=0;
			byte buf[] = new byte[1024];
			readLength = inputStream.read(buf, 0, length);
			while (readLength != -1) {
				outputStream.write(buf, 0, readLength);
				readLength = inputStream.read(buf, 0, length);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				outputStream.flush();
			} catch (IOException e) {
				e.printStackTrace();
			}
			try {
				outputStream.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			try {
				inputStream.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			//删除原文件
			
			if(delFlag) {				
				file.delete();
			}
		}
	}

	/**
	 * by tony 2013-10-17
	 * @param byteArrayOutputStream 将文件内容写入ByteArrayOutputStream
	 * @param response HttpServletResponse	写入response
	 * @param returnName 返回的文件名
	 */
	public void download(ByteArrayOutputStream byteArrayOutputStream, HttpServletResponse response, String returnName) throws IOException{
		response.setContentType("application/octet-stream;charset=utf-8");
		returnName = response.encodeURL(new String(returnName.getBytes(),"iso8859-1"));			//保存的文件名,必须和页面编码一致,否则乱码
		response.addHeader("Content-Disposition",   "attachment;filename=" + returnName);  
		response.setContentLength(byteArrayOutputStream.size());
		
		ServletOutputStream outputstream = response.getOutputStream();	//取得输出流
		byteArrayOutputStream.writeTo(outputstream);					//写到输出流
		byteArrayOutputStream.close();									//关闭
		outputstream.flush();											//刷数据
	}
}
package com.people.util;

import java.io.File;

import com.people.common.utils.Slf4jLogUtil;

public class FileUtis {

	/**
	 * 判断指定的文件或文件夹删除是否成功
	 * 
	 * @param FileName
	 *            文件或文件夹的路径
	 * @return true or false 成功返回true,失败返回false
	 */
	public static boolean deleteAnyone(String FileName) {

		File file = new File(FileName);// 根据指定的文件名创建File对象

		if (!file.exists()) { // 要删除的文件不存在
			System.out.println("文件" + FileName + "不存在,删除失败!");
			Slf4jLogUtil.error("文件" + FileName + "不存在,删除失败!");
			return false;
		} else { // 要删除的文件存在

			if (file.isFile()) { // 如果目标文件是文件

				return deleteFile(FileName);

			} else { // 如果目标文件是目录
				return deleteDir(FileName);
			}
		}
	}

	/**
	 * 判断指定的文件删除是否成功
	 * 
	 * @param FileName
	 *            文件路径
	 * @return true or false 成功返回true,失败返回false
	 */
	public static boolean deleteFile(String fileName) {

		File file = new File(fileName);// 根据指定的文件名创建File对象

		if (file.exists() && file.isFile()) { // 要删除的文件存在且是文件

			if (file.delete()) {
				System.out.println("文件" + fileName + "删除成功!");
				 Slf4jLogUtil.info("文件" + fileName + "删除成功!");
				return true;
			} else {
				System.out.println("文件" + fileName + "删除失败!");
				  Slf4jLogUtil.error("文件" + fileName + "删除失败!");
				return false;
			}
		} else {

			System.out.println("文件" + fileName + "不存在,删除失败!");
		    Slf4jLogUtil.error("文件" + fileName + "不存在,删除失败!");
			return false;
		}

	}

	/**
	 * 删除指定的目录以及目录下的所有子文件
	 * 
	 * @param dirName
	 *            is 目录路径
	 * @return true or false 成功返回true,失败返回false
	 */
	public static boolean deleteDir(String dirName) {

		if (dirName.endsWith(File.separator))// dirName不以分隔符结尾则自动添加分隔符
			dirName = dirName + File.separator;

		File file = new File(dirName);// 根据指定的文件名创建File对象

		if (!file.exists() || (!file.isDirectory())) { // 目录不存在或者
			System.out.println("目录删除失败" + dirName + "目录不存在!");
		    Slf4jLogUtil.error("目录删除失败" + dirName + "目录不存在!");
			return false;
		}

		File[] fileArrays = file.listFiles();// 列出源文件下所有文件,包括子目录

		for (int i = 0; i < fileArrays.length; i++) {// 将源文件下的所有文件逐个删除

			FileUtis.deleteAnyone(fileArrays[i].getAbsolutePath());

		}

		if (file.delete())// 删除当前目录
			System.out.println("目录" + dirName + "删除成功!");
            Slf4jLogUtil.info("目录" + dirName + "删除成功!");
		return true;

	}

	/** 删除指定目录下的文件(包括目录) **/
	public static void main(String[] args) {

		// 创建目标文件路径
		String fileName = "C://Users//zhaozhiqiang//Desktop//yinni-api.war";
		boolean deleteAnyone = FileUtis.deleteAnyone(fileName);// 调用删除目标文件方法

	}

}

4返回属性时候注解

@JsonIgnore  //不管是将 java 对象转换成 json 字符串,还是将 json 字符串转换成 java 对象。都会忽略
    private Timestamp createTime;

   

@JsonIgnoreProperties 和 @JsonIgnore 的作用相同,都是告诉 Jackson 该忽略哪些属性,
不同之处是 @JsonIgnoreProperties 是类级别的,并且可以同时指定多个属性。

@JsonIgnoreProperties(value = {"createTime","updateTime"})

   public class SellerInfoEntity {
     private Timestamp createTime;
    private Timestamp updateTime;
 }

只在序列化情况下生效的注解

 @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private String password;

5 mybatis注解sql开发

public interface GoodsDao extends BaseMapper<GoodsEntity> {
	//降序
	@Select({"<script>","SELECT * FROM goods <if test='name!=null'> WHERE NAME LIKE CONCAT('%',#{name},'%')</if> ORDER BY price DESC","</script>"})
	 List<GoodsEntity> selectListDESC(GoodsEntity goodsEntity);
	//升序
	@Select({"<script>","SELECT * FROM goods <if test='name!=null'> WHERE NAME LIKE CONCAT('%',#{name},'%')</if> ORDER BY price ASC","</script>"})
	 List<GoodsEntity> selectListASC(GoodsEntity goodsEntity);
	//默認
	@Select({"<script>","SELECT * FROM goods <if test='name!=null'> WHERE NAME LIKE CONCAT('%',#{name},'%')</if>" ,"</script>"})
	 List<GoodsEntity> selectList(GoodsEntity goodsEntity);
    //<if test 使用
    @Select({
			"<script>",
			"select * from auth_log where user_id = #{userId} and token_id =  #{tokenId} "
					 +
					 "<if test='accountId != null'> and account_id =  #{accountId}  </if> "
					+ "and auth_passwd =  #{authPwd} and date(created_at) = curdate() "
					+ "and deleted_at is null limit 10", "</script>" })
	public List<AuthLogEntity> getAuthLogList(QueryAuthLogVo queryVo);
}
/**
	 * 单参数List 类型
	 * @param list2
	 */
	@Update({
			"<script>",
			"UPDATE seed_operation SET opera_type ='1' ,updated_at =NOW()  "
					+ "WHERE serial_number IN ",
					"<foreach collection='list' item='ss' open='(' separator=',' close=')'>",
					" #{ss} ",
					"</foreach>",
			"</script>" })
	void updateTypeAndTimeList(List<String> list2);
	/**
	 * 单参数array 类型
	 * @param array
	 */
	@Update({
			"<script>",
			"UPDATE seed_operation SET opera_type ='1' ,updated_at =NOW()  "
					+ "WHERE serial_number IN ",
					"<foreach collection='array' item='ss' open='(' separator=',' close=')'>",
					" #{ss} ",
					"</foreach>",
			"</script>" })
	void updateTypeAndTimearray(String[] array);
	
	/**
	 * 自己把参数封装成Map的类型
	 * @param Map
	 */
	@Update({
			"<script>",
			"UPDATE seed_operation SET opera_type ='1' ,updated_at =NOW()  "
					+ "WHERE serial_number IN ",
					"<foreach collection='ids' item='ss' open='(' separator=',' close=')'>",
					" #{ss} ",
					"</foreach>",
			"</script>" })
	void updateTypeAndTimeMap(Map map);

 

 

6 mybatis中的mapper xml开发

<?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.people2000.mzadmin.business.dao.ext.AdCarouselMapperExt">
	<resultMap id="BaseResultMap" type="com.people2000.mzadmin.model.po.AdCarousel">
		<id column="id" jdbcType="BIGINT" property="id" />
		<result column="ad_code" jdbcType="VARCHAR" property="adCode" />
		<result column="pic_url" jdbcType="VARCHAR" property="picUrl" />
		<result column="pic_link_url" jdbcType="VARCHAR" property="picLinkUrl" />
		<result column="pic_sort" jdbcType="INTEGER" property="picSort" />
		<result column="is_available" jdbcType="INTEGER" property="isAvailable" />
		<result column="is_deleted" jdbcType="INTEGER" property="isDeleted" />
		<result column="create_user" jdbcType="BIGINT" property="createUser" />
		<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
		<result column="update_user" jdbcType="BIGINT" property="updateUser" />
		<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
	</resultMap>
	<sql id="Base_Column_List">
		id, ad_code, pic_url, pic_link_url, pic_sort, is_available,
		is_deleted,
		create_user,
		create_time, update_user, update_time
	</sql>
	<sql id="baseWhereCase">
		<where>
			and is_deleted=0
			<if test="isAvailable != null"> and is_available=1</if>
			<if test="adCode != null and adCode != ''"> and ad_code=#{adCode,jdbcType=VARCHAR}</if>
			<if test="ids != null and ids.size() > 0">
				and id in
				<foreach collection="ids" item="id" open="(" close=")"
					separator=",">
					#{id,jdbcType=BIGINT}
				</foreach>
			</if>
		</where>
	</sql>

	<!-- 根据条件查询列表 -->
	<select id="queryAdCarouselList" parameterType="com.people2000.mzadmin.model.vo.AdCarouselQueryVo"
		resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from ad_carousel
		<include refid="baseWhereCase"></include>
		order by pic_sort
	</select>

	<!-- 根据条件查询列表 -->
	<select id="queryAdCarouselPage" parameterType="com.people2000.mzadmin.model.vo.AdCarouselQueryVo"
		resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from ad_carousel
		<include refid="baseWhereCase"></include>
		order by update_time
		limit
		#{startItem,jdbcType=INTEGER},#{itemsPerPage,jdbcType=INTEGER}
	</select>

	<!-- 根据条件统计数量 -->
	<select id="countAdCarousel" resultType="java.lang.Integer"
		parameterType="com.people2000.mzadmin.model.vo.AdCarouselQueryVo">
		select
		count(1)
		from
		ad_carousel
		<include refid="baseWhereCase"></include>
	</select>
</mapper>
<?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.people2000.mzadmin.business.dao.ext.BaseDicMapperExt">
  <resultMap id="BaseResultMap" type="com.people2000.mzadmin.model.po.BaseDic" extends="com.people2000.mzadmin.business.dao.BaseDicMapper.BaseResultMap">
  </resultMap>
  <sql id="Base_Column_List">
    id, dic_key, dic_pkey, dic_value, dic_comment
  </sql>
  <sql id="baseWhereCase">
      <where>
          <if test="dicKeys != null and dicKeys.size() > 0">
          and dicKey in 
          	<foreach collection="dicKeys" item="dicKey" open="(" close=")" separator=",">
          		#{dicKey,jdbcType=INTEGER}
          	</foreach>
          </if>
          <if test="dicKey != null ">and dic_key = #{dicKey,jdbcType=INTEGER}</if>
          <if test="dicPkey != null ">and dic_pkey = #{dicPkey,jdbcType=INTEGER}</if>
      </where>
  </sql>
  
  <!-- 根据条件查询列表-->
  <select id="queryBaseDicList" parameterType="com.people2000.mzadmin.model.vo.BaseDicQueryVo"
      resultMap="BaseResultMap">
      select
      <include refid="Base_Column_List" />
      from base_dic
      <include refid="baseWhereCase"></include>
      order by dic_key
  </select>
  
  <!-- 根据条件查询分页-->
  <select id="queryBaseDicPage" parameterType="com.people2000.mzadmin.model.vo.BaseDicQueryVo"
      resultMap="BaseResultMap">
      select
      <include refid="Base_Column_List" />
      from base_dic
      <include refid="baseWhereCase"></include>
      order by dic_key
      limit
      #{startItem,jdbcType=INTEGER},#{itemsPerPage,jdbcType=INTEGER}
  </select>

  <!-- 根据条件统计数量-->
  <select id="countBaseDic" resultType="java.lang.Integer"
      parameterType="com.people2000.mzadmin.model.vo.BaseDicQueryVo">
      select
      count(1)
      from
      base_dic
      <include refid="baseWhereCase"></include>
  </select>
</mapper>
<?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.people2000.mzadmin.business.dao.ext.CommunityActivityOrderMapperExt">
	<resultMap id="BaseResultMap"
		type="com.people2000.mzadmin.model.po.CommunityActivityOrder">
		<id column="id" jdbcType="BIGINT" property="id" />
		<result column="order_code" jdbcType="VARCHAR" property="orderCode" />
		<result column="user_name" jdbcType="VARCHAR" property="userName" />
		<result column="user_phone" jdbcType="INTEGER" property="userPhone" />
		<result column="order_source" jdbcType="INTEGER" property="orderSource" />
		<result column="activity_name" jdbcType="VARCHAR" property="activityName" />
		<result column="activity_time" jdbcType="VARCHAR" property="activityTime" />
		<result column="activity_place" jdbcType="VARCHAR" property="activityPlace" />
		<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
		<result column="total_amount" jdbcType="DECIMAL" property="totalAmount" />
		<result column="pay_way" jdbcType="INTEGER" property="payWay" />
		<result column="status" jdbcType="INTEGER" property="status" />
		<result column="is_entry" jdbcType="SMALLINT" property="isEntry" />
		<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
		<result column="is_deleted" jdbcType="INTEGER" property="isDeleted" />
		<result column="is_available" jdbcType="INTEGER" property="isAvailable" />
		<result column="create_user_id" jdbcType="BIGINT" property="createUserId" />
		<result column="update_user" jdbcType="BIGINT" property="updateUser" />
		<result column="bar_num" jdbcType="INTEGER" property="barNum" />
		<result column="bar_area" jdbcType="VARCHAR" property="barArea" />
		<result column="refund_state" jdbcType="INTEGER" property="refundState" />
		<result column="isPlus" jdbcType="INTEGER" property="isplus" />
		<result column="out_state" jdbcType="INTEGER" property="outState" />
		<result column="out_code" jdbcType="INTEGER" property="outCode" />
		<result column="main_type" jdbcType="INTEGER" property="mainType" />
		<result column="pay_state" jdbcType="INTEGER" property="payState" />
		<result column="pay_time" jdbcType="TIMESTAMP" property="payTime" />
		<result column="reserve_name" jdbcType="VARCHAR" property="reserveName" />
		<result column="reserve_phone" jdbcType="VARCHAR" property="reservePhone" />
		<result column="community_activity_id" jdbcType="BIGINT"
			property="communityActivityId" />
		<result column="surface_picture" jdbcType="VARCHAR" property="surfacePicture" />
		<result column="qr_url" jdbcType="VARCHAR" property="qrUrl" />
		<result column="is_admin" jdbcType="INTEGER" property="isAdmin" />
		<result column="is_sign" jdbcType="INTEGER" property="isSign" />
		<result column="sign_time" jdbcType="TIMESTAMP" property="signTime" />
	</resultMap>
	<sql id="Base_Column_List">
		cao.id, cao.order_code, cao.user_name, cao.user_phone,
		cao.order_source,
		cao.activity_name, cao.activity_time,
		cao.activity_place,
		cao.create_time, cao.total_amount, cao.pay_way,
		cao.status,
		cao.is_entry,cao.update_time,
		cao.is_deleted,
		cao.is_available,
		cao.create_user_id, cao.update_user, cao.bar_num,
		cao.bar_area,
		cao.refund_state,
		cao.isPlus, cao.out_state, cao.out_code,
		cao.main_type,
		cao.pay_state, cao.pay_time,
		cao.reserve_name,
		cao.reserve_phone,
		cao.community_activity_id,cao.surface_picture,cao.qr_url,cao.is_admin,cao.is_sign,cao.sign_time
	</sql>
	<select id="selectByPrimaryKey" parameterType="java.lang.Long"
		resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from community_activity_order cao
		where cao.id = #{id,jdbcType=BIGINT}
		and
		cao.is_deleted=0
	</select>
	<!-- 通过活动id查找到活动订单并向订单传值 -->
	<select id="updatePrimaryKeyByCommunityActivityId"
		parameterType="java.lang.Long" resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from community_activity_order cao
		where cao.id = #{id,jdbcType=BIGINT}
		and
		cao.is_deleted=0
	</select>
	<!-- 通过用户id查询当前活动订单 -->
	<select id="selectOrderByUserId" parameterType="java.lang.Long"
		resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from community_activity_order cao
		where cao.create_user_id =
		#{createUserId,jdbcType=BIGINT} and cao.is_deleted=0
	</select>
	<!-- 根据订单编码查询订单 -->
	<select id="queryOrderMainByOrderCode" resultMap="BaseResultMap"
		parameterType="java.lang.String">
		select
		<include refid="Base_Column_List" />
		from
		community_activity_order cao
		where cao.order_code =
		#{orderCode,jdbcType=VARCHAR} and cao.is_deleted = 0
		limit 0, 1
	</select>

	<!-- 根据用户id和活动id查询订单信息 -->
	<select id="selectOrderByUserIdAndActivityId" resultMap="BaseResultMap"
		parameterType="com.people2000.mzadmin.model.po.CommunityActivityOrder">
		select
		<include refid="Base_Column_List" />
		from
		community_activity_order cao
		where cao.community_activity_id =
		#{communityActivityId,jdbcType=BIGINT}
		and cao.is_deleted=0
		and
		cao.create_user_id=#{createUserId,jdbcType=BIGINT}
	</select>
	<!-- 获取用户头像集合 -->
	<select id="selectUserList" resultMap="BaseResultMap"
		parameterType="java.lang.Long">
		select
		<include refid="Base_Column_List" />
		from
		community_activity_order cao
		where cao.community_activity_id =
		#{communityActivityId,jdbcType=BIGINT} and
		cao.is_deleted=0
	</select>

	<select id="countOrderMain" resultType="java.lang.Integer"
		parameterType="com.people2000.mzadmin.model.vo.CommunityActivityOrderVo">
		select COUNT(1)
		from
		community_activity_order cao
		<include refid="OderSelectWhereCase" />
	</select>
	<select id="selectAllPage" resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from
		community_activity_order cao
		<include refid="baseWhereCase" />
		order by cao.create_time desc
		limit
		#{startItem,jdbcType=INTEGER},#{itemsPerPage,jdbcType=INTEGER}
	</select>
	<select id="selectAll" resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from
		community_activity_order cao
		<include refid="OderSelectWhereCase" />
		order by cao.create_time desc
		limit
		#{startItem,jdbcType=INTEGER},#{itemsPerPage,jdbcType=INTEGER}
	</select>
	<sql id="OderSelectWhereCase">
		<where>
			and cao.is_deleted=0
			<if test="communityActivityId != null">and cao.community_activity_id =
				#{communityActivityId,jdbcType=BIGINT}
			</if>

		</where>
	</sql>

	<sql id="baseWhereCase">
		<where>
			and cao.is_deleted=0
			<if test="ids != null and ids.size() > 0">
				and cao.id in
				<foreach collection="ids" item="id" open="(" close=")"
					separator=",">
					#{id,jdbcType=BIGINT}
				</foreach>
			</if>
			<if test="orderCode != null and orderCode != '' ">and cao.order_code = #{orderCode,jdbcType=VARCHAR}</if>
			<if test="orderCodes != null and orderCodes.size() > 0">
				and cao.order_code in
				<foreach collection="orderCodes" item="orderCode" open="("
					close=")" separator=",">
					#{orderCode,jdbcType=VARCHAR}
				</foreach>
			</if>
		</where>
	</sql>


	<select id="queryUserIdAndActivityId" resultType="java.lang.Integer"
	  parameterType="com.people2000.mzadmin.model.vo.CommunityActivityOrderVo">
		select
		COUNT(1)
		from
		community_activity_order cao
		where
		cao.is_deleted=0
		and
		cao.community_activity_id =
		#{communityActivityId,jdbcType=BIGINT}
		and
		cao.create_user_id =
		#{createUserId,jdbcType=BIGINT}
	</select>
	<!-- 根据条件查询列表 -->
	<select id="queryOrderMainPage"
		parameterType="com.people2000.mzadmin.model.vo.CommunityActivityOrderVo"
		resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from community_activity_order cao
		<include refid="baseWhereCase"></include>
		order by cao.create_time desc
		limit
		#{startItem,jdbcType=INTEGER},#{itemsPerPage,jdbcType=INTEGER}
	</select>
	
	<!-- 查询签到列表 -->
	<select id="qurySignList"
		parameterType="com.people2000.mzadmin.model.po.CommunityActivityOrder"
		resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from community_activity_order cao
	     where cao.is_deleted=0 and cao.is_sign=1 and cao.community_activity_id=#{communityActivityId,jdbcType=BIGINT}
		
	</select>
	
	<!-- 查询报名列表 -->
	<select id="quryReportList"
		parameterType="com.people2000.mzadmin.model.po.CommunityActivityOrder"
		resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from community_activity_order cao
	     where cao.is_deleted=0 and cao.community_activity_id=#{communityActivityId,jdbcType=BIGINT}
		
	</select>
</mapper>

 

<?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.people2000.mzadmin.business.dao.ext.OfficeBuildingMapperExt">
	<resultMap id="BaseResultMap"
		type="com.people2000.mzadmin.model.po.OfficeBuilding">
		<id column="id" jdbcType="BIGINT" property="id" />
        <result column="code" jdbcType="VARCHAR" property="code" />
		<result column="name" jdbcType="VARCHAR" property="name" />
        <result column="zone_id" jdbcType="BIGINT" property="zoneId" />
		<result column="province_name" jdbcType="VARCHAR" property="provinceName" />
		<result column="city_name" jdbcType="VARCHAR" property="cityName" />
		<result column="region_name" jdbcType="VARCHAR" property="regionName" />
		<result column="province_code" jdbcType="VARCHAR" property="provinceCode" />
		<result column="city_code" jdbcType="VARCHAR" property="cityCode" />
		<result column="region_code" jdbcType="VARCHAR" property="regionCode" />
		<result column="address_detail" jdbcType="VARCHAR" property="addressDetail" />
		<result column="contact_tel" jdbcType="VARCHAR" property="contactTel" />
		<result column="building_area" jdbcType="VARCHAR" property="buildingArea" />
        <result column="rent_style" jdbcType="INTEGER" property="rentStyle" />
        <result column="sale_state" jdbcType="INTEGER" property="saleState" />
		<result column="business_start_time" jdbcType="VARCHAR"
			property="businessStartTime" />
		<result column="business_end_time" jdbcType="VARCHAR" property="businessEndTime" />
		<result column="description" jdbcType="VARCHAR" property="description" />
		<result column="home_url" jdbcType="VARCHAR" property="homeUrl" />
        <result column="url" jdbcType="VARCHAR" property="url" />
        <result column="qr_ext" jdbcType="VARCHAR" property="qrExt" />
		<result column="is_available" jdbcType="INTEGER" property="isAvailable" />
		<result column="is_deleted" jdbcType="INTEGER" property="isDeleted" />
		<result column="create_user" jdbcType="BIGINT" property="createUser" />
		<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
		<result column="update_user" jdbcType="BIGINT" property="updateUser" />
		<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
        <result column="lng" jdbcType="VARCHAR" property="lng" />
        <result column="lat" jdbcType="VARCHAR" property="lat" />
	</resultMap>
	<sql id="Base_Column_List">
		ob.id, ob.code, ob.name, ob.zone_id, ob.province_name, ob.city_name, ob.region_name,
		ob.province_code,
		ob.city_code,
		ob.region_code, ob.address_detail, ob.contact_tel,
		ob.building_area, ob.rent_style, ob.sale_state, ob.business_start_time,
		ob.business_end_time,
		ob.description,
		ob.home_url, ob.url, ob.qr_ext, ob.is_available, ob.is_deleted, ob.create_user, ob.create_time,
		ob.update_user,
		ob.update_time, ob.lng, ob.lat
	</sql>

	<sql id="baseWhereCase">
		<where>
            and ob.zone_id = z.id
            and ob.is_deleted=0
            and  z.is_deleted=0
			<if test="isAvailable != null"> and ob.is_available=#{isAvailable,jdbcType=INTEGER}</if>
			<if test="id != null"> and ob.id = #{id,jdbcType=BIGINT}</if>
            <if test="userId != null"> and z.user_id = #{userId,jdbcType=BIGINT}</if>
            <if test="name != null"> and ob.name like CONCAT('%',#{name,jdbcType=VARCHAR},'%')</if>
            <if test="zoneId != null"> and ob.zone_id = #{zoneId,jdbcType=BIGINT}</if>
			<if test="ids != null and ids.size() > 0">
				and ob.id in
				<foreach collection="ids" item="id" open="(" close=")"
					separator=",">
					#{id,jdbcType=BIGINT}
				</foreach>
			</if>
		</where>
	</sql>

	<!-- 根据条件查询列表 -->
	<select id="queryOfficeBuildingList"
		parameterType="com.people2000.mzadmin.model.vo.OfficeBuildingQueryVo"
		resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from office_building ob,
            zone z
		<include refid="baseWhereCase"></include>
		order by update_time desc
	</select>

	<!-- 根据条件查询列表 -->
	<select id="queryOfficeBuildingPage"
		parameterType="com.people2000.mzadmin.model.vo.OfficeBuildingQueryVo"
		resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from office_building ob,
            zone z
		<include refid="baseWhereCase"></include>
		order by create_time desc
		limit
		#{startItem,jdbcType=INTEGER},#{itemsPerPage,jdbcType=INTEGER}
	</select>

	<!-- 根据条件统计数量 -->
	<select id="countOfficeBuilding" resultType="java.lang.Integer"
		parameterType="com.people2000.mzadmin.model.vo.OfficeBuildingQueryVo">
		select
		count(1)
		from
		office_building ob,
            zone z
		<include refid="baseWhereCase"></include>
	</select>
    
    <!-- 是否存在关联数据 -->
    <select id="existAssociatedData" parameterType="com.people2000.mzadmin.model.vo.OfficeBuildingQueryVo"
        resultType="java.lang.Integer">
        select
            count(1)
        from 
            office_building ob,
            product p
        where 
            p.type in (1, 2) and
            ob.id = p.work_building_id and
            p.is_deleted=0 and
            ob.is_deleted=0 and
            p.is_deleted=0 
            <if test="ids != null and ids.size() > 0">
            and ob.id in
            <foreach collection="ids" item="id" open="(" close=")"
                separator=",">
                #{id,jdbcType=BIGINT}
            </foreach>
            </if>
    </select>
</mapper>
<?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.people2000.mzadmin.business.dao.ext.OrderItemMapperExt">
  <resultMap id="BaseResultMap" type="com.people2000.mzadmin.model.po.OrderItem" extends="com.people2000.mzadmin.business.dao.OrderItemMapper.BaseResultMap">
  </resultMap>
  
  <resultMap id="BaseAndOrderResultMap" type="com.people2000.mzadmin.model.dto.OrderItemDTO" extends="com.people2000.mzadmin.business.dao.OrderItemMapper.BaseResultMap">
  	<result column="order_id" jdbcType="BIGINT" property="orderId" />
  	<result column="order_code" jdbcType="VARCHAR" property="orderCode" />
    <result column="order_date" jdbcType="DATE" property="orderDate" />
    <result column="order_starttime" jdbcType="TIMESTAMP" property="orderStarttime" />
    <result column="order_endtime" jdbcType="TIMESTAMP" property="orderEndtime" />
    <result column="order_hours" jdbcType="DECIMAL" property="orderHours" />
    <result column="order_amount" jdbcType="DECIMAL" property="orderAmount" />
    <result column="total_amount" jdbcType="DECIMAL" property="totalAmount" />
    <result column="payway" jdbcType="INTEGER" property="payway" />
    <result column="account_pay_mode" jdbcType="INTEGER" property="accountPayMode" />
    <result column="user_id" jdbcType="BIGINT" property="userId" />
    <result column="mobile" jdbcType="VARCHAR" property="mobile" />
    <result column="remark" jdbcType="VARCHAR" property="remark" />
    <result column="is_invoiced" jdbcType="BIT" property="isInvoiced" />
    <result column="invoice_id" jdbcType="BIGINT" property="invoiceId" />
    <result column="status" jdbcType="INTEGER" property="status" />
    <result column="pay_state" jdbcType="INTEGER" property="payState" />
    <result column="sources" jdbcType="INTEGER" property="sources" />
    <result column="main_type" jdbcType="INTEGER" property="mainType" />
    <result column="order_type" jdbcType="INTEGER" property="orderType" />
    <result column="work_building_id" jdbcType="BIGINT" property="workBuildingId" />
    <result column="product_id" jdbcType="BIGINT" property="productId" />
    <result column="product_name" jdbcType="VARCHAR" property="productName" />
    <result column="product_type" jdbcType="INTEGER" property="productType" />
    <result column="line_map_url" jdbcType="VARCHAR" property="lineMapUrl" />
    <result column="restaurant_id" jdbcType="BIGINT" property="restaurantId" />
    <result column="identity_card_name" jdbcType="VARCHAR" property="identityCardName" />
    <result column="qualifications" jdbcType="VARCHAR" property="qualifications" />
    <result column="industry_first" jdbcType="VARCHAR" property="industryFirst" />
    <result column="industry_second" jdbcType="VARCHAR" property="industrySecond" />
    <result column="head_pic_url" jdbcType="VARCHAR" property="headPicUrl" />
    <result column="company_name" jdbcType="VARCHAR" property="companyName" />
    <result column="date_code" jdbcType="VARCHAR" property="dateCode" />
    <result column="is_blind" jdbcType="INTEGER" property="isBlind" />
    <result column="discount_amount" jdbcType="DECIMAL" property="discountAmount" />
    <result column="is_display_reservation" jdbcType="BIT" property="isDisplayReservation" />
    <result column="out_code" jdbcType="INTEGER" property="outCode" />
    <result column="out_state" jdbcType="INTEGER" property="outState" />
    <result column="refund_state" jdbcType="INTEGER" property="refundState" />
    <result column="meeting_title" jdbcType="INTEGER" property="meetingTitle" />
    <result column="dispatch_time" jdbcType="TIMESTAMP" property="dispatchTime" />
    <result column="dispatch_zone_id" jdbcType="BIGINT" property="dispatchZoneId" />
  </resultMap>
  
  
  <resultMap id="DetailResultMap" type="com.people2000.mzadmin.model.dto.OrderItemDTO" extends="com.people2000.mzadmin.business.dao.ext.OrderItemMapperExt.BaseAndOrderResultMap">
  </resultMap>
  
  <resultMap id="BaseAndOrderAndUserMap" type="com.people2000.mzadmin.model.dto.OrderItemDTO" extends="com.people2000.mzadmin.business.dao.ext.OrderItemMapperExt.BaseAndOrderResultMap">
  	<result column="user_identity_card_name" jdbcType="VARCHAR" property="userIdentityCardName" />
    <result column="user_company_name" jdbcType="VARCHAR" property="userCompanyName" />
    <result column="user_head_pic_url" jdbcType="VARCHAR" property="userHeadPicUrl" />
  </resultMap>
  
  <sql id="Base_Column_List">
    OI.id, OI.order_code, OI.item_id, OI.item_code, OI.item_name, OI.item_classify, OI.item_type, OI.item_date, 
    OI.item_starttime, OI.item_endtime, OI.item_hours, OI.item_amount, OI.item_remark, OI.item_price, OI.item_num, 
    OI.item_phone, OI.item_total_price, OI.item_about, OI.item_content, OI.item_ask_code, OI.is_available, 
    OI.is_deleted, OI.create_user, OI.create_time, OI.update_user, OI.update_time, OI.discount_amount, 
    OI.item_discount
  </sql>
  
  <sql id="OrderMain_Column_List">
    OM.id order_id, 
    OM.order_date, 
    OM.order_starttime, 
    OM.order_endtime, 
    OM.order_hours, 
    OM.order_amount, 
    OM.total_amount, 
    OM.payway, 
    OM.account_pay_mode, 
    OM.user_id, 
    OM.mobile, 
    OM.remark, 
    OM.is_invoiced, 
    OM.invoice_id,
    OM.status, 
    OM.pay_state, 
    OM.sources, 
    OM.is_available, 
    OM.is_deleted, 
    OM.create_user, 
    OM.create_time, 
    OM.update_user, 
    OM.update_time, 
    OM.main_type, 
    OM.order_type, 
    OM.work_building_id, 
    OM.office_name, 
    OM.province_name, 
    OM.city_name, 
    OM.region_name, 
    OM.address_detail, 
    OM.business_start_time, 
    OM.business_end_time, 
    OM.product_id, 
    OM.product_name, 
    OM.product_type, 
    OM.line_map_url, 
    OM.restaurant_id, 
    OM.identity_card_name, 
    OM.qualifications, 
    OM.industry_first, 
    OM.industry_second, 
    OM.head_pic_url, 
    OM.company_name, 
    OM.date_code, 
    OM.reservation_num, 
    OM.is_blind, 
    OM.discount_amount, 
    OM.is_display_reservation, 
    OM.out_code, 
    OM.out_state,
    OM.refund_state,
    OM.meeting_title,
    OM.dispatch_time,
    OM.dispatch_zone_id
  </sql>
  
  <sql id="User_Column_List">
  	U.company_name user_company_name,
  	U.identity_card_name user_identity_card_name,
  	U.head_pic_url user_head_pic_url
  </sql>
  
  <sql id="IndustryColumn">
  	I.industry_name item_about_desc
  </sql>
  
  <sql id="OrderItemDetail_Column_List">
  	<include refid="Base_Column_List"></include>,
  	<include refid="OrderMain_Column_List"></include>
  </sql>
  
  <sql id="OrderItemAndOrderAndUser_Column_List">
    <include refid="Base_Column_List"></include>,
  	<include refid="OrderMain_Column_List"></include>,
  	<include refid="User_Column_List"></include>
  </sql>
  
  <sql id="baseWhereCase">
          and OI.is_deleted=0
          <if test="ids != null and ids.size() > 0">
          and OI.id in 
          	<foreach collection="ids" item="id" open="(" close=")" separator=",">
          		#{id,jdbcType=BIGINT}
          	</foreach>
          </if>
          <if test="orderCode != null and orderCode != '' ">and OI.order_code = #{orderCode,jdbcType=VARCHAR}</if>
          <if test="orderCodes != null and orderCodes.size() > 0">
	          and OI.order_code in 
	          	<foreach collection="orderCodes" item="orderCode" open="(" close=")" separator=",">
	          		#{orderCode,jdbcType=VARCHAR}
	          	</foreach>
          </if>
          <if test="itemCode != null and itemCode != '' ">and OI.item_code = #{itemCode,jdbcType=VARCHAR}</if>
          <if test="itemId != null">and OI.item_id = #{itemId,jdbcType=BIGINT}</if>
          <if test="itemType != null ">and OI.item_type = #{itemType,jdbcType=INTEGER}</if>
          <if test="itemClassify != null">and OI.item_classify = #{itemClassify,jdbcType=INTEGER}</if>
          <if test="itemClassifys != null">
            and OI.item_classify in 
            <foreach collection="itemClassifys" item="itemClassify" open="(" close=")" separator=",">
                #{itemClassify,jdbcType=INTEGER}
            </foreach>
          </if>
  </sql>
  
  <sql id="OrderMainWhereCase">
  		  and OM.is_deleted=0
          <if test="orderDate != null and orderDate != '' ">and OM.order_date = #{orderDate,jdbcType=DATE}</if>
          <if test="mobile != null and mobile != '' ">and OM.mobile = #{mobile,jdbcType=VARCHAR}</if>
          <if test="status != null and status != '' ">and OM.status = #{status,jdbcType=INTEGER}</if>
          <if test="orderType != null">and OM.order_type = #{orderType,jdbcType=INTEGER}</if>
          <if test="userId != null  ">and OM.user_id = #{userId,jdbcType=BIGINT}</if>
          <if test="orderStartDate != null and orderStartDate != '' ">and DATE_FORMAT(OM.order_date,'%Y-%m-%d') <![CDATA[>=]]> DATE_FORMAT(#{orderStartDate,jdbcType=DATE},'%Y-%m-%d')</if>
          <if test="orderEndDate != null and orderEndDate != '' ">and DATE_FORMAT(OM.order_date,'%Y-%m-%d')  <![CDATA[<=]]> DATE_FORMAT(#{orderEndDate,jdbcType=DATE},'%Y-%m-%d')</if>
          <if test="orderStartTime != null and orderStartTime != '' ">and DATE_FORMAT(OM.order_starttime,'%H:%i:%s') <![CDATA[>=]]> DATE_FORMAT(#{orderStartTime,jdbcType=DATE},'%H:%i:%s')</if>
          <if test="orderEndTime != null and orderEndTime != '' ">and DATE_FORMAT(OM.order_endtime,'%H:%i:%s')  <![CDATA[<=]]> DATE_FORMAT(#{orderEndTime,jdbcType=DATE},'%H:%i:%s')</if>
          <if test="year != null and year != '' ">and DATE_FORMAT(OM.create_time,'%Y') =#{year,jdbcType=VARCHAR}</if> 
          <if test="isDisplayReservation != null">and OM.is_display_reservation = #{isDisplayReservation,jdbcType=BIT}</if>    
      	  <if test="orderStatus != null and orderStatus.size() > 0">
          	and OM.status in 
          	<foreach collection="orderStatus" item="status" open="(" close=")" separator=",">
          		#{status,jdbcType=INTEGER}
          	</foreach>
          </if>
  </sql>
  
  <sql id="OrderItemDetailWhereCase">
          <include refid="baseWhereCase"></include>
          <include refid="OrderMainWhereCase"></include>
  </sql>
  
  <!-- 根据条件查询列表-->
  <select id="queryOrderItemList" parameterType="com.people2000.mzadmin.model.dto.OrderItemQueryDTO"
      resultMap="BaseResultMap">
      select
      <include refid="Base_Column_List" />
      from order_item OI
      <where><include refid="baseWhereCase"></include></where>
      order by OI.update_time desc
  </select>
  
  <!-- 根据条件查询列表-->
  <select id="queryOrderItemPage" parameterType="com.people2000.mzadmin.model.dto.OrderItemQueryDTO"
      resultMap="BaseResultMap">
      select
      <include refid="Base_Column_List" />
      from order_item OI
      <where><include refid="baseWhereCase"></include></where>
      order by OI.update_time desc
      limit
      #{startItem,jdbcType=INTEGER},#{itemsPerPage,jdbcType=INTEGER}
  </select>

  <!-- 根据条件统计数量-->
  <select id="countOrderItem" resultType="java.lang.Integer"
      parameterType="com.people2000.mzadmin.model.dto.OrderItemQueryDTO">
      select
      count(1)
      from
      order_item OI
      <where><include refid="baseWhereCase"></include></where>
  </select>
  
  <!-- 根据订单编号查询列表-->
  <select id="queryOrderItemListByOrderCode" parameterType="com.people2000.mzadmin.model.dto.OrderItemQueryDTO"
      resultMap="BaseResultMap">
      select
      <include refid="Base_Column_List" />
      from order_item OI
      where OI.order_code = #{orderCode,jdbcType=VARCHAR} and is_deleted = 0
  </select>
  
  
  <!-- 根据条件查询列表-->
  <select id="queryOrderItemDetailList" parameterType="com.people2000.mzadmin.model.dto.OrderItemQueryDTO"
      resultMap="DetailResultMap">
      select
      <include refid="OrderItemDetail_Column_List" />
      from order_item OI
      left join order_main OM on OM.order_code = OI.order_code
      <where><include refid="OrderItemDetailWhereCase"></include></where>
      order by OI.update_time desc
  </select>
  
  <!-- 根据条件查询列表-->
  <select id="queryOrderItemDetailPage" parameterType="com.people2000.mzadmin.model.dto.OrderItemQueryDTO"
      resultMap="DetailResultMap">
      select
      <include refid="OrderItemDetail_Column_List" />
      from order_item OI
      left join order_main OM on OM.order_code = OI.order_code
      <where><include refid="OrderItemDetailWhereCase"></include></where>
      order by OI.create_time desc
      limit
      #{startItem,jdbcType=INTEGER},#{itemsPerPage,jdbcType=INTEGER}
  </select>

  <!-- 根据条件统计数量-->
  <select id="countOrderItemDetail" resultType="java.lang.Integer"
      parameterType="com.people2000.mzadmin.model.dto.OrderItemQueryDTO">
      select
      count(1)
      from
      order_item OI
      left join order_main OM on OM.order_code = OI.order_code
      <where><include refid="OrderItemDetailWhereCase"></include></where>
  </select>
  
  
  <!-- 根据条件查询列表-->
  <select id="queryOrderItemAndOrderAndUserList" parameterType="com.people2000.mzadmin.model.dto.OrderItemQueryDTO"
      resultMap="BaseAndOrderAndUserMap">
      select
      <include refid="OrderItemAndOrderAndUser_Column_List" />
      from order_item OI
      left join order_main OM on OM.order_code = OI.order_code
      left join u_user U ON U.id = OM.user_id
      <where><include refid="OrderItemDetailWhereCase"></include></where>
      order by OI.update_time desc
  </select>
  
  <!-- 根据条件查询列表-->
  <select id="queryOrderItemAndOrderAndUserPage" parameterType="com.people2000.mzadmin.model.dto.OrderItemQueryDTO"
      resultMap="BaseAndOrderAndUserMap">
      select
      <include refid="OrderItemAndOrderAndUser_Column_List" />
      from order_item OI
      left join order_main OM on OM.order_code = OI.order_code
      left join u_user U ON U.id = OM.user_id
      <where><include refid="OrderItemDetailWhereCase"></include></where>
      order by OI.update_time desc
      limit
      #{startItem,jdbcType=INTEGER},#{itemsPerPage,jdbcType=INTEGER}
  </select>
  
  
</mapper>
<?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.people2000.mzadmin.business.dao.ext.OrderJoinPersonMapperExt">
  <resultMap id="BaseResultMap" type="com.people2000.mzadmin.model.po.OrderJoinPerson" extends="com.people2000.mzadmin.business.dao.OrderJoinPersonMapper.BaseResultMap">
  </resultMap>
  <resultMap id="DetailResultMap" type="com.people2000.mzadmin.model.vo.OrderJoinPersonVo" extends="com.people2000.mzadmin.business.dao.ext.OrderJoinPersonMapperExt.BaseResultMap">
    <result column="product_name" jdbcType="VARCHAR" property="productName" />
    <result column="order_date" jdbcType="TIMESTAMP" property="orderDate" />
    <result column="order_starttime" jdbcType="TIMESTAMP" property="orderStarttime" />
    <result column="order_endtime" jdbcType="TIMESTAMP" property="orderEndtime" />
    <result column="mobile" jdbcType="VARCHAR" property="mobile" />
     <result column="identity_card_name" jdbcType="VARCHAR" property="identityCardName" />
  </resultMap>
  
  <sql id="Base_Column_List">
    id, order_code, order_item_id, person_id, person_name, person_mobile, arrive_time, 
    is_arrived, person_type, remark, is_available, is_deleted, create_user, 
    create_time, update_user, update_time
  </sql>
  
  <sql id="baseWhereCase">
      <where>
          and is_deleted=0
          <if test="ids != null and ids.size() > 0">
          and id in 
          	<foreach collection="ids" item="id" open="(" close=")" separator=",">
          		#{id,jdbcType=BIGINT}
          	</foreach>
          </if>
          <if test="orderCode != null and orderCode != '' ">
          and order_code = #{orderCode,jdbcType=VARCHAR}
          </if>
          <if test="personName != null and personName != '' ">
          and person_name like CONCAT('%', #{personName,jdbcType=VARCHAR}, '%')
          </if>
          <if test="personMobile != null and personMobile != ''">
          and person_mobile = #{personMobile,jdbcType=VARCHAR}
          </if>
          <if test="personType != null">
          and person_type = #{personType,jdbcType=VARCHAR}
          </if>
      </where>
  </sql>
  
  <sql id="Detail_Column_List">
    OJP.id,
	OJP.order_code,
	OJP.order_item_id,
	OJP.person_name,
	OJP.person_mobile,
	OJP.arrive_time,
	OJP.is_arrived,
	OJP.remark,
	OJP.is_available,
	OJP.is_deleted,
	OJP.create_user,
	OJP.create_time,
	OJP.update_user,
	OJP.update_time,
    OM.product_name,
    OM.order_date,
    OM.order_starttime,
    OM.order_endtime,
    OM.mobile,
    U.identity_card_name
  </sql>
  
  <sql id="DetailWhereCase">
      <where>
          and OJP.is_deleted=0
          <if test="ids != null and ids.size() > 0">
          and OJP.id in 
          	<foreach collection="ids" item="id" open="(" close=")" separator=",">
          		#{id,jdbcType=BIGINT}
          	</foreach>
          </if>
          <if test="orderCode != null and orderCode != '' ">
          and OJP.order_code = #{orderCode,jdbcType=VARCHAR}
          </if>
          <if test="personName != null and personName != '' ">
          and OJP.person_name like CONCAT('%', #{personName,jdbcType=VARCHAR}, '%')
          </if>
          <if test="personMobile != null and personMobile != ''">
          and OJP.person_mobile = #{personMobile,jdbcType=VARCHAR}
          </if>
          <if test="personType != null">
          and OJP.person_type = #{personType,jdbcType=VARCHAR}
          </if>
          <if test="orderDate != null and orderDate != '' ">and OM.order_date = #{orderDate,jdbcType=DATE}</if>
          <if test="orderStatus != null ">and OM.status = #{orderStatus,jdbcType=INTEGER}</if>
          <if test="orderStatusList != null and orderStatusList.size() > 0">
          	and OM.status in 
          	<foreach collection="orderStatusList" item="status" open="(" close=")" separator=",">
          		#{status,jdbcType=INTEGER}
          	</foreach>
          </if>
      </where>
  </sql>
  
  <!-- 根据条件查询列表-->
  <select id="queryOrderJoinPersonList" parameterType="com.people2000.mzadmin.model.vo.OrderJoinPersonQueryVo"
      resultMap="BaseResultMap">
      select
      <include refid="Base_Column_List" />
      from order_join_person
      <include refid="baseWhereCase"></include>
      order by create_time desc
  </select>
  
  <!-- 根据条件查询列表-->
  <select id="queryOrderJoinPersonPage" parameterType="com.people2000.mzadmin.model.vo.OrderJoinPersonQueryVo"
      resultMap="BaseResultMap">
      select
      <include refid="Base_Column_List" />
      from order_join_person
      <include refid="baseWhereCase"></include>
      order by create_time desc
      limit
      #{startItem,jdbcType=INTEGER},#{itemsPerPage,jdbcType=INTEGER}
  </select>

  <!-- 根据条件统计数量-->
  <select id="countOrderJoinPerson" resultType="java.lang.Integer"
      parameterType="com.people2000.mzadmin.model.vo.OrderJoinPersonQueryVo">
      select
      count(1)
      from
      order_join_person
      <include refid="baseWhereCase"></include>
  </select>
  
  <!-- 根据条件查询列表-->
  <select id="queryOrderJoinPersonDetailPage" parameterType="com.people2000.mzadmin.model.vo.OrderJoinPersonQueryVo"
      resultMap="DetailResultMap">
      select
      <include refid="Detail_Column_List" />
      from order_join_person OJP
      left join order_main OM on OM.order_code = OJP.order_code
      left join u_user U ON U.id = OM.user_id
      <include refid="DetailWhereCase"></include>
      order by OJP.create_time desc
      limit
      #{startItem,jdbcType=INTEGER},#{itemsPerPage,jdbcType=INTEGER}
  </select>
  
  <select id="countOrderJoinPersonDetail" parameterType="com.people2000.mzadmin.model.vo.OrderJoinPersonQueryVo"
      resultType="java.lang.Integer">
      select
      count(1)
      from order_join_person OJP
      left join order_main OM on OM.order_code = OJP.order_code
      <include refid="DetailWhereCase"></include>
  </select>
  
</mapper>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BACKWASH2038

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值